UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

1 lines • 79 kB
{"version":3,"sources":["../../src/a2a/a2a-agent.ts"],"names":["convertMessages","content","MessageList","MastraA2AError","randomUUID","RequestContext"],"mappings":";;;;;;;AAyGA,IAAM,WAAA,GAAc;AAAA,EAClB,WAAA,EAAa,MAAA;AAAA,EACb,YAAA,EAAc,MAAA;AAAA,EACd,WAAA,EAAa;AACf,CAAA;AAEA,SAAS,kBAAA,CAAmB,OAAe,KAAA,EAA6D;AACtG,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH,KAAA;AAAA,IACA,IAAA,EAAM;AAAA,GACR;AACF;AAEA,SAAS,OAAO,MAAA,EAA0F;AACxG,EAAA,OAAO,OAAO,WAAW,QAAA,IAAY,MAAA,KAAW,QAAQ,QAAA,IAAY,MAAA,IAAU,IAAA,IAAQ,MAAA,IAAU,MAAA,IAAU,MAAA;AAC5G;AAEA,SAAS,UAAU,MAAA,EAA6F;AAC9G,EAAA,OAAO,OAAO,MAAA,KAAW,QAAA,IAAY,WAAW,IAAA,IAAQ,WAAA,IAAe,UAAU,OAAA,IAAW,MAAA;AAC9F;AAEA,SAAS,oBAAoB,KAAA,EAA4C;AACvE,EAAA,OAAO,UAAU,WAAA,IAAe,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,cAAc,KAAA,KAAU,UAAA;AAC1F;AAEA,SAAS,eAAe,MAAA,EAAuD;AAC7E,EAAA,MAAM,gBAAA,GAAmB,MAAA,CAAO,OAAA,CAAQ,OAAA,EAAS,MAAM,CAAA;AACvD,EAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,KAAA,CAAM,YAAY,CAAA;AAEjD,EAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,KAAA,KAAU,MAAA,EAAW;AACvC,IAAA,OAAO,EAAE,MAAM,gBAAA,EAAiB;AAAA,EAClC;AAEA,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,gBAAA,CAAiB,KAAA,CAAM,CAAA,EAAG,MAAM,KAAK,CAAA;AAAA,IACjD,IAAA,EAAM,iBAAiB,KAAA,CAAM,KAAA,CAAM,QAAQ,KAAA,CAAM,CAAC,EAAE,MAAM;AAAA,GAC5D;AACF;AAEA,SAAS,gBAAgB,UAAA,EAAqE;AAC5F,EAAA,MAAM,YAAA,GAAe,WAAW,IAAA,EAAK;AAErC,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,OAAO,EAAC;AAAA,EACV;AAEA,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,OAAO,CAAA;AACxC,EAAA,MAAM,YAAY,KAAA,CAAM,MAAA,CAAO,CAAA,IAAA,KAAQ,IAAA,CAAK,WAAW,OAAO,CAAC,CAAA,CAAE,GAAA,CAAI,UAAQ,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA,CAAE,WAAW,CAAA;AACtG,EAAA,MAAM,UAAU,SAAA,CAAU,MAAA,GAAS,IAAI,SAAA,CAAU,IAAA,CAAK,IAAI,CAAA,GAAI,YAAA;AAE9D,EAAA,IAAI,YAAY,QAAA,EAAU;AACxB,IAAA,OAAO,EAAE,MAAM,IAAA,EAAK;AAAA,EACtB;AAEA,EAAA,IAAI,MAAA;AAEJ,EAAA,IAAI;AACF,IAAA,MAAA,GAAS,IAAA,CAAK,MAAM,OAAO,CAAA;AAAA,EAC7B,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,EAAC;AAAA,EACV;AAEA,EAAA,IAAI,QAAA,IAAY,MAAA,IAAU,MAAA,CAAO,MAAA,EAAQ;AACvC,IAAA,OAAO,EAAE,KAAA,EAAO,MAAA,CAAO,MAAA,EAAO;AAAA,EAChC;AAEA,EAAA,OAAO,EAAE,OAAO,MAAA,EAA6B;AAC/C;AAEA,SAAS,iBAAiB,KAAA,EAA8D;AACtF,EAAA,OAAA,CAAQ,KAAA,IAAS,EAAC,EACf,MAAA,CAAO,CAAC,IAAA,KAAiD,IAAA,CAAK,SAAS,MAAA,IAAU,OAAO,KAAK,IAAA,KAAS,QAAQ,EAC9G,GAAA,CAAI,CAAA,IAAA,KAAQ,KAAK,IAAI,CAAA,CACrB,KAAK,IAAI,CAAA;AACd;AAEA,SAAS,gBAAgB,IAAA,EAAoB;AAC3C,EAAA,MAAM,YAAA,GAAA,CAAgB,IAAA,CAAK,SAAA,IAAa,EAAC,EACtC,OAAA;AAAA,IACC,CAAA,QAAA,KACE,QAAA,CAAS,KAAA,EAAO,OAAA,CAAQ,CAAA,IAAA,KAAQ;AAC9B,MAAA,IAAI,IAAA,CAAK,SAAS,MAAA,IAAU,MAAA,IAAU,QAAQ,OAAO,IAAA,CAAK,SAAS,QAAA,EAAU;AAC3E,QAAA,OAAO,CAAC,KAAK,IAAI,CAAA;AAAA,MACnB;AAEA,MAAA,OAAO,EAAC;AAAA,IACV,CAAC,KAAK;AAAC,GACX,CACC,KAAK,IAAI,CAAA;AACZ,EAAA,MAAM,UAAA,GAAa,KAAK,MAAA,CAAO,OAAA,GAAU,mBAAmB,IAAA,CAAK,MAAA,CAAO,OAAO,CAAA,GAAI,EAAA;AACnF,EAAA,OAAO,CAAC,YAAA,EAAc,UAAU,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA,CAAE,IAAA,EAAK;AACpE;AAEA,SAAS,wBAAwB,IAAA,EAAoB;AACnD,EAAA,OAAA,CAAQ,IAAA,CAAK,SAAA,IAAa,EAAC,EACxB,OAAA;AAAA,IACC,CAAA,QAAA,KACE,QAAA,CAAS,KAAA,EAAO,OAAA,CAAQ,CAAA,IAAA,KAAQ;AAC9B,MAAA,IAAI,IAAA,CAAK,SAAS,MAAA,IAAU,MAAA,IAAU,QAAQ,OAAO,IAAA,CAAK,SAAS,QAAA,EAAU;AAC3E,QAAA,OAAO,CAAC,KAAK,IAAI,CAAA;AAAA,MACnB;AAEA,MAAA,OAAO,EAAC;AAAA,IACV,CAAC,KAAK;AAAC,GACX,CACC,KAAK,EAAE,CAAA;AACZ;AAEA,SAAS,mBAAmB,OAAA,EAA0B;AACpD,EAAA,OAAO,gBAAA,CAAiB,OAAA,CAAQ,KAAsD,CAAA,CAAE,IAAA,EAAK;AAC/F;AAEA,SAAS,gBAAA,CAAyB,UAA4B,OAAA,EAAqD;AACjH,EAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,IAAA,OAAO,QAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,GAAYA,iCAAA,CAAgB,QAAQ,CAAA,CAAE,GAAG,YAAY,CAAA;AAC3D,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,SAAS,YAAA,EAAc;AACzB,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA;AAAA,EAAkB,OAAA,CAAQ,YAAY,CAAA,CAAE,CAAA;AAAA,EACrD;AAEA,EAAA,MAAM,kBAAkB,OAAA,EAAS,OAAA;AACjC,EAAA,IAAI,iBAAiB,MAAA,EAAQ;AAC3B,IAAA,KAAA,CAAM,IAAA;AAAA,MACJ,YAAA,GACE,eAAA,CACG,GAAA,CAAI,CAAA,OAAA,KAAW;AACd,QAAA,MAAM,IAAA,GAAO,QAAQ,IAAA,IAAQ,SAAA;AAC7B,QAAA,MAAM,OAAA,GAAU,OAAO,OAAA,CAAQ,OAAA,KAAY,QAAA,GAAW,QAAQ,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACtG,QAAA,OAAO,CAAA,EAAG,IAAI,CAAA,EAAA,EAAK,OAAO,CAAA,CAAA;AAAA,MAC5B,CAAC,CAAA,CACA,IAAA,CAAK,IAAI;AAAA,KAChB;AAAA,EACF;AAEA,EAAA,KAAA,MAAW,WAAW,SAAA,EAAW;AAC/B,IAAA,IAAI,OAAA,CAAQ,SAAS,QAAA,EAAU;AAC7B,MAAA,MAAMC,QAAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,OAAA,CAAQ,OAAO,IACzC,OAAA,CAAQ,OAAA,CACL,GAAA,CAAI,CAAC,IAAA,KAA0C;AAC9C,QAAA,IAAI,MAAA,IAAU,IAAA,IAAQ,IAAA,CAAK,IAAA,KAAS,MAAA,EAAQ;AAC1C,UAAA,OAAO,IAAA,CAAK,IAAA;AAAA,QACd;AAEA,QAAA,OAAO,EAAA;AAAA,MACT,CAAC,CAAA,CACA,MAAA,CAAO,OAAO,CAAA,CACd,IAAA,CAAK,IAAI,CAAA,GACZ,OAAO,OAAA,CAAQ,OAAA,KAAY,QAAA,GACzB,QAAQ,OAAA,GACR,EAAA;AAEN,MAAA,IAAIA,QAAAA,EAAS;AACX,QAAA,KAAA,CAAM,IAAA,CAAK,CAAA,QAAA,EAAWA,QAAO,CAAA,CAAE,CAAA;AAAA,MACjC;AACA,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,OAAA,CAAQ,OAAO,IACzC,OAAA,CAAQ,OAAA,CACL,GAAA,CAAI,CAAC,IAAA,KAA6D;AACjE,MAAA,IAAI,MAAA,IAAU,IAAA,IAAQ,IAAA,CAAK,IAAA,KAAS,MAAA,EAAQ;AAC1C,QAAA,OAAO,IAAA,CAAK,IAAA;AAAA,MACd;AAEA,MAAA,IAAI,MAAA,IAAU,IAAA,IAAQ,IAAA,CAAK,IAAA,KAAS,MAAA,EAAQ;AAC1C,QAAA,OAAO,CAAA,MAAA,EAAS,IAAA,CAAK,QAAA,IAAY,YAAY,CAAA,CAAA,CAAA;AAAA,MAC/C;AAEA,MAAA,OAAO,EAAA;AAAA,IACT,CAAC,CAAA,CACA,MAAA,CAAO,OAAO,CAAA,CACd,IAAA,CAAK,IAAI,CAAA,GACZ,OAAO,OAAA,CAAQ,OAAA,KAAY,QAAA,GACzB,QAAQ,OAAA,GACR,EAAA;AAEN,IAAA,KAAA,CAAM,KAAK,CAAA,EAAG,OAAA,CAAQ,IAAI,CAAA,EAAA,EAAK,OAAO,CAAA,CAAE,CAAA;AAAA,EAC1C;AAEA,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA,CAAE,IAAA,EAAK;AACjC;AAEA,SAAS,mBAAmB,UAAA,EAA6B;AACvD,EAAA,IAAI,OAAO,eAAe,QAAA,EAAU;AAClC,IAAA,OAAO,UAAA;AAAA,EACT;AAEA,EAAA,IAAI,cAAc,IAAA,EAAM;AACtB,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,OAAO,IAAA,CAAK,SAAA,CAAU,UAAA,EAAY,IAAA,EAAM,CAAC,CAAA;AAC3C;AAEA,SAAS,kBAAA,GAA6B;AACpC,EAAA,OAAO,KAAK,SAAA,CAAU;AAAA,IACpB,IAAA,EAAM,QAAA;AAAA,IACN,oBAAA,EAAsB,IAAA;AAAA,IACtB,WAAA,EAAa;AAAA,GACd,CAAA;AACH;AAEA,SAAS,oBAAoB,YAAA,EAAiD;AAC5E,EAAA,KAAA,MAAW,aAAa,YAAA,EAAc;AACpC,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,OAAO,SAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,OAAO,QAAA;AACT;AAEA,SAAS,kBAA0B,OAAA,EAA6C;AAC9E,EAAA,MAAM,QAAA,GAAW,OAAO,OAAA,EAAS,MAAA,EAAQ,MAAA,KAAW,QAAA,GAAW,OAAA,CAAQ,MAAA,CAAO,MAAA,GAAS,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,EAAA;AAEhH,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA,UAAA,EAAY,SAAS,MAAA,EAAQ;AAAA,GAC/B;AACF;AAEA,SAAS,sBAAA,CACP,IAAA,EACA,UAAA,GAAyD,EAAC,EACvC;AACnB,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,EAAC;AAAA,EACV;AAEA,EAAA,OAAO,IAAIC,6BAAA,CAAY,UAAU,CAAA,CAC9B,GAAA;AAAA,IACC;AAAA,MACE,IAAA,EAAM,WAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA;AAAA,GACF,CACC,GAAA,CAAI,QAAA,CAAS,EAAA,EAAG;AACrB;AAEA,SAAS,oBAAA,CAAqB;AAAA,EAC5B,KAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAS2B;AACzB,EAAA,MAAM,mBAAmB,sBAAA,CAAuB,IAAA,EAAM,EAAE,QAAA,EAAU,YAAY,CAAA;AAE9E,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,KAAA,EAAO,WAAA;AAAA,IACP,OAAO,EAAC;AAAA,IACR,YAAA,EAAc,gBAAgB,WAAA,GAAc,MAAA;AAAA,IAC5C,UAAU,EAAC;AAAA,IACX,gBAAA,EAAkB,MAAA;AAAA,IAClB,SAAS,EAAC;AAAA,IACV,WAAW,EAAC;AAAA,IACZ,aAAA,EAAe,MAAA;AAAA,IACf,WAAW,EAAC;AAAA,IACZ,aAAa,EAAC;AAAA,IACd,SAAS,EAAC;AAAA,IACV,OAAO,EAAC;AAAA,IACR,QAAA,EAAU;AAAA,MACR,EAAA,EAAI,OAAA,EAAS,SAAA,IAAa,IAAA,EAAM,EAAA,IAAM,KAAA;AAAA,MACtC,SAAA,sBAAe,IAAA,EAAK;AAAA,MACpB,OAAA,EAAS,kBAAA;AAAA,MACT,UAAU,EAAC;AAAA,MACX,YAAY,EAAC;AAAA,MACb,UAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAY,WAAA;AAAA,IACZ,MAAA,EAAQ,MAAA;AAAA,IACR,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,MAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,MAAA,EAAQ,MAAA;AAAA,IACR,KAAA;AAAA,IACA,cAAA,EAAgB,aAAA;AAAA,IAChB,YAAA;AAAA,IACA,QAAA,EAAU,gBAAA;AAAA,IACV,oBAAoB,EAAC;AAAA,IACrB,IAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAEA,SAAS,gBAAgB,MAAA,EAAiC;AACxD,EAAA,IAAI,CAAC,MAAA,IAAU,OAAO,MAAA,KAAW,QAAA,EAAU;AACzC,IAAA,MAAMC,gCAAA,CAAe,qBAAqB,gDAAgD,CAAA;AAAA,EAC5F;AAEA,EAAA,IAAI,YAAY,MAAA,IAAU,MAAA,CAAO,UAAU,OAAO,MAAA,CAAO,WAAW,QAAA,EAAU;AAC5E,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAEA,EAAA,OAAO,MAAA;AACT;AAEA,SAAS,cAAA,GAAiC;AACxC,EAAA,IAAI,OAAA;AACJ,EAAA,IAAI,MAAA;AAEJ,EAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAW,CAAC,KAAK,GAAA,KAAQ;AAC3C,IAAA,OAAA,GAAU,GAAA;AACV,IAAA,MAAA,GAAS,GAAA;AAAA,EACX,CAAC,CAAA;AAED,EAAA,OAAO,EAAE,OAAA,EAAS,OAAA,EAAS,MAAA,EAAO;AACpC;AAEA,eAAe,mBAAA,CAAoB,UAAoB,SAAA,EAAmB;AACxE,EAAA,IAAI,CAAC,SAAS,IAAA,EAAM;AAClB,IAAA,MAAMA,gCAAA,CAAe,oBAAA,CAAqB,CAAA,8CAAA,EAAiD,SAAS,CAAA,CAAA,CAAG,CAAA;AAAA,EACzG;AAEA,EAAA,OAAO,QAAA,CAAS,IAAA;AAClB;AAEO,IAAM,WAAN,MAAmC;AAAA,EAC/B,EAAA;AAAA,EACA,IAAA;AAAA,EAEA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EAET,gBAAA;AAAA,EACS,SAAA,uBAAgB,GAAA,EAA8B;AAAA,EACvD,OAAA;AAAA,EACA,OAAA;AAAA,EAEA,YAAY,OAAA,EAA0B;AACpC,IAAA,IAAA,CAAK,IAAA,GAAO,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,OAAO,EAAE,CAAA;AACzC,IAAA,IAAA,CAAK,YAAA,GAAe,OAAA,CAAQ,WAAA,IAAe,CAAA,oBAAA,EAAuB,KAAK,IAAI,CAAA,CAAA;AAC3E,IAAA,IAAA,CAAK,QAAA,GAAW,OAAA,CAAQ,OAAA,IAAW,EAAC;AACpC,IAAA,IAAA,CAAK,MAAA,GAAS,QAAQ,KAAA,IAAS,KAAA;AAC/B,IAAA,IAAA,CAAK,QAAA,GAAW,QAAQ,OAAA,IAAW,CAAA;AACnC,IAAA,IAAA,CAAK,UAAA,GAAa,QAAQ,SAAA,IAAa,GAAA;AACvC,IAAA,IAAA,CAAK,aAAA,GAAgB,QAAQ,YAAA,IAAgB,GAAA;AAC7C,IAAA,IAAA,CAAK,eAAe,OAAA,CAAQ,WAAA;AAC5B,IAAA,IAAA,CAAK,eAAe,OAAA,CAAQ,WAAA;AAC5B,IAAA,IAAA,CAAK,aAAa,OAAA,CAAQ,SAAA;AAC1B,IAAA,IAAA,CAAK,mBAAmB,OAAA,CAAQ,eAAA;AAChC,IAAA,IAAA,CAAK,EAAA,GAAK,OAAA,CAAQ,EAAA,IAAM,CAAA,IAAA,EAAOC,mBAAY,CAAA,CAAA;AAC3C,IAAA,IAAA,CAAK,IAAA,GAAO,OAAA,CAAQ,IAAA,IAAQ,OAAA,CAAQ,WAAA,IAAe,WAAA;AAAA,EACrD;AAAA,EAEA,MAAM,YAAA,CAAa,EAAE,eAAe,KAAA,EAAM,GAAgC,EAAC,EAAuB;AAChG,IAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,aAAA,CAAc,EAAE,YAAA,EAAc,CAAA,EAAG,IAAA;AAAA,EACtD;AAAA,EAEA,cAAA,GAAyB;AACvB,IAAA,OAAO,IAAA,CAAK,YAAA;AAAA,EACd;AAAA,EAEA,QAAA,GAAiC,aAC9B,EAAE,oBAAA,EAAsB,IAAA,EAAK,CAAA;AAAA,EAEhC,YAAA,GAAwB;AACtB,IAAA,OAAO,OAAA,CAAQ,KAAK,OAAO,CAAA;AAAA,EAC7B;AAAA,EAEA,YAAY,MAAA,EAA6C;AACvD,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEA,MAAM,UAAU,EAAE,cAAA,GAAiB,IAAIC,gCAAA,EAAe,EAAE,GAAyC,EAAC,EAAG;AACnG,IAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AACjB,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,IAAI,OAAO,IAAA,CAAK,OAAA,KAAY,UAAA,EAAY;AACtC,MAAA,OAAO,IAAA,CAAK,OAAA;AAAA,IACd;AAEA,IAAA,OAAO,MAAM,KAAK,OAAA,CAAQ;AAAA,MACxB,cAAA;AAAA,MACA,QAAQ,IAAA,CAAK;AAAA,KACd,CAAA;AAAA,EACH;AAAA,EAEA,kBAA+C,YAAY,EAAA;AAAA,EAE3D,iBAAiB,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEA,MAAM,QAAA,CACJ,QAAA,EACA,OAAA,EACiC;AACjC,IAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,aAAA,EAAc;AAC3C,IAAA,MAAM,KAAA,GAAQ,OAAA,EAAS,KAAA,IAASD,iBAAA,EAAW;AAC3C,IAAA,MAAM,MAAA,GAAS,gBAAA,CAAiB,QAAA,EAAU,OAAO,CAAA;AACjD,IAAA,MAAM,UAAA,GAAa,kBAAkB,OAAO,CAAA;AAE5C,IAAA,OAAO,KAAK,eAAA,CAAgB;AAAA,MAC1B,SAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAQ,OAAA,EAAS,WAAA;AAAA,MACjB,GAAG;AAAA,KACJ,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,cAAA,CACJ,UAAA,EACA,OAAA,EACiC;AACjC,IAAA,MAAM,QAAQ,OAAA,EAAS,KAAA;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAMD,gCAAA,CAAe,cAAc,2CAA2C,CAAA;AAAA,IAChF;AAEA,IAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,KAAK,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAMA,gCAAA,CAAe,aAAA,CAAc,CAAA,4CAAA,EAA+C,KAAK,CAAA,EAAA,CAAI,CAAA;AAAA,IAC7F;AAEA,IAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,aAAA,EAAc;AAC3C,IAAA,MAAM,UAAA,GAAa,kBAAkB,OAAO,CAAA;AAE5C,IAAA,IAAI,MAAM,eAAA,EAAiB;AACzB,MAAA,MAAM,MAAA,GAAS,mBAAmB,UAAU,CAAA;AAC5C,MAAA,OAAO,KAAK,eAAA,CAAgB;AAAA,QAC1B,SAAA;AAAA,QACA,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAQ,OAAA,EAAS,WAAA;AAAA,QACjB,WAAW,KAAA,CAAM,SAAA;AAAA,QACjB,kBAAkB,KAAA,CAAM,MAAA,GAAS,CAAC,KAAA,CAAM,MAAM,CAAA,GAAI,MAAA;AAAA,QAClD,GAAG;AAAA,OACJ,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,CAAC,MAAM,MAAA,EAAQ;AACjB,MAAA,MAAMA,gCAAA,CAAe,aAAA,CAAc,CAAA,2BAAA,EAA8B,KAAK,CAAA,sBAAA,CAAwB,CAAA;AAAA,IAChG;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,IAAA,CAAK,QAAA,CAAS;AAAA,MAC/B,SAAA;AAAA,MACA,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,QAAQ,OAAA,EAAS;AAAA,KAClB,CAAA;AAED,IAAA,OAAO,KAAK,4BAAA,CAA6B;AAAA,MACvC,SAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAQ,OAAA,EAAS,WAAA;AAAA,MACjB,GAAG;AAAA,KACJ,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,MAAA,CACJ,QAAA,EACA,OAAA,EAC+B;AAC/B,IAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,aAAA,EAAc;AAC3C,IAAA,MAAM,KAAA,GAAQ,OAAA,EAAS,KAAA,IAASC,iBAAA,EAAW;AAC3C,IAAA,MAAM,MAAA,GAAS,gBAAA,CAAiB,QAAA,EAAU,OAAO,CAAA;AACjD,IAAA,MAAM,UAAA,GAAa,kBAAkB,OAAO,CAAA;AAE5C,IAAA,IAAI,CAAC,UAAU,kBAAA,EAAoB;AACjC,MAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,QAAA,CAAS,UAAU,OAAO,CAAA;AACpD,MAAA,OAAO,KAAK,2BAAA,CAA4B,EAAE,OAAO,MAAA,EAAQ,GAAG,YAAY,CAAA;AAAA,IAC1E;AAEA,IAAA,OAAO,KAAK,gBAAA,CAAiB;AAAA,MAC3B,SAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAQ,OAAA,EAAS,WAAA;AAAA,MACjB,GAAG;AAAA,KACJ,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,YAAA,CAAa,UAAA,EAAqB,OAAA,EAA6E;AACnH,IAAA,MAAM,QAAQ,OAAA,EAAS,KAAA;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAMD,gCAAA,CAAe,cAAc,yCAAyC,CAAA;AAAA,IAC9E;AAEA,IAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,SAAA,CAAU,GAAA,CAAI,KAAK,CAAA;AACtC,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAMA,gCAAA,CAAe,aAAA,CAAc,CAAA,4CAAA,EAA+C,KAAK,CAAA,EAAA,CAAI,CAAA;AAAA,IAC7F;AAEA,IAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,aAAA,EAAc;AAC3C,IAAA,MAAM,UAAA,GAAa,kBAAkB,OAAO,CAAA;AAE5C,IAAA,IAAI,MAAM,eAAA,EAAiB;AACzB,MAAA,MAAM,MAAA,GAAS,mBAAmB,UAAU,CAAA;AAE5C,MAAA,IAAI,CAAC,UAAU,kBAAA,EAAoB;AACjC,QAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,cAAA,CAAe,YAAY,OAAO,CAAA;AAC5D,QAAA,OAAO,KAAK,2BAAA,CAA4B,EAAE,OAAO,MAAA,EAAQ,GAAG,YAAY,CAAA;AAAA,MAC1E;AAEA,MAAA,OAAO,KAAK,gBAAA,CAAiB;AAAA,QAC3B,SAAA;AAAA,QACA,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAQ,OAAA,EAAS,WAAA;AAAA,QACjB,WAAW,KAAA,CAAM,SAAA;AAAA,QACjB,kBAAkB,KAAA,CAAM,MAAA,GAAS,CAAC,KAAA,CAAM,MAAM,CAAA,GAAI,MAAA;AAAA,QAClD,GAAG;AAAA,OACJ,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,CAAC,MAAM,MAAA,EAAQ;AACjB,MAAA,MAAMA,gCAAA,CAAe,aAAA,CAAc,CAAA,2BAAA,EAA8B,KAAK,CAAA,sBAAA,CAAwB,CAAA;AAAA,IAChG;AAEA,IAAA,IAAI,CAAC,UAAU,kBAAA,EAAoB;AACjC,MAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,cAAA,CAAe,YAAY,OAAO,CAAA;AAC5D,MAAA,OAAO,KAAK,2BAAA,CAA4B,EAAE,OAAO,MAAA,EAAQ,GAAG,YAAY,CAAA;AAAA,IAC1E;AAEA,IAAA,OAAO,KAAK,0BAAA,CAA2B;AAAA,MACrC,SAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,aAAa,KAAA,CAAM,QAAA;AAAA,MACnB,QAAQ,OAAA,EAAS,WAAA;AAAA,MACjB,GAAG;AAAA,KACJ,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,aAAA,CAAc,EAAE,eAAe,KAAA,EAAM,GAAgC,EAAC,EAA4B;AACtG,IAAA,IAAI,CAAC,YAAA,IAAgB,IAAA,CAAK,gBAAA,EAAkB;AAC1C,MAAA,OAAO,IAAA,CAAK,gBAAA;AAAA,IACd;AAEA,IAAA,MAAM,OAAA,GAAU,KAAK,eAAA,EAAgB;AACrC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,QAAA,CAAS,OAAA,EAAS;AAAA,MAC5C,MAAA,EAAQ,KAAA;AAAA,MACR,QAAQ,IAAA,CAAK;AAAA,KACd,CAAA;AAED,IAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,IAAA,MAAM,SAAA,uBAAgB,IAAA,EAAK;AAE3B,IAAA,IAAI,KAAK,gBAAA,EAAkB;AACzB,MAAA,MAAM,OAAA,GAA2C,EAAE,OAAA,EAAS,SAAA,EAAU;AACtE,MAAA,MAAM,IAAA,CAAK,gBAAA,CAAiB,MAAA,CAAO,IAAA,EAAM,OAAO,CAAA;AAAA,IAClD;AAEA,IAAA,MAAM,SAAA,GAA4B;AAAA,MAChC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,cAAc,IAAA,CAAK,GAAA;AAAA,MACnB,kBAAA,EAAoB,IAAA,CAAK,YAAA,EAAc,SAAA,IAAa;AAAA,KACtD;AAEA,IAAA,IAAA,CAAK,gBAAA,GAAmB,SAAA;AACxB,IAAA,OAAO,SAAA;AAAA,EACT;AAAA,EAEA,eAAA,GAAkB;AAChB,IAAA,OAAO,IAAA,CAAK,KAAK,QAAA,CAAS,kBAAkB,IAAI,IAAA,CAAK,IAAA,GAAO,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,4BAAA,CAAA;AAAA,EAC1E;AAAA,EAEA,MAAM,YAAA,CAAa;AAAA,IACjB,SAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF,EAM4B;AAC1B,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,QAAA,CAAS,UAAU,YAAA,EAAc;AAAA,MAC3D,MAAA,EAAQ,MAAA;AAAA,MACR,MAAA;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,KAAA;AAAA,QACT,IAAIC,iBAAA,EAAW;AAAA,QACf,MAAA,EAAQ,cAAA;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,MAAA;AAAA,YACN,IAAA,EAAM,SAAA;AAAA,YACN,WAAWA,iBAAA,EAAW;AAAA,YACtB,OAAO,CAAC,EAAE,MAAM,MAAA,EAAQ,IAAA,EAAM,QAAQ,CAAA;AAAA,YACtC,GAAI,SAAA,GAAY,EAAE,SAAA,KAAc,EAAC;AAAA,YACjC,GAAI,gBAAA,EAAkB,MAAA,GAAS,EAAE,gBAAA,KAAqB;AAAC;AACzD;AACF;AACF,KACD,CAAA;AAED,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,IAAA,OAAO,gBAAgB,IAAI,CAAA;AAAA,EAC7B;AAAA,EAEA,MAAM,eAAA,CAAgB;AAAA,IACpB,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EASoC;AAClC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,YAAA,CAAa;AAAA,MACvC,SAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,IAAI,SAAA,CAAU,QAAQ,CAAA,EAAG;AACvB,MAAA,IAAA,CAAK,SAAA,CAAU,OAAO,KAAK,CAAA;AAC3B,MAAA,OAAO,oBAAA,CAAqB;AAAA,QAC1B,KAAA;AAAA,QACA,IAAA,EAAM,mBAAmB,QAAQ,CAAA;AAAA,QACjC,OAAA,EAAS,QAAA;AAAA,QACT,QAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,KAAK,4BAAA,CAA6B;AAAA,MACvC,SAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA,EAAM,QAAA;AAAA,MACN,MAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,QAAA,CAAS;AAAA,IACb,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF,EAIkB;AAChB,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,QAAA,CAAS,UAAU,YAAA,EAAc;AAAA,MAC3D,MAAA,EAAQ,MAAA;AAAA,MACR,MAAA;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,KAAA;AAAA,QACT,IAAIA,iBAAA,EAAW;AAAA,QACf,MAAA,EAAQ,WAAA;AAAA,QACR,MAAA,EAAQ,EAAE,EAAA,EAAI,MAAA;AAAO;AACvB,KACD,CAAA;AAED,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,IAAA,MAAM,MAAA,GAAS,gBAAgB,IAAI,CAAA;AAEnC,IAAA,IAAI,CAAC,MAAA,CAAO,MAAM,CAAA,EAAG;AACnB,MAAA,MAAMD,gCAAA,CAAe,qBAAqB,8DAA8D,CAAA;AAAA,IAC1G;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEA,MAAM,4BAAA,CAA6B;AAAA,IACjC,SAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EAOoC;AAClC,IAAA,IAAI,WAAA,GAAc,IAAA;AAElB,IAAA,OAAO,IAAA,EAAM;AACX,MAAA,MAAM,UAAA,GAAa,KAAK,aAAA,CAAc;AAAA,QACpC,SAAA;AAAA,QACA,IAAA,EAAM;AAAA,OACP,CAAA;AAED,MAAA,IAAI,UAAA,CAAW,SAAS,WAAA,EAAa;AACnC,QAAA,IAAA,CAAK,SAAA,CAAU,OAAO,KAAK,CAAA;AAE3B,QAAA,OAAO,oBAAA,CAAqB;AAAA,UAC1B,KAAA;AAAA,UACA,MAAM,UAAA,CAAW,IAAA;AAAA,UACjB,MAAM,UAAA,CAAW,IAAA;AAAA,UACjB,SAAS,UAAA,CAAW,OAAA;AAAA,UACpB,QAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA,MACH;AAEA,MAAA,IAAA,CAAK,SAAA,CAAU,IAAI,KAAA,EAAO;AAAA,QACxB,KAAA;AAAA,QACA,SAAA,EAAW,WAAW,IAAA,CAAK,SAAA;AAAA,QAC3B,MAAA,EAAQ,WAAW,IAAA,CAAK,EAAA;AAAA,QACxB,cAAc,SAAA,CAAU,YAAA;AAAA,QACxB,SAAS,SAAA,CAAU,OAAA;AAAA,QACnB,oBAAoB,SAAA,CAAU,kBAAA;AAAA,QAC9B,eAAA,EAAiB,WAAW,aAAA,CAAc,eAAA;AAAA,QAC1C,UAAU,UAAA,CAAW;AAAA,OACtB,CAAA;AAED,MAAA,IAAI,UAAA,CAAW,IAAA,CAAK,MAAA,CAAO,KAAA,KAAU,gBAAA,EAAkB;AACrD,QAAA,OAAO,oBAAA,CAAqB;AAAA,UAC1B,KAAA;AAAA,UACA,MAAM,UAAA,CAAW,IAAA;AAAA,UACjB,MAAM,UAAA,CAAW,IAAA;AAAA,UACjB,eAAe,UAAA,CAAW,aAAA;AAAA,UAC1B,cAAc,UAAA,CAAW,YAAA;AAAA,UACzB,QAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA,MACH;AAEA,MAAA,MAAM,KAAK,MAAA,EAAO;AAElB,MAAA,WAAA,GAAc,MAAM,KAAK,QAAA,CAAS;AAAA,QAChC,SAAA;AAAA,QACA,MAAA,EAAQ,WAAW,IAAA,CAAK,EAAA;AAAA,QACxB;AAAA,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,aAAA,CAAc,EAAE,SAAA,EAAW,IAAA,EAAK,EAAkE;AAChG,IAAA,MAAM,IAAA,GAAO,gBAAgB,IAAI,CAAA;AAEjC,IAAA,IAAI,IAAA,CAAK,MAAA,CAAO,KAAA,KAAU,gBAAA,EAAkB;AAC1C,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,WAAA;AAAA,QACN,IAAA;AAAA,QACA,IAAA;AAAA,QACA,aAAA,EAAe;AAAA,UACb,QAAQ,IAAA,CAAK,EAAA;AAAA,UACb,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,cAAc,SAAA,CAAU,YAAA;AAAA,UACxB,SAAS,SAAA,CAAU,OAAA;AAAA,UACnB,eAAA,EAAiB,IAAA;AAAA,UACjB,IAAA,EAAM,gBAAgB,IAAI;AAAA,SAC5B;AAAA,QACA,cAAc,kBAAA;AAAmB,OACnC;AAAA,IACF;AAEA,IAAA,IAAI,mBAAA,CAAoB,IAAA,CAAK,MAAA,CAAO,KAAK,CAAA,EAAG;AAC1C,MAAA,OAAO;AAAA,QACL,IAAA,EAAM,WAAA;AAAA,QACN,IAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF;AAEA,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,WAAA;AAAA,MACN,IAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA,EAAe;AAAA,QACb,QAAQ,IAAA,CAAK,EAAA;AAAA,QACb,WAAW,IAAA,CAAK,SAAA;AAAA,QAChB,cAAc,SAAA,CAAU,YAAA;AAAA,QACxB,SAAS,SAAA,CAAU,OAAA;AAAA,QACnB,eAAA,EAAiB,KAAA;AAAA,QACjB,IAAA,EAAM,gBAAgB,IAAI;AAAA;AAC5B,KACF;AAAA,EACF;AAAA,EAEA,MAAM,gBAAA,CAAiB;AAAA,IACrB,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EASkC;AAChC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,QAAA,CAAS,UAAU,YAAA,EAAc;AAAA,MAC3D,MAAA,EAAQ,MAAA;AAAA,MACR,MAAA;AAAA,MACA,MAAA,EAAQ,IAAA;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,KAAA;AAAA,QACT,IAAIC,iBAAA,EAAW;AAAA,QACf,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,MAAA;AAAA,YACN,IAAA,EAAM,SAAA;AAAA,YACN,WAAWA,iBAAA,EAAW;AAAA,YACtB,OAAO,CAAC,EAAE,MAAM,MAAA,EAAQ,IAAA,EAAM,QAAQ,CAAA;AAAA,YACtC,GAAI,SAAA,GAAY,EAAE,SAAA,KAAc,EAAC;AAAA,YACjC,GAAI,gBAAA,EAAkB,MAAA,GAAS,EAAE,gBAAA,KAAqB;AAAC;AACzD;AACF;AACF,KACD,CAAA;AAED,IAAA,OAAO,KAAK,iBAAA,CAAkB;AAAA,MAC5B,SAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA,EAAQ,MAAM,mBAAA,CAAoB,QAAA,EAAU,gBAAgB,CAAA;AAAA,MAC5D,QAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,0BAAA,CAA2B;AAAA,IAC/B,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EAQkC;AAChC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,QAAA,CAAS,UAAU,YAAA,EAAc;AAAA,MAC3D,MAAA,EAAQ,MAAA;AAAA,MACR,MAAA;AAAA,MACA,MAAA,EAAQ,IAAA;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,KAAA;AAAA,QACT,IAAIA,iBAAA,EAAW;AAAA,QACf,MAAA,EAAQ,mBAAA;AAAA,QACR,MAAA,EAAQ,EAAE,EAAA,EAAI,MAAA;AAAO;AACvB,KACD,CAAA;AAED,IAAA,OAAO,KAAK,iBAAA,CAAkB;AAAA,MAC5B,SAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA,EAAQ,MAAM,mBAAA,CAAoB,QAAA,EAAU,mBAAmB,CAAA;AAAA,MAC/D,QAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,iBAAA,CAAkB;AAAA,IACtB,SAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EAOkC;AAChC,IAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,OAAO,GAAA,EAAI;AACvD,IAAA,MAAM,iBAAiB,cAAA,EAAuC;AAC9D,IAAA,MAAM,eAAe,cAAA,EAAuB;AAC5C,IAAA,MAAM,eAAe,cAAA,EAAiC;AACtD,IAAA,MAAM,yBAAyB,cAAA,EAAkD;AACjF,IAAA,MAAM,uBAAuB,cAAA,EAAmC;AAChE,IAAA,MAAM,cAAc,IAAIF,6BAAA,CAAY,EAAE,QAAA,EAAU,YAAY,CAAA;AAE5D,IAAA,KAAK,KAAK,oBAAA,CAAqB;AAAA,MAC7B,SAAA;AAAA,MACA,WAAA;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA,CACE,IAAA,CAAK,CAAA,QAAA,KAAY;AAChB,MAAA,IAAI,QAAA,CAAS,IAAA,IAAQ,QAAA,CAAS,SAAA,EAAW;AACvC,QAAA,IAAA,CAAK,SAAA,CAAU,IAAI,KAAA,EAAO;AAAA,UACxB,KAAA;AAAA,UACA,SAAA,EAAW,SAAS,IAAA,CAAK,SAAA;AAAA,UACzB,MAAA,EAAQ,SAAS,IAAA,CAAK,EAAA;AAAA,UACtB,cAAc,SAAA,CAAU,YAAA;AAAA,UACxB,SAAS,SAAA,CAAU,OAAA;AAAA,UACnB,oBAAoB,SAAA,CAAU,kBAAA;AAAA,UAC9B,eAAA,EAAiB,QAAA,CAAS,SAAA,CAAU,OAAA,CAAQ,eAAA;AAAA,UAC5C,UAAU,QAAA,CAAS;AAAA,SACpB,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,SAAA,CAAU,OAAO,KAAK,CAAA;AAAA,MAC7B;AAEA,MAAA,YAAA,CAAa,OAAA,CAAQ,SAAS,IAAI,CAAA;AAClC,MAAA,YAAA,CAAa,OAAA,CAAQ,SAAS,IAAI,CAAA;AAClC,MAAA,sBAAA,CAAuB,OAAA,CAAQ,QAAA,CAAS,SAAA,EAAW,OAAO,CAAA;AAC1D,MAAA,oBAAA,CAAqB,OAAA,CAAQ,QAAA,CAAS,SAAA,EAAW,YAAY,CAAA;AAC7D,MAAA,IAAI,SAAS,IAAA,EAAM;AACjB,QAAA,WAAA,CAAY,GAAA;AAAA,UACV;AAAA,YACE,IAAA,EAAM,WAAA;AAAA,YACN,SAAS,QAAA,CAAS;AAAA,WACpB;AAAA,UACA;AAAA,SACF;AAAA,MACF;AACA,MAAA,cAAA,CAAe,OAAA;AAAA,QACb,oBAAA,CAAqB;AAAA,UACnB,KAAA;AAAA,UACA,MAAM,QAAA,CAAS,IAAA;AAAA,UACf,MAAM,QAAA,CAAS,IAAA;AAAA,UACf,QAAA;AAAA,UACA,UAAA;AAAA,UACA,GAAI,SAAS,SAAA,GACT;AAAA,YACE,aAAA,EAAe,SAAS,SAAA,CAAU,OAAA;AAAA,YAClC,YAAA,EAAc,SAAS,SAAA,CAAU;AAAA,cAEnC;AAAC,SACN;AAAA,OACH;AAAA,IACF,CAAC,CAAA,CACA,KAAA,CAAM,CAAA,KAAA,KAAS;AACd,MAAA,YAAA,CAAa,OAAO,KAAK,CAAA;AACzB,MAAA,YAAA,CAAa,OAAO,KAAK,CAAA;AACzB,MAAA,sBAAA,CAAuB,OAAO,KAAK,CAAA;AACnC,MAAA,oBAAA,CAAqB,OAAO,KAAK,CAAA;AACjC,MAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAAA,IAC7B,CAAC,CAAA;AAEH,IAAA,MAAM,YAAA,GAAe;AAAA,MACnB,KAAA;AAAA,MACA,UAAA,EAAY,KAAK,aAAA,CAAc,EAAE,WAAW,KAAA,EAAO,MAAA,EAAQ,gBAAgB,CAAA;AAAA,MAC3E,MAAM,YAAA,CAAa,OAAA;AAAA,MACnB,WAAA,EAAa,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,MAC/B,WAAA;AAAA,MACA,MAAM,YAAA,CAAa,OAAA;AAAA,MACnB,gBAAgB,sBAAA,CAAuB,OAAA;AAAA,MACvC,cAAc,oBAAA,CAAqB,OAAA;AAAA,MACnC,SAAA,EAAW,YAAY,cAAA,CAAe;AAAA,KACxC;AAEA,IAAA,OAAO,YAAA;AAAA,EACT;AAAA,EAEA,OAAO,aAAA,CAAc;AAAA,IACnB,SAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF,EAI2C;AACzC,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,IAAA,MAAM,OAAA,GAAU,IAAI,WAAA,EAAY;AAChC,IAAA,IAAI,MAAA,GAAS,EAAA;AACb,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,WAAA,GAAc,KAAA;AAClB,IAAA,IAAI,IAAA;AACJ,IAAA,IAAI,SAAA;AACJ,IAAA,IAAI,YAAA,GAAe,KAAA;AAEnB,IAAA,OAAO,IAAA,EAAM;AACX,MAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,MAAM,OAAO,IAAA,EAAK;AAE1C,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,MAAA,IAAU,QAAQ,MAAA,EAAO;AAAA,MAC3B,WAAW,KAAA,EAAO;AAChB,QAAA,MAAA,IAAU,QAAQ,MAAA,CAAO,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAM,CAAA;AAAA,MAClD;AAEA,MAAA,IAAI,IAAA,GAAO,eAAe,MAAM,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,eAAe,MAAA,EAAW;AACpC,QAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,IAAA,CAAK,UAAU,CAAA;AAC9C,QAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,EAAM;AACnC,UAAA,YAAA,GAAe,IAAA;AACf,UAAA,MAAA,GAAS,IAAA,CAAK,IAAA;AACd,UAAA;AAAA,QACF;AAEA,QAAA,IAAI,OAAA,IAAW,MAAA,IAAU,MAAA,CAAO,KAAA,EAAO;AACrC,UAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AAErB,UAAA,IAAI,MAAA,CAAO,KAAK,CAAA,EAAG;AACjB,YAAA,IAAA,GAAO,KAAA;AACP,YAAA,IAAI,KAAA,CAAM,MAAA,CAAO,KAAA,KAAU,gBAAA,EAAkB;AAC3C,cAAA,SAAA,GAAY;AAAA,gBACV,QAAQ,KAAA,CAAM,EAAA;AAAA,gBACd,WAAW,KAAA,CAAM,SAAA;AAAA,gBACjB,cAAc,SAAA,CAAU,YAAA;AAAA,gBACxB,SAAS,SAAA,CAAU,OAAA;AAAA,gBACnB,eAAA,EAAiB,IAAA;AAAA,gBACjB,IAAA,EAAM,gBAAgB,KAAK;AAAA,eAC7B;AAAA,YACF;AAAA,UACF,CAAA,MAAA,IAAW,SAAA,CAAU,KAAK,CAAA,EAAG;AAC3B,YAAA,MAAM,IAAA,GAAO,mBAAmB,KAAK,CAAA;AACrC,YAAA,IAAI,IAAA,EAAM;AACR,cAAA,MAAA,KAAW,oBAAoB,CAAC,KAAA,CAAM,SAAA,EAAW,IAAA,EAAM,EAAE,CAAC,CAAA;AAC1D,cAAA,IAAI,MAAA,EAAQ;AACV,gBAAA,IAAI,CAAC,WAAA,EAAa;AAChB,kBAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,SAAS,EAAE,EAAA,EAAI,MAAA,EAAO,EAAG,CAAA;AAC/E,kBAAA,WAAA,GAAc,IAAA;AAAA,gBAChB;AACA,gBAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAA,EAAK,EAAG,CAAA;AAAA,cACvF;AAAA,YACF;AAAA,UACF,CAAA,MAAA,IAAW,KAAA,CAAM,IAAA,KAAS,iBAAA,EAAmB;AAC3C,YAAA,MAAM,IAAA,GAAO,KAAA,CAAM,QAAA,CAAS,KAAA,EACxB,OAAA;AAAA,cAAQ,CAAA,IAAA,KACR,IAAA,CAAK,IAAA,KAAS,MAAA,IAAU,UAAU,IAAA,IAAQ,OAAO,IAAA,CAAK,IAAA,KAAS,QAAA,GAAW,CAAC,IAAA,CAAK,IAAI,IAAI;AAAC,aAC3F,CACC,KAAK,EAAE,CAAA;AACV,YAAA,IAAI,IAAA,EAAM;AACR,cAAA,MAAA,KAAW,oBAAoB,CAAC,KAAA,CAAM,SAAS,UAAA,EAAY,IAAA,EAAM,EAAE,CAAC,CAAA;AACpE,cAAA,IAAI,MAAA,EAAQ;AACV,gBAAA,IAAI,CAAC,WAAA,EAAa;AAChB,kBAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,SAAS,EAAE,EAAA,EAAI,MAAA,EAAO,EAAG,CAAA;AAC/E,kBAAA,WAAA,GAAc,IAAA;AAAA,gBAChB;AACA,gBAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAA,EAAK,EAAG,CAAA;AAAA,cACvF;AAAA,YACF;AAAA,UACF,CAAA,MAAA,IAAW,KAAA,CAAM,IAAA,KAAS,eAAA,EAAiB;AACzC,YAAA,IAAA,GAAO,IAAA,GACH;AAAA,cACE,GAAG,IAAA;AAAA,cACH,QAAQ,KAAA,CAAM;AAAA,aAChB,GACA,IAAA;AACJ,YAAA,IAAI,KAAA,CAAM,MAAA,CAAO,KAAA,KAAU,gBAAA,IAAoB,IAAA,EAAM;AACnD,cAAA,SAAA,GAAY;AAAA,gBACV,QAAQ,IAAA,CAAK,EAAA;AAAA,gBACb,WAAW,IAAA,CAAK,SAAA;AAAA,gBAChB,cAAc,SAAA,CAAU,YAAA;AAAA,gBACxB,SAAS,SAAA,CAAU,OAAA;AAAA,gBACnB,eAAA,EAAiB,IAAA;AAAA,gBACjB,IAAA,EAAM,gBAAgB,IAAI;AAAA,eAC5B;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,QAAA,MAAA,GAAS,IAAA,CAAK,IAAA;AACd,QAAA,IAAA,GAAO,eAAe,MAAM,CAAA;AAAA,MAC9B;AAEA,MAAA,IAAI,QAAQ,YAAA,EAAc;AACxB,QAAA,IAAI,UAAU,WAAA,EAAa;AACzB,UAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,UAAA,EAAY,SAAS,EAAE,EAAA,EAAI,MAAA,EAAO,EAAG,CAAA;AAAA,QAC/E;AAEA,QAAA,IAAI,CAAC,aAAa,IAAA,IAAQ,CAAC,oBAAoB,IAAA,CAAK,MAAA,CAAO,KAAK,CAAA,EAAG;AACjE,UAAA,SAAA,GAAY;AAAA,YACV,QAAQ,IAAA,CAAK,EAAA;AAAA,YACb,WAAW,IAAA,CAAK,SAAA;AAAA,YAChB,cAAc,SAAA,CAAU,YAAA;AAAA,YACxB,SAAS,SAAA,CAAU,OAAA;AAAA,YACnB,eAAA,EAAiB,KAAA;AAAA,YACjB,IAAA,EAAM,gBAAgB,IAAI;AAAA,WAC5B;AAAA,QACF;AAEA,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,MAAM,mBAAmB,KAAA,EAAO;AAAA,YAC9B,IAAA,EAAM,qBAAA;AAAA,YACN,OAAA,EAAS;AAAA,cACP,UAAA,EAAY,KAAA;AAAA,cACZ,UAAU,IAAA,CAAK,EAAA;AAAA,cACf,MAAM,EAAC;AAAA,cACP,cAAA,EAAgB,SAAA;AAAA,cAChB,cAAc,kBAAA;AAAmB;AACnC,WACD,CAAA;AAAA,QACH,CAAA,MAAO;AACL,UAAA,MAAM,mBAAmB,KAAA,EAAO;AAAA,YAC9B,IAAA,EAAM,QAAA;AAAA,YACN,OAAA,EAAS;AAAA,cACP,YAAA,EAAc,MAAA;AAAA,cACd,KAAA,EAAO;AAAA;AACT,WACD,CAAA;AAAA,QACH;AACA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,oBAAA,CAAqB;AAAA,IACzB,SAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF,EAIqC;AACnC,IAAA,MAAM,MAAA,GAAS,OAAO,SAAA,EAAU;AAChC,IAAA,MAAM,OAAA,GAAU,IAAI,WAAA,EAAY;AAChC,IAAA,IAAI,MAAA,GAAS,EAAA;AACb,IAAA,IAAI,UAAA,GAAa,EAAA;AACjB,IAAA,IAAI,IAAA,GAAyB,WAAA,GAAc,eAAA,CAAgB,WAAW,CAAA,GAAI,MAAA;AAC1E,IAAA,IAAI,SAAA;AAEJ,IAAA,OAAO,IAAA,EAAM;AACX,MAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAM,GAAI,MAAM,OAAO,IAAA,EAAK;AAE1C,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,MAAA,IAAU,QAAQ,MAAA,EAAO;AAAA,MAC3B,WAAW,KAAA,EAAO;AAChB,QAAA,MAAA,IAAU,QAAQ,MAAA,CAAO,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAM,CAAA;AAAA,MAClD;AAEA,MAAA,IAAI,IAAA,GAAO,eAAe,MAAM,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,eAAe,MAAA,EAAW;AACpC,QAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,IAAA,CAAK,UAAU,CAAA;AAC9C,QAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,EAAM;AACnC,UAAA;AAAA,QACF;AAEA,QAAA,IAAI,OAAA,IAAW,MAAA,IAAU,MAAA,CAAO,KAAA,EAAO;AACrC,UAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AAErB,UAAA,IAAI,MAAA,CAAO,KAAK,CAAA,EAAG;AACjB,YAAA,IAAA,GAAO,KAAA;AACP,YAAA,UAAA,GAAa,uBAAA,CAAwB,KAAK,CAAA,IAAK,UAAA;AAE/C,YAAA,IAAI,KAAA,CAAM,MAAA,CAAO,KAAA,KAAU,gBAAA,EAAkB;AAC3C,cAAA,SAAA,GAAY;AAAA,gBACV,OAAA,EAAS;AAAA,kBACP,QAAQ,KAAA,CAAM,EAAA;AAAA,kBACd,WAAW,KAAA,CAAM,SAAA;AAAA,kBACjB,cAAc,SAAA,CAAU,YAAA;AAAA,kBACxB,SAAS,SAAA,CAAU,OAAA;AAAA,kBACnB,eAAA,EAAiB,IAAA;AAAA,kBACjB,IAAA,EAAM,gBAAgB,KAAK;AAAA,iBAC7B;AAAA,gBACA,cAAc,kBAAA;AAAmB,eACnC;AAAA,YACF;AAAA,UACF,CAAA,MAAA,IAAW,SAAA,CAAU,KAAK,CAAA,EAAG;AAC3B,YAAA,MAAM,WAAA,GAAc,mBAAmB,KAAK,CAAA;AAC5C,YAAA,IAAI,WAAA,EAAa;AACf,cAAA,UAAA,GAAa,WAAA;AAAA,YACf;AAAA,UACF,CAAA,MAAA,IAAW,KAAA,CAAM,IAAA,KAAS,iBAAA,EAAmB;AAC3C,YAAA,IAAA,GAAO,IAAA,GACH;AAAA,cACE,GAAG,IAAA;AAAA,cACH,SAAA,EAAW;AAAA,gBACT,GAAA,CAAI,IAAA,CAAK,SAAA,IAAa,EAAC,EAAG,MAAA,CAAO,CAAA,QAAA,KAAY,QAAA,CAAS,UAAA,KAAe,KAAA,CAAM,QAAA,CAAS,UAAU,CAAA;AAAA,gBAC9F,KAAA,CAAM;AAAA;AACR,aACF,GACA,IAAA;AAEJ,YAAA,MAAM,YAAA,GAAe,KAAA,CAAM,QAAA,CAAS,KAAA,EAChC,OAAA;AAAA,cAAQ,CAAA,IAAA,KACR,IAAA,CAAK,IAAA,KAAS,MAAA,IAAU,UAAU,IAAA,IAAQ,OAAO,IAAA,CAAK,IAAA,KAAS,QAAA,GAAW,CAAC,IAAA,CAAK,IAAI,IAAI;AAAC,aAC3F,CACC,KAAK,EAAE,CAAA;AACV,YAAA,IAAI,YAAA,EAAc;AAChB,cAAA,UAAA,IAAc,YAAA;AAAA,YAChB;AAAA,UACF,CAAA,MAAA,IAAW,KAAA,CAAM,IAAA,KAAS,eAAA,EAAiB;AACzC,YAAA,IAAA,GAAO,IAAA,GACH;AAAA,cACE,GAAG,IAAA;AAAA,cACH,QAAQ,KAAA,CAAM;AAAA,aAChB,GACA,IAAA;AAEJ,YAAA,IAAI,KAAA,CAAM,MAAA,CAAO,KAAA,KAAU,gBAAA,IAAoB,IAAA,EAAM;AACnD,cAAA,SAAA,GAAY;AAAA,gBACV,OAAA,EAAS;AAAA,kBACP,QAAQ,IAAA,CAAK,EAAA;AAAA,kBACb,WAAW,IAAA,CAAK,SAAA;AAAA,kBAChB,cAAc,SAAA,CAAU,YAAA;AAAA,kBACxB,SAAS,SAAA,CAAU,OAAA;AAAA,kBACnB,eAAA,EAAiB,IAAA;AAAA,kBACjB,IAAA,EAAM,gBAAgB,IAAI;AAAA,iBAC5B;AAAA,gBACA,cAAc,kBAAA;AAAmB,eACnC;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,QAAA,MAAA,GAAS,IAAA,CAAK,IAAA;AACd,QAAA,IAAA,GAAO,eAAe,MAAM,CAAA;AAAA,MAC9B;AAEA,MAAA,IAAI,IAAA,EAAM;AACR,QAAA;AAAA,MACF;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,aAAa,IAAA,IAAQ,CAAC,oBAAoB,IAAA,CAAK,MAAA,CAAO,KAAK,CAAA,EAAG;AACjE,MAAA,SAAA,GAAY;AAAA,QACV,OAAA,EAAS;AAAA,UACP,QAAQ,IAAA,CAAK,EAAA;AAAA,UACb,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,cAAc,SAAA,CAAU,YAAA;AAAA,UACxB,SAAS,SAAA,CAAU,OAAA;AAAA,UACnB,eAAA,EAAiB,KAAA;AAAA,UACjB,IAAA,EAAM,gBAAgB,IAAI;AAAA;AAC5B,OACF;AAAA,IACF;AAEA,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,UAAA;AAAA,MACN,IAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAAA,EAEA,2BAAA,CAA4B;AAAA,IAC1B,KAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,EAKyB;AACvB,IAAA,MAAM,cAAc,IAAIA,6BAAA,CAAY,EAAE,QAAA,EAAU,YAAY,CAAA;AAC5D,IAAA,MAAM,WAAW,IAAA,CAAK,EAAA;AACtB,IAAA,MAAM,MAAA,GAAS,oBAAoB,CAAC,MAAA,CAAO,SAAS,SAAA,EAAW,MAAA,CAAO,IAAA,EAAM,EAAE,CAAC,CAAA;AAC/E,IAAA,IAAI,OAAO,IAAA,EAAM;AACf,MAAA,WAAA,CAAY,GAAA;AAAA,QACV;AAAA,UACE,IAAA,EAAM,WAAA;AAAA,UACN,SAAS,MAAA,CAAO;AAAA,SAClB;AAAA,QACA;AAAA,OACF;AAAA,IACF;AAEA,IAAA,MAAM,cAAc,mBAA2D;AAC7E,MAAA,IAAI,OAAO,IAAA,EAAM;AACf,QAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,SAAS,EAAE,EAAA,EAAI,MAAA,EAAO,EAAG,CAAA;AAC/E,QAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,YAAA,EAAc,OAAA,EAAS,EAAE,EAAA,EAAI,MAAA,EAAQ,IAAA,EAAM,MAAA,CAAO,IAAA,IAAQ,CAAA;AAClG,QAAA,MAAM,kBAAA,CAAmB,KAAA,EAAO,EAAE,IAAA,EAAM,UAAA,EAAY,SAAS,EAAE,EAAA,EAAI,MAAA,EAAO,EAAG,CAAA;AAAA,MAC/E;AAEA,MAAA,IAAI,OAAO,aAAA,EAAe;AACxB,QAAA,MAAM,mBAAmB,KAAA,EAAO;AAAA,UAC9B,IAAA,EAAM,qBAAA;AAAA,UACN,OAAA,EAAS;AAAA,YACP,UAAA,EAAY,KAAA;AAAA,YACZ,QAAA;AAAA,YACA,MAAM,EAAC;AAAA,YACP,gBAAgB,MAAA,CAAO,aAAA;AAAA,YACvB,YAAA,EAAc,MAAA,CAAO,YAAA,IAAgB,kBAAA;AAAmB;AAC1D,SACD,CAAA;AACD,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,mBAAmB,KAAA,EAAO;AAAA,QAC9B,IAAA,EAAM,QAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,YAAA,EAAc,MAAA;AAAA,UACd,KAAA,EAAO;AAAA;AACT,OACD,CAAA;AAAA,IACH,CAAA,GAAG;AAEH,IAAA,MAAM,YAAA,GAAe;AAAA,MACnB,KAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA,EAAM,OAAA,CAAQ,OAAA,CAAQ,MAAA,CAAO,IAAI,CAAA;AAAA,MACjC,WAAA,EAAa,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,MAC/B,WAAA;AAAA,MACA,IAAA,EAAM,OAAA,CAAQ,OAAA,CAAQ,MAAA,CAAO,IAAI,CAAA;AAAA,MACjC,cAAA,EAAgB,OAAA,CAAQ,OAAA,CAAQ,MAAA,CAAO,aAAa,CAAA;AAAA,MACpD,YAAA,EAAc,OAAA,CAAQ,OAAA,CAAQ,MAAA,CAAO,YAAY,CAAA;AAAA,MACjD,WAAW,YAAY;AAAA,KACzB;AAEA,IAAA,OAAO,YAAA;AAAA,EACT;AAAA,EAEA,MAAM,QAAA,CACJ,GAAA,EACA,EAAE,MAAA,GAAS,QAAQ,OAAA,GAAU,EAAC,EAAG,IAAA,EAAM,SAAS,KAAA,EAAO,WAAA,EAAa,MAAA,EAAO,GAAoB,EAAC,EAC7E;AACnB,IAAA,IAAI,QAAA,GAAW,CAAA;AACf,IAAA,IAAI,SAAA;AAEJ,IAAA,MAAM,YAAA,GAAe;AAAA,MACnB,MAAA,EAAQ,SAAS,mBAAA,GAAsB,kBAAA;AAAA,MACvC,GAAG,IAAA,CAAK,QAAA;AAAA,MACR,GAAG;AAAA,KACL;AAEA,IAAA,OAAO,QAAA,IAAY,KAAK,QAAA,EAAU;AAChC,MAAA,IAAI;AACF,QAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,qBAAA,CAAsB,MAAM,CAAA;AACvD,QAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,MAAA,CAAO,GAAA,EAAK;AAAA,UACtC,MAAA;AAAA,UACA,OAAA,EAAS;AAAA,YACP,GAAG,YAAA;AAAA,YACH,GAAI,IAAA,GAAO,EAAE,cAAA,EAAgB,kBAAA,KAAuB;AAAC,WACvD;AAAA,UACA,IAAA,EAAM,IAAA,GAAO,IAAA,CAAK,SAAA,CAAU,IAAI,CAAA,GAAI,MAAA;AAAA,UACpC,WAAA,EAAa,eAAe,IAAA,CAAK,YAAA;AAAA,UACjC,MAAA,EAAQ;AAAA,SACT,CAAA;AAED,QAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,UAAA,MAAMC,gCAAA,CAAe,oBAAA,CAAqB,CAAA,sCAAA,EAAyC,QAAA,CAAS,MAAM,CAAA,CAAA,CAAA,EAAK;AAAA,YACrG,QAAQ,QAAA,CAAS,MAAA;AAAA,YACjB;AAAA,WACD,CAAA;AAAA,QACH;AAEA,QAAA,OAAO,QAAA;AAAA,MACT,SAAS,KAAA,EAAO;AACd,QAAA,SAAA,GAAY,KAAA;AAEZ,QAAA,IAAI,CAAC,kBAAA,CAAmB,KAAK,CAAA,EAAG;AAC9B,UAAA,MAAM,SAAA;AAAA,QACR;AAEA,QAAA,IAAI,QAAA,KAAa,KAAK,QAAA,EAAU;AAC9B,UAAA;AAAA,QACF;AAEA,QAAA,QAAA,IAAY,CAAA;AACZ,QAAA,MAAM,IAAA,CAAK,OAAO,QAAQ,CAAA;AAAA,MAC5B;AAAA,IACF;AAEA,IAAA,MAAM,SAAA;AAAA,EACR;AAAA,EAEA,MAAM,MAAA,CAAO,OAAA,GAAkB,CAAA,EAAG;AAChC,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,UAAA,GAAa,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,OAAO,CAAA,EAAG,IAAA,CAAK,aAAa,CAAA;AACnF,IAAA,IAAI,WAAW,CAAA,EAAG;AAChB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,IAAI,OAAA,CAAQ,CAAA,OAAA,KAAW,UAAA,CAAW,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,EAC3D;AAAA,EAEA,sBAAsB,MAAA,EAAsB;AAC1C,IAAA,IAAI,IAAA,CAAK,cAAc,IAAA,EAAM;AAC3B,MAAA,OAAO,UAAU,IAAA,CAAK,YAAA;AAAA,IACxB;AAEA,IAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,OAAA,CAAQ,IAAA,CAAK,UAAU,CAAA;AACzD,IAAA,MAAM,OAAA,GAAU,CAAC,MAAA,EAAQ,IAAA,CAAK,cAAc,aAAa,CAAA,CAAE,OAAO,OAAO,CAAA;AAEzE,IAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,OAAO,OAAA,CAAQ,WAAW,CAAA,GAAI,OAAA,CAAQ,CAAC,CAAA,GAAI,WAAA,CAAY,IAAI,OAAO,CAAA;AAAA,EACpE;AACF;AAEA,SAAS,mBAAmB,KAAA,EAAyB;AACnD,EAAA,IAAI,iBAAiB,SAAA,EAAW;AAC9B,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,KAAA,YAAiB,YAAA,IAAgB,KAAA,CAAM,IAAA,KAAS,YAAA,EAAc;AAChE,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,KAAA,YAAiB,KAAA,IAAS,KAAA,CAAM,IAAA,KAAS,YAAA,EAAc;AACzD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,SACJ,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,QAAQ,QAAA,IAAY,KAAA,IAAS,OAAO,KAAA,CAAM,WAAW,QAAA,GACxF,KAAA,CAAM,SACN,OAAO,KAAA,KAAU,YACf,KAAA,KAAU,IAAA,IACV,MAAA,IAAU,KAAA,IACV,OAAO,KAAA,CAAM,IAAA,KAAS,QAAA,IACtB,KAAA,CAAM,SAAS,IAAA,IACf,QAAA,IAAY,KAAA,CAAM,IAAA,IAClB,OAAO,KAAA,CAAM,IAAA,CAAK,WAAW,QAAA,GAC7B,KAAA,CAAM,KAAK,MAAA,GACX,MAAA;AAER,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,MAAA,KAAW,GAAA,IAAO,MAAA,KAAW,GAAA,IAAO,MAAA,IAAU,GAAA;AACvD","file":"index.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { AgentCard, Message, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';\nimport type { AgentExecutionOptionsBase } from '../agent/agent.types';\nimport { MessageList } from '../agent/message-list';\nimport type { MastraDBMessage, MessageListInput } from '../agent/message-list';\nimport { convertMessages } from '../agent/message-list/utils/convert-messages';\nimport type { SubAgent } from '../agent/subagent';\nimport type { Mastra } from '../mastra';\nimport type { MastraMemory } from '../memory/memory';\nimport { RequestContext } from '../request-context';\nimport type { DynamicArgument } from '../types';\nimport { MastraA2AError } from './error';\nimport type {\n A2AAgentCardVerificationContext,\n A2AAgentGenerateResult,\n A2AAgentOptions,\n A2AAgentResumePayload,\n A2AAgentRunState,\n A2AAgentStreamResult,\n JSONRPCResponse,\n RequestCredentialsMode,\n} from './types';\n\ntype FetchLike = typeof fetch;\n\ntype JSONRPCRequestBody = {\n jsonrpc: '2.0';\n id: string;\n method: string;\n params?: Record<string, unknown>;\n};\n\ntype RequestOptions = {\n method?: string;\n headers?: Record<string, string>;\n body?: unknown;\n stream?: boolean;\n credentials?: RequestCredentialsMode;\n signal?: AbortSignal;\n};\n\ntype AgentBootstrap = {\n card: AgentCard;\n cardUrl: string;\n executionUrl: string;\n streamingSupported: boolean;\n};\n\ntype TerminalEvaluation =\n | {\n kind: 'completed';\n text: string;\n task?: Task;\n message?: Message;\n }\n | {\n kind: 'suspended';\n text: string;\n task: Task;\n resumePayload: A2AAgentResumePayload;\n resumeSchema?: string;\n };\n\ntype StreamConsumptionResult = {\n text: string;\n task?: Task;\n suspended?: {\n payload: A2AAgentResumePayload;\n resumeSchema?: string;\n };\n};\n\ntype A2AStreamEventData = Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;\ntype A2AAgentFullStreamChunkBase =\n | { type: 'text-start'; payload: { id: string } }\n | { type: 'text-delta'; payload: { id: string; text: string } }\n | { type: 'text-end'; payload: { id: string } }\n | {\n type: 'tool-call-suspended';\n payload: {\n toolCallId: string;\n toolName: string;\n args: Record<string, never>;\n suspendPayload: A2AAgentResumePayload;\n resumeSchema: string;\n };\n }\n | {\n type: 'finish';\n payload: {\n finishReason: 'stop';\n usage: typeof EMPTY_USAGE;\n };\n };\ntype A2AAgentFullStreamChunk = A2AAgentFullStreamChunkBase & {\n runId: string;\n from: 'AGENT';\n};\n\ntype Deferred<T> = {\n promise: Promise<T>;\n resolve: (value: T | PromiseLike<T>) => void;\n reject: (reason?: unknown) => void;\n};\n\nconst EMPTY_USAGE = {\n inputTokens: undefined,\n outputTokens: undefined,\n totalTokens: undefined,\n};\n\nfunction toAgentStreamChunk(runId: string, chunk: A2AAgentFullStreamChunkBase): A2AAgentFullStreamChunk {\n return {\n ...chunk,\n runId,\n from: 'AGENT',\n };\n}\n\nfunction isTask(result: Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent): result is Task {\n return typeof result === 'object' && result !== null && 'status' in result && 'id' in result && 'kind' in result;\n}\n\nfunction isMessage(result: Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent): result is Message {\n return typeof result === 'object' && result !== null && 'messageId' in result && 'parts' in result;\n}\n\nfunction isTerminalTaskState(state: Task['status']['state'] | undefined) {\n return state === 'completed' || state === 'failed' || state === 'canceled' || state === 'rejected';\n}\n\nfunction splitNextEvent(buffer: string): { eventBlock?: string; rest: string } {\n const normalizedBuffer = buffer.replace(/\\x1E/g, '\\n\\n');\n const match = normalizedBuffer.match(/\\r?\\n\\r?\\n/);\n\n if (!match || match.index === undefined) {\n return { rest: normalizedBuffer };\n }\n\n return {\n eventBlock: normalizedBuffer.slice(0, match.index),\n rest: normalizedBuffer.slice(match.index + match[0].length),\n };\n}\n\nfunction parseEventBlock(eventBlock: string): { done: true } | { event?: A2AStreamEventData } {\n const trimmedBlock = eventBlock.trim();\n\n if (!trimmedBlock) {\n return {};\n }\n\n const lines = trimmedBlock.split(/\\r?\\n/);\n const dataLines = lines.filter(line => line.startsWith('data:')).map(line => line.slice(5).trimStart());\n const payload = dataLines.length > 0 ? dataLines.join('\\n') : trimmedBlock;\n\n if (payload === '[DONE]') {\n return { done: true };\n }\n\n let parsed: JSONRPCResponse<A2AStreamEventData> | A2AStreamEventData;\n\n try {\n parsed = JSON.parse(payload) as JSONRPCResponse<A2AStreamEventData> | A2AStreamEventData;\n } catch {\n return {};\n }\n\n if ('result' in parsed && parsed.result) {\n return { event: parsed.result };\n }\n\n return { event: parsed as A2AStreamEventData };\n}\n\nfunction extractTextParts(parts: { kind: string; text?: string }[] | undefined): string {\n return (parts ?? [])\n .filter((part): part is { kind: string; text: string } => part.kind === 'text' && typeof part.text === 'string')\n .map(part => part.text)\n .join('\\n');\n}\n\nfunction extractTaskText(task: Task): string {\n const artifactText = (task.artifacts ?? [])\n .flatMap(\n artifact =>\n artifact.parts?.flatMap(part => {\n if (part.kind === 'text' && 'text' in part && typeof part.text === 'string') {\n return [part.text];\n }\n\n return [];\n }) ?? [],\n )\n .join('\\n');\n const statusText = task.status.message ? extractMessageText(task.status.message) : '';\n return [artifactText, statusText].filter(Boolean).join('\\n').trim();\n}\n\nfunction extractTaskArtifactText(task: Task): string {\n return (task.artifacts ?? [])\n .flatMap(\n artifact =>\n artifact.parts?.flatMap(part => {\n if (part.kind === 'text' && 'text' in part && typeof part.text === 'string') {\n return [part.text];\n }\n\n return [];\n }) ?? [],\n )\n .join('');\n}\n\nfunction extractMessageText(message: Message): string {\n return extractTextParts(message.parts as { kind: string; text?: string }[] | undefined).trim();\n}\n\nfunction messagesToPrompt<OUTPUT>(messages: MessageListInput, options?: AgentExecutionOptionsBase<OUTPUT>): string {\n if (typeof messages === 'string') {\n return messages;\n }\n\n const converted = convertMessages(messages).to('AIV5.Model');\n const lines: string[] = [];\n\n if (options?.instructions) {\n lines.push(`Instructions:\\n${options.instructions}`);\n }\n\n const contextMessages = options?.context as Array<{ role?: string; content?: unknown }> | undefined;\n if (contextMessages?.length) {\n lines.push(\n 'Context:\\n' +\n contextMessages\n .map(message => {\n const role = message.role ?? 'unknown';\n const content = typeof message.content === 'string' ? message.content : JSON.stringify(message.content);\n return `${role}: ${content}`;\n })\n .join('\\n'),\n );\n }\n\n for (const message of converted) {\n if (message.role === 'system') {\n const content = Array.isArray(message.content)\n ? message.content\n .map((part: { type: string; text?: string }) => {\n if ('type' in part && part.type === 'text') {\n return part.text;\n }\n\n return '';\n })\n .filter(Boolean)\n .join('\\n')\n : typeof message.content === 'string'\n ? message.content\n : '';\n\n if (content) {\n lines.push(`system: ${content}`);\n }\n continue;\n }\n\n const content = Array.isArray(message.content)\n ? message.content\n .map((part: { type: string; text?: string; filename?: string }) => {\n if ('type' in part && part.type === 'text') {\n return part.text;\n }\n\n if ('type' in part && part.type === 'file') {\n return `[file:${part.filename ?? 'attachment'}]`;\n }\n\n return '';\n })\n .filter(Boolean)\n .join('\\n')\n : typeof message.content === 'string'\n ? message.content\n : '';\n\n lines.push(`${message.role}: ${content}`);\n }\n\n return lines.join('\\n\\n').trim();\n}\n\nfunction resumeDataToPrompt(resumeData: unknown): string {\n if (typeof resumeData === 'string') {\n return resumeData;\n }\n\n if (resumeData == null) {\n return '';\n }\n\n return JSON.stringify(resumeData, null, 2);\n}\n\nfunction createResumeSchema(): string {\n return JSON.stringify({\n type: 'object',\n additionalProperties: true,\n description: 'Data to continue the remote A2A task.',\n });\n}\n\nfunction resolveStreamTextId(candidateIds: Array<string | undefined>): string {\n for (const candidate of candidateIds) {\n if (candidate) {\n return candidate;\n }\n }\n\n return 'text-1';\n}\n\nfunction resolveMemoryInfo<OUTPUT>(options?: AgentExecutionOptionsBase<OUTPUT>) {\n const threadId = typeof options?.memory?.thread === 'string' ? options.memory.thread : options?.memory?.thread?.id;\n\n return {\n threadId,\n resourceId: options?.memory?.resource,\n };\n}\n\nfunction createResponseMessages(\n text: string,\n memoryInfo: { threadId?: string; resourceId?: string } = {},\n): MastraDBMessage[] {\n if (!text) {\n return [];\n }\n\n return new MessageList(memoryInfo)\n .add(\n {\n role: 'assistant',\n content: text,\n },\n 'response',\n )\n .get.response.db();\n}\n\nfunction createGenerateResult({\n runId,\n text,\n task,\n message,\n resumePayload,\n resumeSchema,\n threadId,\n resourceId,\n}: {\n runId: string;\n text: string;\n task?: Task;\n message?: Message;\n resumePayload?: A2AAgentResumePayload;\n resumeSchema?: string;\n threadId?: string;\n resourceId?: string;\n}): A2AAgentGenerateResult {\n const responseMessages = createResponseMessages(text, { threadId, resourceId });\n\n return {\n text,\n usage: EMPTY_USAGE,\n steps: [],\n finishReason: resumePayload ? 'suspended' : 'stop',\n warnings: [],\n providerMetadata: undefined,\n request: {},\n reasoning: [],\n reasoningText: undefined,\n toolCalls: [],\n toolResults: [],\n sources: [],\n files: [],\n response: {\n id: message?.messageId ?? task?.id ?? runId,\n timestamp: new Date(),\n modelId: 'a2a/remote-agent',\n messages: [],\n uiMessages: [],\n dbMessages: responseMessages,\n },\n totalUsage: EMPTY_USAGE,\n object: undefined,\n error: undefined,\n tripwire: undefined,\n traceId: undefined,\n spanId: undefined,\n runId,\n suspendPayload: resumePayload,\n resumeSchema,\n messages: responseMessages,\n rememberedMessages: [],\n task,\n message,\n resumePayload,\n };\n}\n\nfunction unwrapA2AResult(result: unknown): Message | Task {\n if (!result || typeof result !== 'object') {\n throw MastraA2AError.invalidAgentResponse('Remote A2A agent returned an invalid response.');\n }\n\n if ('result' in result && result.result && typeof result.result === 'object') {\n return result.result as Message | Task;\n }\n\n return result as Message | Task;\n}\n\nfunction createDeferred<T>(): Deferred<T> {\n let resolve!: Deferred<T>['resolve'];\n let reject!: Deferred<T>['reject'];\n\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { promise, resolve, reject };\n}\n\nasync function requireResponseBody(response: Response, operation: string) {\n if (!response.body) {\n throw MastraA2AError.invalidAgentResponse(`Remote A2A agent returned an empty stream for ${operation}.`);\n }\n\n return response.body;\n}\n\nexport class A2AAgent implements SubAgent {\n readonly id: string;\n readonly name: string;\n\n readonly #url: string;\n readonly #description: string;\n readonly #headers: Record<string, string>;\n readonly #fetch: FetchLike;\n readonly #retries: number;\n readonly #backoffMs: number;\n readonly #maxBackoffMs: number;\n readonly #credentials?: RequestCredentialsMode;\n readonly #abortSignal?: AbortSignal;\n readonly #timeoutMs?: number;\n readonly #verifyAgentCard?: A2AAgentOptions['verifyAgentCard'];\n\n #cachedBootstrap?: AgentBootstrap;\n readonly #runState = new Map<string, A2AAgentRunState>();\n #memory?: DynamicArgument<MastraMemory>;\n #mastra?: Mastra;\n\n constructor(options: A2AAgentOptions) {\n this.#url = options.url.replace(/\\/$/, '');\n this.#description = options.description ?? `Remote A2A agent at ${this.#url}`;\n this.#headers = options.headers ?? {};\n this.#fetch = options.fetch ?? fetch;\n this.#retries = options.retries ?? 0;\n this.#backoffMs = options.backoffMs ?? 250;\n this.#maxBackoffMs = options.maxBackoffMs ?? 1_000;\n this.#credentials = options.credentials;\n this.#abortSignal = options.abortSignal;\n this.#timeoutMs = options.timeoutMs;\n this.#verifyAgentCard = options.verifyAgentCard;\n this.id = options.id ?? `a2a-${randomUUID()}`;\n this.name = options.name ?? options.description ?? 'A2A Agent';\n }\n\n async getAgentCard({ forceRefresh = false }: { forceRefresh?: boolean } = {}): Promise<AgentCard> {\n return (await this.#getBootstrap({ forceRefresh })).card;\n }\n\n getDescription(): string {\n return this.#description;\n }\n\n getModel: SubAgent['getModel'] = async () =>\n ({ specificationVersion: 'v2' }) as Awaited<ReturnType<SubAgent['getModel']>>;\n\n hasOwnMemory(): boolean {\n return Boolean(this.#memory);\n }\n\n __setMemory(memory: DynamicArgument<MastraMemory>): void {\n this.#memory = memory;\n }\n\n async getMemory({ requestContext = new RequestContext() }: { requestContext?: RequestContext } = {}) {\n if (!this.#memory) {\n return undefined;\n }\n\n if (typeof this.#memory !== 'function') {\n return this.#memory;\n }\n\n return await this.#memory({\n requestContext,\n mastra: this.#mastra,\n });\n }\n\n getInstructions: SubAgent['getInstructions'] = async () => '';\n\n __registerMastra(mastra: Mastra): void {\n this.#mastra = mastra;\n }\n\n async generate(\n messages: MessageListInput,\n options?: AgentExecutionOptionsBase<unknown>,\n ): Promise<A2AAgentGenerateResult> {\n const bootstrap = await this.#getBootstrap();\n const runId = options?.runId ?? randomUUID();\n const prompt = messagesToPrompt(messages, options);\n const memoryInfo = resolveMemoryInfo(options);\n\n return this.#sendAndResolve({\n bootstrap,\n runId,\n prompt,\n signal: options?.abortSignal,\n ...memoryInfo,\n });\n }\n\n async resumeGenerate(\n resumeData: unknown,\n options?: AgentExecutionOptionsBase<unknown>,\n ): Promise<A2AAgentGenerateResult> {\n const runId = options?.runId;\n if (!runId) {\n throw MastraA2AError.invalidParams('A2AAgent.resumeGenerate requires a runId.');\n }\n\n const state = this.#runState.get(runId);\n if (!state) {\