fg-tracker-sdk 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +38 -4
- package/dist/fastify.d.ts +5 -0
- package/dist/fastify.d.ts.map +1 -0
- package/dist/fastify.js +90 -0
- package/dist/fastify.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/infra/aws.d.ts +4 -0
- package/dist/infra/aws.d.ts.map +1 -1
- package/dist/infra/aws.js +156 -1
- package/dist/infra/aws.js.map +1 -1
- package/dist/infra/lambda.d.ts.map +1 -1
- package/dist/infra/lambda.js +13 -5
- package/dist/infra/lambda.js.map +1 -1
- package/dist/infra/messaging.d.ts +11 -12
- package/dist/infra/messaging.d.ts.map +1 -1
- package/dist/infra/messaging.js +100 -25
- package/dist/infra/messaging.js.map +1 -1
- package/dist/koa.d.ts +4 -0
- package/dist/koa.d.ts.map +1 -0
- package/dist/koa.js +80 -0
- package/dist/koa.js.map +1 -0
- package/dist/types.d.ts +66 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -2
package/dist/infra/aws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAoB,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAyB,MAAM,qBAAqB,CAAC;AAGhG,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,WAAW,GAIZ,MAAM,gBAAgB,CAAC;AAuBxB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAIrD,MAAM,WAAW,GAA4B;IAC3C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,aAAa;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,SAAS,aAAa,CAAC,MAAqB,EAAE,OAA2B;IACvE,MAAM,GAAG,GACP,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACzE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC3D,KAAK,CAAC;IACR,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAqB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAO,MAAwB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACxF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC;AAC/E,CAAC;AAED,iHAAiH;AACjH,KAAK,UAAU,mBAAmB,CAAC,MAAqB;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IACzC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAO,QAA0B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9F,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;aACzD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,KAA8C,CAAC;YACzD,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;iBACjD,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG;gBAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;iBAChD,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC;IACzD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACjG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,cAAuB;IAChE,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;IACpI,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtI,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3H,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,GAAW,EAAE,cAAuB;IACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,GAAG,CAAC;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IACtD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB,EAAE,IAAe,EAAE,OAAe,EAAE,SAAiB,EAAE,MAA0B,EAAE,cAAsB;IAC7I,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,OAAO,IAAI,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxI,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAC/I,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,SAAS;IACT,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,MAAM;IACN,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;CACrB,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,wCAAwC,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC;AAEzI,SAAS,YAAY,CAAC,SAAiB,EAAE,KAA8B;IACrE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC3E,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,IAAI;oBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AASD,SAAS,YAAY,CACnB,GAAoB,EACpB,OAAgB,EAChB,SAAiB,EACjB,KAA8B,EAC9B,MAA0B;IAE1B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,GAAG;gBACZ,MAAM,CAAC,MAAM,EAAE,KAAK;oBAClB,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAC7I,OAAO;oBACT,CAAC;oBACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;oBACxB,QAAQ,SAAS,EAAE,CAAC;wBAClB,KAAK,aAAa;4BAChB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;4BACrB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;4BACzD,MAAM;wBACR,KAAK,kBAAkB,CAAC,CAAC,CAAC;4BACxB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACnC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;4BACtC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;4BAC1G,IAAI,MAAM,GAAG,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;4BAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BAC/G,MAAM;wBACR,CAAC;wBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;4BACtB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;4BACvC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;4BAChC,IAAI,KAAK,KAAK,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;4BAC9C,MAAM;wBACR,CAAC;wBACD,KAAK,eAAe;4BAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;4BACxB,MAAM;wBACR,KAAK,oBAAoB,CAAC,CAAC,CAAC;4BAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;4BACtC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;4BACxH,IAAI,MAAM,GAAG,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;4BAC/C,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,cAAc;gBAAE,OAAO,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACzC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,GAAG;gBACZ,MAAM,CAAC,MAAM,EAAE,KAAK;oBAClB,IAAI,KAAK;wBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBACjD,OAAO;oBACT,CAAC;oBACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBACtD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;oBAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;oBACnD,IAAI,MAAM,GAAG,CAAC;wBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzG,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YACxI,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,MAAM,EAAE,KAAK;oBAClB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;wBAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;4BACvB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;4BACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;4BAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAClD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;wBACzB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS;4BAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;;4BACjD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY;gBAAE,OAAO,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC3E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,GAAG;gBACZ,MAAM,CAAC,MAAM,EAAE,KAAK;oBAClB,IAAI,KAAK;wBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACzC,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;wBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9C,OAAO;oBACT,CAAC;oBACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;oBACnD,IAAI,MAAM,GAAG,CAAC;wBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxG,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;gBACnC,MAAM,CAAC,MAAM,EAAE,KAAK;oBAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;wBAChC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACtB,IAAI,KAAK,EAAE,CAAC;4BACV,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;4BACvB,MAAM,IAAI,GAAI,KAA2B,EAAE,IAAI,IAAI,EAAE,CAAC;4BACtD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBAC3D,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK;wBAAE,OAAO;oBAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBACnF,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACtC,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;wBACxF,IAAI,CAAC,GAAG;4BAAE,SAAS;wBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;wBAChD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;wBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;4BACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;4BAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;wBAChE,CAAC;6BAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;wBAC3D,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,oBAAoB;gBAAE,OAAO,EAAE,CAAC;YACpF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,GAAG;gBACZ,MAAM,CAAC,MAAM,EAAE,KAAK;oBAClB,IAAI,KAAK;wBAAE,OAAO;oBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACxB,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;wBACvC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,MAAM,KAAK,WAAW;4BAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;6BACjD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS;4BAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACzG,CAAC;gBACH,CAAC;aACF,CAAC;QACJ,CAAC;QACD;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC;IACxD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,yHAAyH;AACzH,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IACpD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AA4BD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAiC,CAAC;AAE9D,kHAAkH;AAClH,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAoBD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;SAChE,CAAC;QACJ,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACzC,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,SAAiB,EAAE,GAAiC,EAAE,UAAuD;IAClJ,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,EAAE,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;IACtE,iGAAiG;IACjG,6FAA6F;IAC7F,gGAAgG;IAChG,8FAA8F;IAC9F,2BAA2B;IAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IACrH,MAAM,IAAI,GAAG;QACX,kBAAkB,EAAE,SAAS;QAC7B,0BAA0B,EAAE,MAAM;QAClC,0BAA0B,EAAE,SAAS;QACrC,4BAA4B,EAAE,SAAS;QACvC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,eAAe,SAAS,EAAE;YAChC,UAAU,EAAE,IAAI;YAChB,MAAM,CAAC,GAAG;gBACR,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC9H,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC/D,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,EAAE,QAAQ;gBACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,OAAO,MAAM,CAAC;gBAC5C,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;gBAC1B,IAAI,GAAG;oBAAE,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC;;oBACrC,OAAO,GAAG,CAAC,sBAAsB,CAAC;gBACvC,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO;YACL,IAAI,EAAE,eAAe,SAAS,EAAE;YAChC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,+BAA+B,EAAE,OAAO,CAAC,MAAM,EAAE;YACxE,MAAM,CAAC,GAAG;gBACR,iFAAiF;gBACjF,IAAI,SAAS,GAAG,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3I,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;gBACnC,MAAM,OAAO,GAAsB,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC7H,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACpB,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;wBAC/B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjC,CAAC;yBAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxF,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACjH,CAAC;YACD,OAAO,CAAC,MAAM,EAAE,QAAQ;gBACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;oBAAE,OAAO,MAAM,CAAC;gBAC5E,OAAO;oBACL,GAAG,MAAM;oBACT,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE;wBAClD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;wBACrB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAE,OAAO,IAAI,CAAC;wBACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;wBACnE,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;wBACtB,IAAI,GAAG;4BAAE,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC;;4BACrC,OAAO,GAAG,CAAC,sBAAsB,CAAC;wBACvC,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC;iBACH,CAAC;YACJ,CAAC;YACD,YAAY,CAAC,MAAM,EAAE,QAAQ;gBAC3B,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpF,OAAO;oBACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;oBACtD,KAAK,CAAC,KAAK,EAAE,OAAO;wBAClB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACrH,OAAO;4BACL,GAAG,KAAK;4BACR,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;4BAClE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/G,CAAC;oBACJ,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,SAAiB,EAAE,GAAiC,EAAE,eAAuB;IAClH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,EAAE,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;IACtE,MAAM,IAAI,GAAG;QACX,kBAAkB,EAAE,SAAS;QAC7B,0BAA0B,EAAE,MAAM;QAClC,0BAA0B,EAAE,SAAS;QACrC,4BAA4B,EAAE,SAAS;QACvC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,oBAAoB,GAAG,KAAK,CAAC,gBAAgB,KAAK,MAAM,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,eAAe,SAAS,EAAE;YAChC,UAAU,EAAE,IAAI;YAChB,MAAM,CAAC,GAAG;gBACR,IAAI,oBAAoB;oBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACnG,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;gBACvF,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC/D,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO;QACL,IAAI,EAAE,eAAe,SAAS,EAAE;QAChC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,+BAA+B,EAAE,OAAO,CAAC,MAAM,EAAE;QACxE,MAAM,CAAC,GAAG;YACR,IAAI,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YACnI,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;gBACrF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;oBAC/B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxF,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAChI,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QAC3B,YAAY,CAAC,MAAM,EAAE,QAAQ;YAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5I,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpF,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE;gBACzE,KAAK,CAAC,KAAK,EAAE,OAAO;oBAClB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrH,OAAO;wBACL,GAAG,KAAK;wBACR,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBAC1H,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBAC/G,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa,EAAE,SAAiB,EAAE,GAAiC,EAAE,cAAsB;IACrH,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,GAAG,EAAE,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;IAClG,MAAM,IAAI,GAAG;QACX,kBAAkB,EAAE,aAAa;QACjC,0BAA0B,EAAE,MAAM;QAClC,0BAA0B,EAAE,SAAS;QACrC,4BAA4B,EAAE,UAAU;QACxC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;IACF,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,mBAAmB,UAAU,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,MAAM,CAAC,GAAG;gBACR,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;gBAC1F,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC/D,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO;QACL,IAAI,EAAE,mBAAmB,UAAU,EAAE;QACrC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,+BAA+B,EAAE,OAAO,CAAC,MAAM,EAAE;QACxE,MAAM,CAAC,GAAG;YACR,IAAI,SAAS,GAAG,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACxE,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC9C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7G,OAAO,GAAG,GAAG,SAAS,GAAG,iBAAiB,CAAC;YAC7C,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;gBACxF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;oBAC/B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBACI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtF,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC7G,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QAC3B,YAAY,CAAC,MAAM,EAAE,QAAQ;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;gBACvF,KAAK,CAAC,KAAK,EAAE,OAAO;oBAClB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;wBAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;4BAAE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACrE,CAAC,CAAC,CAAC;oBACH,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/G,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa,EAAE,MAAgC;IAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3E,OAAO;QACL,IAAI,EAAE,uBAAuB,OAAO,EAAE;QACtC,UAAU,EAAE;YACV,kBAAkB,EAAE,iBAAiB;YACrC,0BAA0B,EAAE,MAAM;YAClC,0BAA0B,EAAE,WAAW;YACvC,4BAA4B,EAAE,OAAO;YACrC,+BAA+B,EAAE,OAAO,CAAC,MAAM;SAChD;QACD,MAAM,CAAC,GAAG;YACR,iDAAiD;YACjD,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAChH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;oBAC/B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxF,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACjH,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;QAC3B,YAAY,CAAC,MAAM,EAAE,QAAQ;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;gBACvF,2DAA2D;gBAC3D,KAAK,CAAC,KAAK,EAAE,OAAO;oBAClB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;wBAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;4BAAE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACrE,CAAC,CAAC,CAAC;oBACH,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC9G,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAA0B,IAAiB,EAAE,MAAS,EAAE,UAAqC,EAAE;IAChI,MAAM,MAAM,GAAG,MAAqC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;IACnF,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,kBAAkB,IAAI,qBAAqB,CAAC,CAAC;QACnI,QAAQ,EAAE,OAAO,CAAC,kBAAkB,KAAK,SAAS;KACnD,CAAC;IACF,MAAM,iBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,0BAA0B,IAAI,6BAA6B,CAAC,CAAC,EAAE,CAAC;IACzK,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,kBAAkB,IAAI,qBAAqB,CAAC,CAAC,CAAC;IACtJ,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,qBAAqB,IAAI,wBAAwB,CAAC,CAAC,CAAC;IACrK,IAAI,aAAa,GAAuC,IAAI,CAAC;IAC7D,IAAI,eAAe,GAAuC,IAAI,CAAC;IAE/D,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAE,OAA0B,EAAkB,EAAE,CACtF,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9E,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,MAA0B,CAAC;QAC/B,IAAI,YAAgC,CAAC;QACrC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,aAAa,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,GAAG,MAAM,aAAa,CAAC;YAC7B,eAAe,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChD,YAAY,GAAG,MAAM,eAAe,CAAC;YACrC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACtG,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,MAAsC,EAAE,KAAc,EAAE,EAAE;YAC5E,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC,CAAC;QAEF,yFAAyF;QACzF;;;;WAIG;QACH,MAAM,IAAI,GAAG,KAAK,EAAE,SAAkB,EAAE,QAA0E,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;YACtI,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,SAAS,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;oBACrH,aAAa,EAAE,KAAK;oBACpB,eAAe,EAAE,SAAS;oBAC1B,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACxC,CAAC;YACD,6GAA6G;YAC7G,IAAI,KAAK,GAA4B,IAAI,CAAC;YAC1C,MAAM,WAAW,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,KAAK,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBACxF,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,6FAA6F;gBAC7F,wFAAwF;gBACxF,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChG,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;oBAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,QAAQ,GAAG,CAAC;wBAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBAC9D,IAAI,CAAC;wBACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,+BAA+B;oBACjC,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,CAAC;wBACH,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACvB,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,QAAQ,GAAG,CAAC;wBAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBAC9D,IAAI,KAAK,EAAE,CAAC;wBACV,SAAS,GAAG,IAAI,CAAC;wBACjB,IAAI,CAAC;4BACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACnB,CAAC;wBAAC,MAAM,CAAC;4BACP,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,CAAC;oBACH,CAAC;yBAAM,IAAI,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,YAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;wBAC1D,MAAM,IAAI,GAAI,GAA0B,EAAE,IAAI,CAAC;wBAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;oBAAS,CAAC;gBACT,iFAAiF;gBACjF,IAAI,CAAC,SAAS;oBAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEF,qGAAqG;QACrG,IAAI,WAAW,IAAI,OAAO,KAAK,KAAK,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;YACvE,IAAI,IAAI,GAAuB,IAAI,CAAC;YACpC,IAAI,CAAC;gBACH,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,8FAA8F;oBAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;wBAC7E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC7F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;4BAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACxD,IAAI,OAAO,GAAG,CAAC;4BAAE,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBAC/D,CAAC,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACnC,IAAI,WAAW,GAAG,MAAM,CAAC;oBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE;4BACxD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC5B,IAAI,CAAC;gCACH,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gCAC/C,OAAO,oBAAoB,CAAC,MAAM,EAAE,IAAK,CAAC,CAAC;4BAC7C,CAAC;4BAAC,MAAM,CAAC;gCACP,OAAO,OAAO,CAAC;4BACjB,CAAC;wBACH,CAAC,CAAC,CAAC;wBACH,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;oBACzE,CAAC;oBACD,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC1C,OAAO,WAAW,CAAC;gBACrB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACtB,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,IAAI,OAAO,KAAK,KAAK;oBAAE,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;qBACzF,IAAI,OAAO,KAAK,KAAK;oBAAE,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;qBACvG,IAAI,OAAO,KAAK,aAAa,IAAI,SAAS,KAAK,WAAW;oBAAE,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;qBAC1H,IAAI,OAAO,KAAK,SAAS;oBAAE,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACzH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;gBACtC,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACtB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7H,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;gBAC1D,IAAI,SAA4C,CAAC;gBACjD,IAAI,CAAC;oBACH,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACnE,CAAC;gBACD,WAAW,CAAC,YAAY,CAAC,gCAAgC,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpF,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,WAAW,CAAC,YAAY,CAAC,+BAA+B,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACpF,WAAW,CAAC,YAAY,CAAC,oCAAoC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClG,CAAC;gBACD,IAAI,GAAwC,CAAC;gBAC7C,IAAI,CAAC;oBACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,wFAAwF;oBACxF,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;wBAAE,MAAM,GAAG,CAAC;oBACxE,WAAW,CAAC,YAAY,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC;oBACtE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC9D,IAAI,KAAK,EAAE,CAAC;wBACV,WAAW,CAAC,YAAY,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC;wBACtE,yEAAyE;wBACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;wBACrF,IAAI,KAAK;4BAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACjD,CAAC;oBACD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBAAC,MAAM,CAAC;oBACP,0CAA0C;gBAC5C,CAAC;gBACD,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,SAAS;gBAAE,WAAW,CAAC,YAAY,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;YAC3E,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEJ,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7H,oGAAoG;IACpG,mGAAmG;IACnG,6FAA6F;IAC7F,qFAAqF;IACrF,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAkB,EAAE,CACvD,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;QACvI,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC;IACJ,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtJ,OAAO,MAAM,CAAC;AAChB,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,IAAiB,EAAE,KAAa,EAAE,EAAwB,EAAE,MAAyB;IAC9H,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC;IACtG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,IAA6B,CAAC;IAClC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,GAAG;gBACL,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,OAAO,EAAE,WAAW;gBACpD,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,OAAO,EAAE,UAAU;gBACjD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,OAAO,EAAE,aAAa;gBAC1D,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE,YAAY;gBACvD,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,OAAO,EAAE,SAAS;aAC/C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAA4B;QAC1C,kBAAkB,EAAE,SAAS;QAC7B,0BAA0B,EAAE,SAAS;QACrC,4BAA4B,EAAE,GAAG,CAAC,YAAY,IAAI,KAAK;QACvD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;IACF,IAAI,IAAI,EAAE,SAAS;QAAE,UAAU,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IACzE,IAAI,IAAI,EAAE,aAAa,KAAK,SAAS;QAAE,UAAU,CAAC,mCAAmC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACtI,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS;QAAE,UAAU,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACvH,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,eAAe,GAAG,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;IACxD,IAAI,IAAoB,CAAC;IACzB,IAAI,MAAM,IAAI,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAClD,4FAA4F;QAC5F,IAAI,OAAO;YAAE,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,8FAA8F;QAC9F,8FAA8F;QAC9F,mDAAmD;QACnD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvI,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACxE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../src/infra/lambda.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhJ,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iHAAiH;IACjH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,gBAAgB;IACxB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wDAAwD;IACxD,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACpC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAUD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"lambda.d.ts","sourceRoot":"","sources":["../../src/infra/lambda.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhJ,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iHAAiH;IACjH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,gBAAgB;IACxB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wDAAwD;IACxD,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACpC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAUD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA4BjE;AAED,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAI5E,wBAAgB,kBAAkB,IAAI,OAAO,CAS5C;AAgBD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1F;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,iBAAiB,EACjE,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/B,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CA0CxB"}
|
package/dist/infra/lambda.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { parseTraceContext, sanitizeBaggage } from '../context.js';
|
|
3
|
-
import { metaContext, readEventBridgeDetail, readSqsMessage, uniqueLinks } from './messaging.js';
|
|
3
|
+
import { metaContext, readEventBridgeDetail, readKinesisRecord, readSnsMessage, readSqsMessage, uniqueLinks } from './messaging.js';
|
|
4
4
|
function headerValue(headers, name) {
|
|
5
5
|
if (!headers || typeof headers !== 'object')
|
|
6
6
|
return undefined;
|
|
@@ -17,11 +17,19 @@ export function invocationOrigin(event) {
|
|
|
17
17
|
return {};
|
|
18
18
|
const record = event;
|
|
19
19
|
if (Array.isArray(record.Records)) {
|
|
20
|
-
const
|
|
21
|
-
|
|
20
|
+
const records = record.Records;
|
|
21
|
+
const sources = records.map((item) => String(item.eventSource ?? item.EventSource ?? '').toLowerCase());
|
|
22
|
+
const source = sources[0];
|
|
23
|
+
if (!source || !['aws:sqs', 'aws:sns', 'aws:kinesis'].includes(source) || sources.some((value) => value !== source))
|
|
22
24
|
return {};
|
|
23
|
-
const contexts =
|
|
24
|
-
|
|
25
|
+
const contexts = records.map((item) => {
|
|
26
|
+
if (source === 'aws:sqs')
|
|
27
|
+
return metaContext(readSqsMessage(item));
|
|
28
|
+
if (source === 'aws:sns')
|
|
29
|
+
return metaContext(readSnsMessage(item));
|
|
30
|
+
return readKinesisRecord(item);
|
|
31
|
+
});
|
|
32
|
+
return records.length === 1 ? { remote: contexts[0], source } : { batch: contexts, source };
|
|
25
33
|
}
|
|
26
34
|
if (typeof record['detail-type'] === 'string' && typeof record.source === 'string') {
|
|
27
35
|
return { remote: readEventBridgeDetail(record.detail), source: 'aws.events' };
|
package/dist/infra/lambda.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../src/infra/lambda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAoB,MAAM,eAAe,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../src/infra/lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,12 @@ export declare const SQS_MAX_MESSAGE_ATTRIBUTES = 10;
|
|
|
10
10
|
/** SQS: 1 MiB por mensagem (corpo + nome, tipo e valor dos atributos) e por lote (soma das entradas). */
|
|
11
11
|
export declare const SQS_MAX_MESSAGE_BYTES = 1048576;
|
|
12
12
|
export declare const SQS_MAX_BATCH_BYTES = 1048576;
|
|
13
|
+
export declare const SNS_MAX_MESSAGE_BYTES = 262144;
|
|
14
|
+
export declare const KINESIS_MAX_RECORD_BYTES = 1048576;
|
|
15
|
+
export declare const KINESIS_MAX_REQUEST_BYTES = 10485760;
|
|
16
|
+
export declare const SNS_MIN_MESSAGE_BYTES = 1024;
|
|
17
|
+
export declare const SNS_HARD_MAX_MESSAGE_BYTES = 1048576;
|
|
18
|
+
export declare const KINESIS_HARD_MAX_RECORD_BYTES = 10485760;
|
|
13
19
|
/** Menor `MaximumMessageSize` que uma fila aceita: abaixo disto nenhuma fila recusa por tamanho. */
|
|
14
20
|
export declare const SQS_MIN_MESSAGE_BYTES = 1024;
|
|
15
21
|
/** EventBridge `PutEvents`: a soma das entradas tem de ficar abaixo de 1 MiB. */
|
|
@@ -20,7 +26,7 @@ export declare const SQS_CONTEXT_ATTRIBUTES: readonly ["traceparent", "tracestat
|
|
|
20
26
|
export declare const SQS_SYSTEM_ATTRIBUTES: readonly ["SentTimestamp", "ApproximateReceiveCount"];
|
|
21
27
|
/** No máximo tantos links por span; o resto é contado em `links.dropped`. */
|
|
22
28
|
export declare const MAX_LINKS = 32;
|
|
23
|
-
export type PropagationSkip = 'present' | 'attribute_limit' | 'size_limit' | 'batch_size_limit' | 'not_json_object';
|
|
29
|
+
export type PropagationSkip = 'present' | 'attribute_limit' | 'size_limit' | 'batch_size_limit' | 'not_json_object' | 'unsupported_structure';
|
|
24
30
|
export interface SqsAttributeValueLike {
|
|
25
31
|
DataType?: string;
|
|
26
32
|
StringValue?: string;
|
|
@@ -37,16 +43,11 @@ export interface SqsInjection<E> {
|
|
|
37
43
|
addedBytes: number;
|
|
38
44
|
skipped?: PropagationSkip;
|
|
39
45
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Acrescenta o contexto aos `MessageAttributes` de uma mensagem (`SendMessage` ou entrada de
|
|
42
|
-
* `SendMessageBatch`) quando cabe: atributo livre (máx. 10), bytes livres na mensagem e no
|
|
43
|
-
* orçamento do lote (`budgetBytes`). Sem espaço para os dois, vai só o `traceparent`. Contexto já
|
|
44
|
-
* presente fica como está. A entrada original nunca é alterada: a injetada é uma cópia.
|
|
45
|
-
*/
|
|
46
46
|
export declare function injectSqsContext<E extends Record<string, unknown>>(entry: E, ctx: SpanContext, limits: {
|
|
47
47
|
messageBytes: number;
|
|
48
48
|
budgetBytes: number;
|
|
49
49
|
}): SqsInjection<E>;
|
|
50
|
+
export declare function injectSnsContext<E extends Record<string, unknown>>(entry: E, ctx: SpanContext, budgetBytes?: number, messageBytes?: number): SqsInjection<E>;
|
|
50
51
|
/**
|
|
51
52
|
* `MD5OfMessageAttributes` pelo algoritmo do SQS: atributos em ordem de nome; para cada um,
|
|
52
53
|
* tamanho (4 bytes, big-endian) + nome, tamanho + tipo, 1 byte de transporte (1 = String/Number,
|
|
@@ -80,6 +81,8 @@ export interface MessageMeta {
|
|
|
80
81
|
* (`messageAttributes`/`attributes`/`messageId`).
|
|
81
82
|
*/
|
|
82
83
|
export declare function readSqsMessage(record: unknown): MessageMeta;
|
|
84
|
+
export declare function readSnsMessage(record: unknown): MessageMeta;
|
|
85
|
+
export declare function readKinesisRecord(record: unknown): SpanContext | undefined;
|
|
83
86
|
export declare function metaContext(meta: MessageMeta | undefined): SpanContext | undefined;
|
|
84
87
|
/**
|
|
85
88
|
* Remove de uma mensagem recebida o que só a instrumentação pediu e recalcula o
|
|
@@ -117,12 +120,8 @@ export interface DetailInjection<E> {
|
|
|
117
120
|
addedBytes: number;
|
|
118
121
|
skipped?: PropagationSkip;
|
|
119
122
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Acrescenta o contexto ao `Detail` de uma entrada de `PutEvents` quando ele é um objeto JSON,
|
|
122
|
-
* ainda não tem `traceparent` e o acréscimo cabe no orçamento que sobra do pedido. O texto do
|
|
123
|
-
* usuário é preservado byte a byte: o contexto entra logo depois do `{` inicial.
|
|
124
|
-
*/
|
|
125
123
|
export declare function injectEventBridgeContext<E extends Record<string, unknown>>(entry: E, ctx: SpanContext, budgetBytes: number): DetailInjection<E>;
|
|
124
|
+
export declare function injectKinesisContext<E extends Record<string, unknown>>(record: E, ctx: SpanContext, requestBudgetBytes?: number, recordMaxBytes?: number): DetailInjection<E>;
|
|
126
125
|
/** Contexto de um evento do EventBridge entregue à Lambda (`detail.traceparent`). */
|
|
127
126
|
export declare function readEventBridgeDetail(detail: unknown): SpanContext | undefined;
|
|
128
127
|
export interface SpanLink {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/infra/messaging.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0I,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzL;;;;;GAKG;AAEH,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,yGAAyG;AACzG,eAAO,MAAM,qBAAqB,UAAY,CAAC;AAC/C,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAC7C,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,iFAAiF;AACjF,eAAO,MAAM,6BAA6B,UAAY,CAAC;AAIvD,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,wCAAmD,CAAC;AACvF,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,uDAAwD,CAAC;AAE3F,6EAA6E;AAC7E,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/infra/messaging.ts"],"names":[],"mappings":"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"}
|
package/dist/infra/messaging.js
CHANGED
|
@@ -11,6 +11,12 @@ export const SQS_MAX_MESSAGE_ATTRIBUTES = 10;
|
|
|
11
11
|
/** SQS: 1 MiB por mensagem (corpo + nome, tipo e valor dos atributos) e por lote (soma das entradas). */
|
|
12
12
|
export const SQS_MAX_MESSAGE_BYTES = 1_048_576;
|
|
13
13
|
export const SQS_MAX_BATCH_BYTES = 1_048_576;
|
|
14
|
+
export const SNS_MAX_MESSAGE_BYTES = 262_144;
|
|
15
|
+
export const KINESIS_MAX_RECORD_BYTES = 1_048_576;
|
|
16
|
+
export const KINESIS_MAX_REQUEST_BYTES = 10_485_760;
|
|
17
|
+
export const SNS_MIN_MESSAGE_BYTES = 1024;
|
|
18
|
+
export const SNS_HARD_MAX_MESSAGE_BYTES = 1_048_576;
|
|
19
|
+
export const KINESIS_HARD_MAX_RECORD_BYTES = 10_485_760;
|
|
14
20
|
/** Menor `MaximumMessageSize` que uma fila aceita: abaixo disto nenhuma fila recusa por tamanho. */
|
|
15
21
|
export const SQS_MIN_MESSAGE_BYTES = 1024;
|
|
16
22
|
/** EventBridge `PutEvents`: a soma das entradas tem de ficar abaixo de 1 MiB. */
|
|
@@ -59,7 +65,7 @@ function sqsContextAttributes(ctx) {
|
|
|
59
65
|
* orçamento do lote (`budgetBytes`). Sem espaço para os dois, vai só o `traceparent`. Contexto já
|
|
60
66
|
* presente fica como está. A entrada original nunca é alterada: a injetada é uma cópia.
|
|
61
67
|
*/
|
|
62
|
-
|
|
68
|
+
function injectMessageAttributes(entry, body, ctx, limits) {
|
|
63
69
|
const attributes = obj(entry.MessageAttributes);
|
|
64
70
|
if (hasKey(attributes, TRACEPARENT_HEADER))
|
|
65
71
|
return { entry, injected: false, addedBytes: 0, skipped: 'present' };
|
|
@@ -69,7 +75,7 @@ export function injectSqsContext(entry, ctx, limits) {
|
|
|
69
75
|
additions = additions.slice(0, 1);
|
|
70
76
|
if (used + additions.length > SQS_MAX_MESSAGE_ATTRIBUTES)
|
|
71
77
|
return { entry, injected: false, addedBytes: 0, skipped: 'attribute_limit' };
|
|
72
|
-
const current = sqsMessageBytes(
|
|
78
|
+
const current = sqsMessageBytes(body, attributes);
|
|
73
79
|
let added = additions.reduce((sum, [name, value]) => sum + sqsAttributeBytes(name, value), 0);
|
|
74
80
|
const fits = (bytes) => current + bytes <= limits.messageBytes && bytes <= limits.budgetBytes;
|
|
75
81
|
if (!fits(added) && additions.length > 1) {
|
|
@@ -81,6 +87,12 @@ export function injectSqsContext(entry, ctx, limits) {
|
|
|
81
87
|
}
|
|
82
88
|
return { entry: { ...entry, MessageAttributes: { ...attributes, ...Object.fromEntries(additions) } }, injected: true, addedBytes: added };
|
|
83
89
|
}
|
|
90
|
+
export function injectSqsContext(entry, ctx, limits) {
|
|
91
|
+
return injectMessageAttributes(entry, entry.MessageBody, ctx, limits);
|
|
92
|
+
}
|
|
93
|
+
export function injectSnsContext(entry, ctx, budgetBytes = Number.POSITIVE_INFINITY, messageBytes = SNS_MAX_MESSAGE_BYTES) {
|
|
94
|
+
return injectMessageAttributes(entry, entry.Message, ctx, { messageBytes, budgetBytes });
|
|
95
|
+
}
|
|
84
96
|
/**
|
|
85
97
|
* `MD5OfMessageAttributes` pelo algoritmo do SQS: atributos em ordem de nome; para cada um,
|
|
86
98
|
* tamanho (4 bytes, big-endian) + nome, tamanho + tipo, 1 byte de transporte (1 = String/Number,
|
|
@@ -156,11 +168,24 @@ function stringAttribute(attributes, name) {
|
|
|
156
168
|
continue;
|
|
157
169
|
const attr = obj(value);
|
|
158
170
|
// SDK (`StringValue`) e evento da Lambda (`stringValue`).
|
|
159
|
-
const raw = attr.StringValue ?? attr.stringValue;
|
|
171
|
+
const raw = attr.StringValue ?? attr.stringValue ?? attr.Value;
|
|
160
172
|
return typeof raw === 'string' ? raw : undefined;
|
|
161
173
|
}
|
|
162
174
|
return undefined;
|
|
163
175
|
}
|
|
176
|
+
function snsEnvelopeAttributes(body) {
|
|
177
|
+
if (typeof body !== 'string')
|
|
178
|
+
return {};
|
|
179
|
+
if (!body.trimStart().startsWith('{') || !/"Type"\s*:\s*"Notification"/.test(body))
|
|
180
|
+
return {};
|
|
181
|
+
try {
|
|
182
|
+
const envelope = obj(JSON.parse(body));
|
|
183
|
+
return envelope.Type === 'Notification' && typeof envelope.Message === 'string' ? obj(envelope.MessageAttributes) : {};
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return {};
|
|
187
|
+
}
|
|
188
|
+
}
|
|
164
189
|
function numeric(value) {
|
|
165
190
|
const parsed = typeof value === 'number' ? value : typeof value === 'string' && value.trim() ? Number(value) : NaN;
|
|
166
191
|
return Number.isFinite(parsed) ? parsed : undefined;
|
|
@@ -172,7 +197,10 @@ function numeric(value) {
|
|
|
172
197
|
*/
|
|
173
198
|
export function readSqsMessage(record) {
|
|
174
199
|
const message = obj(record);
|
|
175
|
-
const
|
|
200
|
+
const directAttributes = { ...obj(message.messageAttributes), ...obj(message.MessageAttributes) };
|
|
201
|
+
const directTraceparent = stringAttribute(directAttributes, TRACEPARENT_HEADER);
|
|
202
|
+
const envelopeAttributes = directTraceparent ? {} : snsEnvelopeAttributes(message.Body ?? message.body);
|
|
203
|
+
const attributes = { ...envelopeAttributes, ...directAttributes };
|
|
176
204
|
const system = { ...obj(message.attributes), ...obj(message.Attributes) };
|
|
177
205
|
const messageId = typeof message.MessageId === 'string' ? message.MessageId : typeof message.messageId === 'string' ? message.messageId : undefined;
|
|
178
206
|
return {
|
|
@@ -183,6 +211,30 @@ export function readSqsMessage(record) {
|
|
|
183
211
|
messageId,
|
|
184
212
|
};
|
|
185
213
|
}
|
|
214
|
+
export function readSnsMessage(record) {
|
|
215
|
+
const message = obj(record);
|
|
216
|
+
const sns = obj(message.Sns ?? message.sns);
|
|
217
|
+
const attributes = obj(sns.MessageAttributes ?? sns.messageAttributes);
|
|
218
|
+
return {
|
|
219
|
+
traceparent: stringAttribute(attributes, TRACEPARENT_HEADER),
|
|
220
|
+
tracestate: stringAttribute(attributes, TRACESTATE_HEADER),
|
|
221
|
+
messageId: typeof sns.MessageId === 'string' ? sns.MessageId : typeof sns.messageId === 'string' ? sns.messageId : undefined,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
export function readKinesisRecord(record) {
|
|
225
|
+
try {
|
|
226
|
+
const kinesis = obj(obj(record).kinesis ?? obj(record).Kinesis);
|
|
227
|
+
const data = kinesis.data ?? kinesis.Data;
|
|
228
|
+
const bytes = data instanceof Uint8Array ? data : typeof data === 'string' ? Buffer.from(data, 'base64') : undefined;
|
|
229
|
+
if (!bytes)
|
|
230
|
+
return undefined;
|
|
231
|
+
const text = new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
232
|
+
return readEventBridgeDetail(JSON.parse(text));
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
186
238
|
export function metaContext(meta) {
|
|
187
239
|
return meta ? parseTraceContext(meta.traceparent, meta.tracestate) : undefined;
|
|
188
240
|
}
|
|
@@ -310,38 +362,61 @@ function detailFragment(ctx) {
|
|
|
310
362
|
.map(([key, value]) => `${JSON.stringify(key)}:${JSON.stringify(value)}`)
|
|
311
363
|
.join(',');
|
|
312
364
|
}
|
|
313
|
-
|
|
314
|
-
* Acrescenta o contexto ao `Detail` de uma entrada de `PutEvents` quando ele é um objeto JSON,
|
|
315
|
-
* ainda não tem `traceparent` e o acréscimo cabe no orçamento que sobra do pedido. O texto do
|
|
316
|
-
* usuário é preservado byte a byte: o contexto entra logo depois do `{` inicial.
|
|
317
|
-
*/
|
|
318
|
-
export function injectEventBridgeContext(entry, ctx, budgetBytes) {
|
|
319
|
-
const detail = entry.Detail;
|
|
320
|
-
if (typeof detail !== 'string')
|
|
321
|
-
return { entry, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
365
|
+
function injectJsonContext(text, ctx, budgetBytes, overBudget = 'batch_size_limit') {
|
|
322
366
|
let parsed;
|
|
323
367
|
try {
|
|
324
|
-
parsed = JSON.parse(
|
|
368
|
+
parsed = JSON.parse(text);
|
|
325
369
|
}
|
|
326
370
|
catch {
|
|
327
|
-
return { entry, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
371
|
+
return { entry: text, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
328
372
|
}
|
|
329
373
|
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
|
|
330
|
-
return { entry, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
374
|
+
return { entry: text, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
331
375
|
if (Object.hasOwn(parsed, TRACEPARENT_HEADER))
|
|
332
|
-
return { entry, injected: false, addedBytes: 0, skipped: 'present' };
|
|
333
|
-
const open =
|
|
376
|
+
return { entry: text, injected: false, addedBytes: 0, skipped: 'present' };
|
|
377
|
+
const open = text.indexOf('{');
|
|
334
378
|
const empty = Object.keys(parsed).length === 0;
|
|
335
|
-
const build = (fragment) => `${
|
|
379
|
+
const build = (fragment) => `${text.slice(0, open + 1)}${fragment}${empty ? '' : ','}${text.slice(open + 1)}`;
|
|
336
380
|
let fragment = detailFragment(ctx);
|
|
337
|
-
let added = utf8(build(fragment)) - utf8(
|
|
381
|
+
let added = utf8(build(fragment)) - utf8(text);
|
|
338
382
|
if (added > budgetBytes && ctx.traceState) {
|
|
339
383
|
fragment = detailFragment({ ...ctx, traceState: undefined });
|
|
340
|
-
added = utf8(build(fragment)) - utf8(
|
|
384
|
+
added = utf8(build(fragment)) - utf8(text);
|
|
341
385
|
}
|
|
342
386
|
if (added > budgetBytes)
|
|
343
|
-
return { entry, injected: false, addedBytes: 0, skipped:
|
|
344
|
-
return { entry:
|
|
387
|
+
return { entry: text, injected: false, addedBytes: 0, skipped: overBudget };
|
|
388
|
+
return { entry: build(fragment), injected: true, addedBytes: added };
|
|
389
|
+
}
|
|
390
|
+
export function injectEventBridgeContext(entry, ctx, budgetBytes) {
|
|
391
|
+
if (typeof entry.Detail !== 'string')
|
|
392
|
+
return { entry, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
393
|
+
const result = injectJsonContext(entry.Detail, ctx, budgetBytes);
|
|
394
|
+
return { ...result, entry: result.injected ? { ...entry, Detail: result.entry } : entry };
|
|
395
|
+
}
|
|
396
|
+
export function injectKinesisContext(record, ctx, requestBudgetBytes = Number.POSITIVE_INFINITY, recordMaxBytes = KINESIS_MAX_RECORD_BYTES) {
|
|
397
|
+
const data = record.Data;
|
|
398
|
+
let text;
|
|
399
|
+
let binary = false;
|
|
400
|
+
try {
|
|
401
|
+
if (typeof data === 'string')
|
|
402
|
+
text = data;
|
|
403
|
+
else if (data instanceof Uint8Array) {
|
|
404
|
+
text = new TextDecoder('utf-8', { fatal: true }).decode(data);
|
|
405
|
+
binary = true;
|
|
406
|
+
}
|
|
407
|
+
else
|
|
408
|
+
return { entry: record, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
409
|
+
}
|
|
410
|
+
catch {
|
|
411
|
+
return { entry: record, injected: false, addedBytes: 0, skipped: 'not_json_object' };
|
|
412
|
+
}
|
|
413
|
+
const recordSize = utf8(text) + utf8(record.PartitionKey);
|
|
414
|
+
const budget = Math.min(Math.max(0, recordMaxBytes - recordSize), Math.max(0, requestBudgetBytes));
|
|
415
|
+
const result = injectJsonContext(text, ctx, budget, 'size_limit');
|
|
416
|
+
return {
|
|
417
|
+
...result,
|
|
418
|
+
entry: result.injected ? { ...record, Data: binary ? Buffer.from(result.entry) : result.entry } : record,
|
|
419
|
+
};
|
|
345
420
|
}
|
|
346
421
|
/** Contexto de um evento do EventBridge entregue à Lambda (`detail.traceparent`). */
|
|
347
422
|
export function readEventBridgeDetail(detail) {
|
|
@@ -376,10 +451,10 @@ export function isValidationError(error) {
|
|
|
376
451
|
if (status !== undefined && status !== 400 && status !== 413)
|
|
377
452
|
return false;
|
|
378
453
|
const text = `${typeof e.name === 'string' ? e.name : ''} ${typeof e.Code === 'string' ? e.Code : ''} ${typeof e.code === 'string' ? e.code : ''}`;
|
|
379
|
-
return /
|
|
454
|
+
return /InvalidParameter|InvalidArgument|InvalidAttribute|InvalidMessageContents|BatchRequestTooLong|MessageTooLong|ValidationException|RequestEntityTooLarge|TooManyAttributes/i.test(text);
|
|
380
455
|
}
|
|
381
456
|
/** Código de falha por entrada (lote) que indica limite ou atributo inválido. */
|
|
382
457
|
export function isValidationCode(code) {
|
|
383
|
-
return typeof code === 'string' && /
|
|
458
|
+
return typeof code === 'string' && /InvalidParameter|InvalidArgument|InvalidAttribute|InvalidMessageContents|MessageTooLong|ValidationException|TooLarge|TooManyAttributes/i.test(code);
|
|
384
459
|
}
|
|
385
460
|
//# sourceMappingURL=messaging.js.map
|