@ifc-lite/geometry 7.2.0 → 7.4.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/dist/coordinate-handler.js +4 -4
- package/dist/coordinate-handler.js.map +1 -1
- package/dist/coordinate-types.d.ts +8 -1
- package/dist/coordinate-types.d.ts.map +1 -1
- package/dist/geometry-parallel-options.d.ts +29 -0
- package/dist/geometry-parallel-options.d.ts.map +1 -1
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +228 -87
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry-worker-init.d.ts +9 -0
- package/dist/geometry-worker-init.d.ts.map +1 -0
- package/dist/geometry-worker-init.js +64 -0
- package/dist/geometry-worker-init.js.map +1 -0
- package/dist/geometry.worker.d.ts +16 -0
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +15 -8
- package/dist/geometry.worker.js.map +1 -1
- package/dist/hung-job-recovery.d.ts +145 -0
- package/dist/hung-job-recovery.d.ts.map +1 -0
- package/dist/hung-job-recovery.js +289 -0
- package/dist/hung-job-recovery.js.map +1 -0
- package/dist/index.d.ts +18 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/rtc-rebase.d.ts +101 -0
- package/dist/rtc-rebase.d.ts.map +1 -0
- package/dist/rtc-rebase.js +135 -0
- package/dist/rtc-rebase.js.map +1 -0
- package/dist/stall-phase.d.ts +111 -0
- package/dist/stall-phase.d.ts.map +1 -0
- package/dist/stall-phase.js +164 -0
- package/dist/stall-phase.js.map +1 -0
- package/dist/types.d.ts +6 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/world-frame.d.ts +44 -5
- package/dist/world-frame.d.ts.map +1 -1
- package/dist/world-frame.js +70 -6
- package/dist/world-frame.js.map +1 -1
- package/package.json +9 -4
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,6CAA6C;AAC7C,OAAO,EAAE,aAAa,EAAkI,MAAM,sBAAsB,CAAC;AACrL,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,iFAAiF;AACjF,OAAO,EACL,oBAAoB,EACpB,OAAO,GAUR,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,uFAAuF;AACvF,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAkD,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,2BAA2B,EAAuB,MAAM,eAAe,CAAC;AACjF,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EACL,2BAA2B,EAAE,yBAAyB,EACtD,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,8CAA8C;AAC9C,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO;AACL,wFAAwF;AACxF,uFAAuF;AACvF,0FAA0F;AAC1F,oBAAoB,GAIrB,MAAM,+BAA+B,CAAC;AAEvC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAqE,MAAM,sBAAsB,CAAC;AAIxI,wBAAwB;AACxB,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,eAAe,EAAiB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAyClD,IAAI,4BAA4B,GAAkB,IAAI,CAAC;AAEvD,SAAS,6BAA6B,CAAC,SAAiB;IACtD,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,uBAAuB,4BAA4B,qBAAqB;YACtG,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,4BAA4B,GAAG,SAAS,CAAC;IACzC,OAAO,GAAG,EAAE;QACV,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAC/C,4BAA4B,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AA8ED,4EAA4E;AAC5E,8CAA8C;AAE9C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAC,+BAA+B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAE3D,MAAM,GAAyB,IAAI,CAAC;IACpC,cAAc,GAA2B,IAAI,CAAC;IAC9C,aAAa,CAAgB;IAC7B,iBAAiB,CAAoB;IACrC,QAAQ,GAAY,KAAK,CAAC;IAC1B,eAAe,GAAiC,IAAI,CAAC;IACrD,WAAW,CAAU;IACrB,gBAAgB,CAAU;IAC1B,mBAAmB,CAA6B;IAChD,aAAa,CAAU;IAE/B,YAAY,UAAoC,EAAE;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAClC,uEAAuE;YACvE,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,iEAAiE;YACjE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC7D,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,+CAA+C;YAC/C,IAAI,CAAC,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,oEAAoE;oBACpE,iEAAiE;oBACjE,mEAAmE;oBACnE,4BAA4B,CAAC,GAAG,CAAC,CAAC;oBAClC,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,WAA8B;QAC9D,KAAK,WAAW,CAAC;QAEjB,IAAI,MAAkB,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,mCAAmC;YACnC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACjC,yDAAyD;YACzD,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;YAC3D,MAAM,cAAc,GAAmB;gBACrC,GAAG,yBAAyB;gBAC5B,gBAAgB;aACjB,CAAC;YACF,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAE9D,kBAAkB;YAClB,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,cAAc;aACf,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEpE,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9D,kBAAkB;QAClB,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,cAAc;SACf,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH;;;;;;OAMG;IACK,oBAAoB,CAC1B,OAAmC,EACnC,eAAqD;QAErD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,OAAO,CAAC,SAAS,EACjB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAChE,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,uBAAuB,CAC7B,MAAkB,EAClB,eAAqD;QAErD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAA+B,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YAEzC,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClC,mEAAmE;gBACnE,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CACzC,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,SAAS,EACjB,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,UAAU,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,cAAc,CACvB,CAAC;gBACF,sEAAsE;gBACtE,sEAAsE;gBACtE,mEAAmE;gBACnE,MAAM,KAAK,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,SAAS,EAAE,CAAC;QAC7E,CAAC;gBAAS,CAAC;YACT,2EAA2E;YAC3E,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,MAAkB,EAAE,YAA+B;QACvF,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,wEAAwE;IACxE,wEAAwE;IAEhE,KAAK,CAAC,CAAC,qBAAqB,CAClC,MAAkB,EAClB,WAAwC;IACxC,0EAA0E;IAC1E,4EAA4E;IAC5E,eAAqD;QAErD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAA+B,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEhE,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAEzC,yEAAyE;YACzE,MAAM;gBACJ,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAC3C,MAAM,EAAE,GAAG,CAAC,UAAU;aACvB,CAAC;YAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,gBAAgB,CACjB,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,+DAA+D;YAC/D,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;YAC1F,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBACpF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CACzC,MAAM,EACN,QAAQ,EACR,OAAO,CAAC,SAAS,EACjB,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,UAAU,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,cAAc,CACvB,CAAC;gBAEF,MAAM,KAAK,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrD,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACvD,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;gBAChF,MAAM,cAAc,GAAG,qBAAqB;oBAC1C,CAAC,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC;gBAET,MAAM;oBACJ,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,WAAW;oBACvB,cAAc,EAAE,cAAc,IAAI,SAAS;iBAC5C,CAAC;gBAEF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,gBAAgB,CACjB,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,gBAAgB,CACrB,MAAkB,EAClB,YAA+B,EAC/B,cAA2C,EAAE,EAC7C,eAAqD;QAErD,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ;YACxC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC3F,CAAC;gBAAS,CAAC;YACT,oBAAoB,EAAE,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,wBAAwB,CACrC,MAAkB,EAClB,YAA+B,EAC/B,cAA2C,EAAE,EAC7C,eAAqD;QAErD,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,2EAA2E;YAC3E,qEAAqE;YACrE,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,0EAA0E;YAC1E,yCAAyC;YACzC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,KAAK,CAAC,CAAC,oBAAoB,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,CAAC,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,EAC5C;oBACE,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC;iBACnF,CACF,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,wEAAwE;gBACxE,qEAAqE;gBACrE,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,uEAAuE;YACvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAE7D,sDAAsD;YACtD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,oEAAoE;YACpE,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,kEAAkE;YAClE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YAED,KAAK,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,oBAAoB,CACzB,IAAY,EACZ,iBAAyB,CAAC,EAC1B,QAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,4BAA4B,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,CAAC,CAAC,oBAAoB,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,4BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EACxF,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9C,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,CAAC,qBAAqB,CAC1B,QAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,6BAA6B,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,CAAC,CAAC,oBAAoB,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,6BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnF,CAAC,EACD,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,eAAe,CACpB,MAAkB,EAClB,eAAqD;IACrD,qEAAqE;IACrE,WAA+B;IAC/B,2EAA2E;IAC3E,aAKS;IACT;;;;;;;OAOG;IACH,QAA4B;IAC5B;;;;;OAKG;IACH,mBAA4B,EAC5B,iBAAqC;QAErC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE;YACnF,aAAa;YACb,iBAAiB;YACjB,8DAA8D;YAC9D,iEAAiE;YACjE,8CAA8C;YAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iEAAiE;YACjE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,uEAAuE;YACvE,gEAAgE;YAChE,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,IAAI;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ;YACR,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,eAAe,CACpB,MAAkB,EAClB,UA+BI,EAAE;QAEN,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;QAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAE5C,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,uCAAuC;QACvC,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAE7D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAEzC,IAAI,SAAqB,CAAC;YAC1B,IAAI,gBAAoC,CAAC;YAEzC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACjE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAChF,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7B,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAChD,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,gBAAgB,CACjB,CAAC;YAEF,+CAA+C;YAC/C,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,SAAS,CAAC,MAAM;gBAC5B,cAAc,EAAE,cAAc,IAAI,SAAS;aAC5C,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,WAAW,GAAG,OAAO,iBAAiB,KAAK,WAAW;mBACvD,OAAO,MAAM,KAAK,WAAW;mBAC7B,OAAO,SAAS,KAAK,WAAW;mBAChC,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CACzB,MAAM,EACN,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,iBAAiB,CAC1B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAAC,YAA2B,2BAA2B;QACzE,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,KAAiC;QACtD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,yEAAyE;IACzE,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,iEAAiE;IACjE,oCAAoC;IAEpC;;;;;OAKG;IACH,4BAA4B,CAC1B,MAAkB,EAClB,KAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,MAAkB,EAAE,KAAgB;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAkB,EAAE,KAAgB;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,MAAkB,EAAE,KAAgB;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;oBAClB,IAAI,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,MAAkB,EAAE,aAAqB,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,MAAkB,EAClB,cAAc,GAAG,IAAI,EACrB,SAAsB,IAAI,WAAW,EAAE,EACvC,WAAoC,SAAS;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,MAAkB,EAClB,eAAe,GAAG,KAAK,EACvB,SAAsB,IAAI,WAAW,EAAE,EACvC,WAAoC,SAAS,EAC7C,cAAc,GAAG,EAAE,EACnB,GAAG,GAAG,IAAI,EACV,QAAQ,GAAG,KAAK;QAEhB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,MAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CACP,MAAkB,EAClB,OAA6D,UAAU,EACvE,SAAS,GAAG,GAAG,EACf,iBAAiB,GAAG,KAAK;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3E,CAAC;IAED,UAAU,CACR,MAAkB,EAClB,MAAM,GAAG,KAAK,EACd,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,IAAI;QAExB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAED,YAAY,CACV,MAAkB,EAClB,OAAO,GAAG,EAAE,EACZ,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,MAAM,GAAG,KAAK,EACd,WAAoC,SAAS;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAED,UAAU,CACR,MAAkB,EAClB,MAAM,GAAG,EAAE,EACX,WAAoC,SAAS,EAC7C,aAAa,GAAG,EAAE;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,MAAkB,EAAE,mBAAmB,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,gFAAgF;IAChF,SAAS,CAAC,MAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,uFAAuF;IACvF,YAAY,CAAC,OAAqB,EAAE,MAAM,GAAG,EAAE;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACnC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAkB,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK;QAC3F,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;YACjC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CACpC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,CACpH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,MAAkB,EAClB,MAAmC,EACnC,UAAqF,EAAE;QAEvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,qBAAqB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CACxG,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAyB,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAExC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,mEAAmE;YACnE,uDAAuD;YACvD,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CACpC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAChF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,IAAI,CAClF,CAAC;QAEF,wEAAwE;QACxE,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,CAAC;YACH,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,oEAAoE;YACpE,4BAA4B;YAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM;oBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,MAAM,GAAgB,GAAG,CAAC,UAAU,CAAC;YAC3C,MAAM,SAAS,GAAe,GAAG,CAAC,MAAM,CAAC;YACzC,MAAM,eAAe,GAAgB,GAAG,CAAC,YAAY,CAAC;YACtD,MAAM,cAAc,GAAgB,GAAG,CAAC,WAAW,CAAC;YACpD,MAAM,eAAe,GAAiB,GAAG,CAAC,eAAe,CAAC;YAC1D,MAAM,aAAa,GAAiB,GAAG,CAAC,aAAa,CAAC;YACtD,MAAM,aAAa,GAAgB,GAAG,CAAC,aAAa,CAAC;YACrD,MAAM,aAAa,GAAiB,GAAG,CAAC,aAAa,CAAC;YACtD,MAAM,cAAc,GAAiB,GAAG,CAAC,cAAc,CAAC;YACxD,MAAM,YAAY,GAAgB,GAAG,CAAC,YAAY,CAAC;YACnD,MAAM,UAAU,GAAgB,GAAG,CAAC,UAAU,CAAC;YAC/C,MAAM,SAAS,GAAgB,GAAG,CAAC,SAAS,CAAC;YAC7C,MAAM,eAAe,GAAgB,GAAG,CAAC,eAAe,CAAC;YAEzD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAa;oBACvB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,yBAAyB;oBAClD,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBACnD,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBAC/C,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClF,aAAa,EAAE,CAAC;oBAChB,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;oBACnB,MAAM;oBACN,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBACvD,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBACnD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBACvB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;iBACpC,CAAC,CAAC;gBACH,GAAG,IAAI,MAAM,CAAC;gBACd,GAAG,IAAI,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,UAAU,GAAgB,GAAG,CAAC,UAAU,CAAC;YAC/C,MAAM,cAAc,GAAa,GAAG,CAAC,cAAc,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,mBAAmB,CACjB,MAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,aAAiC,EACjC,aAAiC,EACjC,IAAI,GAAG,WAAW,EAClB,YAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CACpC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EACvE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAChF,CAAC;IACJ,CAAC;IAED,6FAA6F;IAC7F,YAAY,CAAC,MAAkB,EAAE,IAAY;QAC3C,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAED,sFAAsF;IACtF,qBAAqB,CAAC,MAAkB,EAAE,IAAY;QACpD,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,MAAkB,EAAE,IAAY;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,6CAA6C;AAC7C,OAAO,EAAE,aAAa,EAAkI,MAAM,sBAAsB,CAAC;AACrL,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,iFAAiF;AACjF,OAAO,EACL,oBAAoB,EACpB,OAAO,GAUR,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,uFAAuF;AACvF,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAkD,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,2BAA2B,EAAuB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAA4B,MAAM,wBAAwB,CAAC;AAI/F,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,OAAO,EACL,2BAA2B,EAAE,yBAAyB,EACtD,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,8CAA8C;AAC9C,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO;AACL,wFAAwF;AACxF,uFAAuF;AACvF,0FAA0F;AAC1F,oBAAoB,GAIrB,MAAM,+BAA+B,CAAC;AAEvC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAqE,MAAM,sBAAsB,CAAC;AAIxI,wBAAwB;AACxB,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,eAAe,EAAiB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAyClD,IAAI,4BAA4B,GAAkB,IAAI,CAAC;AAEvD,SAAS,6BAA6B,CAAC,SAAiB;IACtD,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,uBAAuB,4BAA4B,qBAAqB;YACtG,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,4BAA4B,GAAG,SAAS,CAAC;IACzC,OAAO,GAAG,EAAE;QACV,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAC/C,4BAA4B,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAgFD,4EAA4E;AAC5E,8CAA8C;AAE9C,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAC,+BAA+B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAE3D,MAAM,GAAyB,IAAI,CAAC;IACpC,cAAc,GAA2B,IAAI,CAAC;IAC9C,aAAa,CAAgB;IAC7B,iBAAiB,CAAoB;IACrC,QAAQ,GAAY,KAAK,CAAC;IAC1B,eAAe,GAAiC,IAAI,CAAC;IACrD,WAAW,CAAU;IACrB,gBAAgB,CAAU;IAC1B,mBAAmB,CAA6B;IAChD,aAAa,CAAU;IAE/B,YAAY,UAAoC,EAAE;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAClC,uEAAuE;YACvE,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,iEAAiE;YACjE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC7D,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,+CAA+C;YAC/C,IAAI,CAAC,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,oEAAoE;oBACpE,iEAAiE;oBACjE,mEAAmE;oBACnE,4BAA4B,CAAC,GAAG,CAAC,CAAC;oBAClC,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,WAA8B;QAC9D,KAAK,WAAW,CAAC;QAEjB,IAAI,MAAkB,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,mCAAmC;YACnC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACjC,yDAAyD;YACzD,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;YAC3D,MAAM,cAAc,GAAmB;gBACrC,GAAG,yBAAyB;gBAC5B,gBAAgB;aACjB,CAAC;YACF,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAE9D,kBAAkB;YAClB,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,cAAc;aACf,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEpE,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9D,kBAAkB;QAClB,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,cAAc;SACf,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH;;;;;;OAMG;IACK,oBAAoB,CAC1B,OAAmC,EACnC,eAAqD;QAErD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,OAAO,CAAC,SAAS,EACjB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAChE,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,uBAAuB,CAC7B,MAAkB,EAClB,eAAqD;QAErD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAA+B,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YAEzC,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClC,mEAAmE;gBACnE,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CACzC,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,SAAS,EACjB,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,UAAU,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,cAAc,CACvB,CAAC;gBACF,sEAAsE;gBACtE,sEAAsE;gBACtE,mEAAmE;gBACnE,MAAM,KAAK,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,SAAS,EAAE,CAAC;QAC7E,CAAC;gBAAS,CAAC;YACT,2EAA2E;YAC3E,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,MAAkB,EAAE,YAA+B;QACvF,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,wEAAwE;IACxE,wEAAwE;IAEhE,KAAK,CAAC,CAAC,qBAAqB,CAClC,MAAkB,EAClB,WAAwC;IACxC,0EAA0E;IAC1E,4EAA4E;IAC5E,eAAqD;QAErD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAA+B,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEhE,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAEzC,yEAAyE;YACzE,MAAM;gBACJ,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAC3C,MAAM,EAAE,GAAG,CAAC,UAAU;aACvB,CAAC;YAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,gBAAgB,CACjB,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,+DAA+D;YAC/D,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;YAC1F,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBACpF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CACzC,MAAM,EACN,QAAQ,EACR,OAAO,CAAC,SAAS,EACjB,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,CAAC,EACL,GAAG,CAAC,UAAU,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,cAAc,CACvB,CAAC;gBAEF,MAAM,KAAK,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrD,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACvD,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;gBAChF,MAAM,cAAc,GAAG,qBAAqB;oBAC1C,CAAC,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC;gBAET,MAAM;oBACJ,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,WAAW;oBACvB,cAAc,EAAE,cAAc,IAAI,SAAS;iBAC5C,CAAC;gBAEF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,gBAAgB,CACjB,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,gBAAgB,CACrB,MAAkB,EAClB,YAA+B,EAC/B,cAA2C,EAAE,EAC7C,eAAqD;QAErD,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ;YACxC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC3F,CAAC;gBAAS,CAAC;YACT,oBAAoB,EAAE,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,wBAAwB,CACrC,MAAkB,EAClB,YAA+B,EAC/B,cAA2C,EAAE,EAC7C,eAAqD;QAErD,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,2EAA2E;YAC3E,qEAAqE;YACrE,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,0EAA0E;YAC1E,yCAAyC;YACzC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,KAAK,CAAC,CAAC,oBAAoB,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,CAAC,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,EAC5C;oBACE,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC;iBACnF,CACF,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,wEAAwE;gBACxE,qEAAqE;gBACrE,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,uEAAuE;YACvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAE7D,sDAAsD;YACtD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,oEAAoE;YACpE,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,kEAAkE;YAClE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YAED,KAAK,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,oBAAoB,CACzB,IAAY,EACZ,iBAAyB,CAAC,EAC1B,QAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,4BAA4B,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,CAAC,CAAC,oBAAoB,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,4BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EACxF,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9C,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,CAAC,qBAAqB,CAC1B,QAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,6BAA6B,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,CAAC,CAAC,oBAAoB,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,6BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnF,CAAC,EACD,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,eAAe,CACpB,MAAkB,EAClB,eAAqD;IACrD,qEAAqE;IACrE,WAA+B;IAC/B,2EAA2E;IAC3E,aAKS;IACT;;;;;;;OAOG;IACH,QAA4B;IAC5B;;;;;OAKG;IACH,mBAA4B,EAC5B,iBAAqC;IACrC,8DAA8D;IAC9D,MAAoB;IACpB,2FAA2F;IAC3F,gBAAyB;IACzB,6DAA6D;IAC7D,gBAAmC;QAEnC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE;YACnF,aAAa;YACb,iBAAiB;YACjB,MAAM;YACN,gBAAgB;YAChB,gBAAgB;YAChB,8DAA8D;YAC9D,iEAAiE;YACjE,8CAA8C;YAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iEAAiE;YACjE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,uEAAuE;YACvE,gEAAgE;YAChE,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,IAAI;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ;YACR,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,eAAe,CACpB,MAAkB,EAClB,UAqCI,EAAE;QAEN,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;QAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAE5C,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,uCAAuC;QACvC,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAE7D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAEzC,IAAI,SAAqB,CAAC;YAC1B,IAAI,gBAAoC,CAAC;YAEzC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACjE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAChF,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7B,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAChD,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,oBAAoB,CACzC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,gBAAgB,CACjB,CAAC;YAEF,+CAA+C;YAC/C,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,SAAS,CAAC,MAAM;gBAC5B,cAAc,EAAE,cAAc,IAAI,SAAS;aAC5C,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,WAAW,GAAG,OAAO,iBAAiB,KAAK,WAAW;mBACvD,OAAO,MAAM,KAAK,WAAW;mBAC7B,OAAO,SAAS,KAAK,WAAW;mBAChC,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CACzB,MAAM,EACN,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,gBAAgB,CACzB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAAC,YAA2B,2BAA2B;QACzE,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,KAAiC;QACtD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,yEAAyE;IACzE,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,iEAAiE;IACjE,oCAAoC;IAEpC;;;;;OAKG;IACH,4BAA4B,CAC1B,MAAkB,EAClB,KAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,MAAkB,EAAE,KAAgB;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAkB,EAAE,KAAgB;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,MAAkB,EAAE,KAAgB;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;oBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;oBAClB,IAAI,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,MAAkB,EAAE,aAAqB,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CACP,MAAkB,EAClB,cAAc,GAAG,IAAI,EACrB,SAAsB,IAAI,WAAW,EAAE,EACvC,WAAoC,SAAS;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,MAAkB,EAClB,eAAe,GAAG,KAAK,EACvB,SAAsB,IAAI,WAAW,EAAE,EACvC,WAAoC,SAAS,EAC7C,cAAc,GAAG,EAAE,EACnB,GAAG,GAAG,IAAI,EACV,QAAQ,GAAG,KAAK;QAEhB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,MAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CACP,MAAkB,EAClB,OAA6D,UAAU,EACvE,SAAS,GAAG,GAAG,EACf,iBAAiB,GAAG,KAAK;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3E,CAAC;IAED,UAAU,CACR,MAAkB,EAClB,MAAM,GAAG,KAAK,EACd,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,IAAI;QAExB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAED,YAAY,CACV,MAAkB,EAClB,OAAO,GAAG,EAAE,EACZ,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,MAAM,GAAG,KAAK,EACd,WAAoC,SAAS;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAED,UAAU,CACR,MAAkB,EAClB,MAAM,GAAG,EAAE,EACX,WAAoC,SAAS,EAC7C,aAAa,GAAG,EAAE;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,MAAkB,EAAE,mBAAmB,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,gFAAgF;IAChF,SAAS,CAAC,MAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,uFAAuF;IACvF,YAAY,CAAC,OAAqB,EAAE,MAAM,GAAG,EAAE;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACnC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAkB,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK;QAC3F,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;YACjC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CACpC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,CACpH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,MAAkB,EAClB,MAAmC,EACnC,UAAqF,EAAE;QAEvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,qBAAqB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CACxG,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAyB,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAExC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,mEAAmE;YACnE,uDAAuD;YACvD,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CACpC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAChF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,IAAI,CAClF,CAAC;QAEF,wEAAwE;QACxE,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,CAAC;YACH,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,oEAAoE;YACpE,4BAA4B;YAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM;oBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,MAAM,GAAgB,GAAG,CAAC,UAAU,CAAC;YAC3C,MAAM,SAAS,GAAe,GAAG,CAAC,MAAM,CAAC;YACzC,MAAM,eAAe,GAAgB,GAAG,CAAC,YAAY,CAAC;YACtD,MAAM,cAAc,GAAgB,GAAG,CAAC,WAAW,CAAC;YACpD,MAAM,eAAe,GAAiB,GAAG,CAAC,eAAe,CAAC;YAC1D,MAAM,aAAa,GAAiB,GAAG,CAAC,aAAa,CAAC;YACtD,MAAM,aAAa,GAAgB,GAAG,CAAC,aAAa,CAAC;YACrD,MAAM,aAAa,GAAiB,GAAG,CAAC,aAAa,CAAC;YACtD,MAAM,cAAc,GAAiB,GAAG,CAAC,cAAc,CAAC;YACxD,MAAM,YAAY,GAAgB,GAAG,CAAC,YAAY,CAAC;YACnD,MAAM,UAAU,GAAgB,GAAG,CAAC,UAAU,CAAC;YAC/C,MAAM,SAAS,GAAgB,GAAG,CAAC,SAAS,CAAC;YAC7C,MAAM,eAAe,GAAgB,GAAG,CAAC,eAAe,CAAC;YAEzD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAa;oBACvB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,yBAAyB;oBAClD,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBACnD,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBAC/C,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClF,aAAa,EAAE,CAAC;oBAChB,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;oBACnB,MAAM;oBACN,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBACvD,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;oBACnD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;oBACzB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;oBACvB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;iBACpC,CAAC,CAAC;gBACH,GAAG,IAAI,MAAM,CAAC;gBACd,GAAG,IAAI,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,UAAU,GAAgB,GAAG,CAAC,UAAU,CAAC;YAC/C,MAAM,cAAc,GAAa,GAAG,CAAC,cAAc,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,mBAAmB,CACjB,MAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,aAAiC,EACjC,aAAiC,EACjC,IAAI,GAAG,WAAW,EAClB,YAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CACpC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EACvE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAChF,CAAC;IACJ,CAAC;IAED,6FAA6F;IAC7F,YAAY,CAAC,MAAkB,EAAE,IAAY;QAC3C,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAED,sFAAsF;IACtF,qBAAqB,CAAC,MAAkB,EAAE,IAAY;QACpD,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,MAAkB,EAAE,IAAY;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Moving already-loaded models onto the federation's RTC anchor (#4897).
|
|
3
|
+
*
|
|
4
|
+
* A model with small coordinates gets no `wasmRtcOffset` at load and is meshed
|
|
5
|
+
* raw. When a model that needs a real RTC anchor joins the federation, that
|
|
6
|
+
* anchor becomes the shared frame (`chooseSharedRtcOffset`, `world-frame.ts`),
|
|
7
|
+
* so every model meshed before it — and any model that finished loading in
|
|
8
|
+
* parallel against a different frame — has to move onto it, or it renders in a
|
|
9
|
+
* frame nothing else shares.
|
|
10
|
+
*
|
|
11
|
+
* This is a plain axis-aligned translation, not a CRS reprojection: both
|
|
12
|
+
* anchors are metres in the same IFC axes, so there is no rotation or unit
|
|
13
|
+
* conversion to apply.
|
|
14
|
+
*
|
|
15
|
+
* PRECISION. The translation goes into each mesh's f64 `origin`, never into its
|
|
16
|
+
* f32 `positions`. The delta is the anchor itself when a raw model moves, i.e.
|
|
17
|
+
* map-coordinate magnitude (Swiss LV95 ~2.6e6 m, UTM northings ~5e6 m), where
|
|
18
|
+
* one f32 ULP is 0.25-0.5 m: baking it into the vertices collapses millimetre
|
|
19
|
+
* detail to zero. Moving the origin keeps `positions` bit-identical and leaves
|
|
20
|
+
* the mesh in exactly the shape the wasm mesher produces when the anchor was
|
|
21
|
+
* already known at load (f64 origin = element centre minus the RTC, small f32
|
|
22
|
+
* local detail), so both load orders render from the same kind of data.
|
|
23
|
+
*/
|
|
24
|
+
import type { CoordinateInfo, Vec3 } from './coordinate-types.js';
|
|
25
|
+
type Origin = [number, number, number];
|
|
26
|
+
/**
|
|
27
|
+
* The render-frame (Y-up) translation that turns a mesh produced against
|
|
28
|
+
* `fromOffset` (IFC Z-up; absent means the raw frame) into one produced
|
|
29
|
+
* against `toOffset`. Render-frame coordinates are `world - offset`, so the
|
|
30
|
+
* mesh moves by `-delta`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function rtcRebaseDeltaYup(fromOffset: Readonly<Vec3> | null | undefined, toOffset: Readonly<Vec3>): Vec3;
|
|
33
|
+
/**
|
|
34
|
+
* A mesh origin moved by `-delta`, as a NEW array (origins may be shared
|
|
35
|
+
* between pieces, so never write through the old one). An absent origin means
|
|
36
|
+
* the positions are absolute render-frame values, which is origin `[0,0,0]`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function rebaseOriginByRtcDelta(origin: Readonly<Origin> | null | undefined, delta: Readonly<Vec3>): Origin;
|
|
39
|
+
/** {@link rtcRebaseDeltaYup} from the frame `info` records to `anchor`. */
|
|
40
|
+
export declare function rtcRebaseDeltaFor(info: CoordinateInfo, anchor: Readonly<Vec3>): Vec3;
|
|
41
|
+
/** Whether `info` is already drawn against `anchor` (same IFC offset, exactly). */
|
|
42
|
+
export declare function isOnRtcAnchor(info: CoordinateInfo, anchor: Readonly<Vec3>): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* `info` re-expressed against `anchor`: both render-frame boxes move with the
|
|
45
|
+
* geometry, `wasmRtcOffset` records the new anchor, and `wasmRtcFrame` is
|
|
46
|
+
* replaced by the frame the geometry is now actually in. Keeping the old
|
|
47
|
+
* `wasmRtcFrame` would leave `needsShift: false` beside a set `wasmRtcOffset`,
|
|
48
|
+
* which the cache serialiser rejects and auxiliary parsers would trust.
|
|
49
|
+
*
|
|
50
|
+
* `originShift` is copied through: every render-frame value here is relative
|
|
51
|
+
* to `originShift + ifcToViewerAxes(wasmRtcOffset)` and only the second term
|
|
52
|
+
* changes, so the change in the total is exactly the RTC delta.
|
|
53
|
+
*
|
|
54
|
+
* Absolute-world fields are NOT in `CoordinateInfo` and are not touched by
|
|
55
|
+
* the caller either: `MeshData.geometryAabb` has the RTC folded back in and
|
|
56
|
+
* `MeshData.localToWorld` is the pre-RTC placement chain, both RTC-invariant.
|
|
57
|
+
*/
|
|
58
|
+
export declare function rebaseCoordinateInfoOntoRtcAnchor(info: CoordinateInfo, anchor: Readonly<Vec3>): CoordinateInfo;
|
|
59
|
+
/** What {@link convergeGeometryOntoRtcAnchor} reads and rewrites per model. */
|
|
60
|
+
export interface RtcRebaseGeometry {
|
|
61
|
+
coordinateInfo: CoordinateInfo;
|
|
62
|
+
meshes: ReadonlyArray<{
|
|
63
|
+
origin?: Origin;
|
|
64
|
+
geometryClass?: number;
|
|
65
|
+
}>;
|
|
66
|
+
/** Present on a `GeometryResult`; read only by {@link carriesGpuInstancedGeometry}. */
|
|
67
|
+
instancedGeometryAabbs?: ReadonlyMap<number, unknown> | null;
|
|
68
|
+
/** Streamed point clouds: GPU-resident, never meshed against an RTC anchor. */
|
|
69
|
+
pointClouds?: ReadonlyArray<unknown> | null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Whether a model carries GPU-instanced geometry, which this module cannot
|
|
73
|
+
* move: instanced occurrences are a class-2 template plus per-occurrence
|
|
74
|
+
* transforms decoded straight into renderer-owned instance buffers, and the
|
|
75
|
+
* content-version rebuild keeps the templates of a model that is still
|
|
76
|
+
* present. Moving the flat meshes anyway would split one model across two
|
|
77
|
+
* frames. Two signals, because `instancedGeometryAabbs` is absent when
|
|
78
|
+
* hashing is off and a class-2 template can be absent when hashing is on.
|
|
79
|
+
*/
|
|
80
|
+
export declare function carriesGpuInstancedGeometry(geometry: RtcRebaseGeometry): boolean;
|
|
81
|
+
export interface RtcConvergeResult<T> {
|
|
82
|
+
/** Geometries moved onto the anchor (need a GPU rebuild and a spatial reindex). */
|
|
83
|
+
moved: T[];
|
|
84
|
+
/** Geometries NOT on the anchor that could not be moved (GPU-instanced). */
|
|
85
|
+
refused: T[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Move every geometry that is not yet drawn against `anchor` onto it, in
|
|
89
|
+
* place: each mesh's `origin` and the `CoordinateInfo` frame fields change,
|
|
90
|
+
* `positions` never do. Geometries already on the anchor and point clouds are
|
|
91
|
+
* left alone; GPU-instanced geometries are reported in `refused` and left
|
|
92
|
+
* untouched, so the caller can tell the user which models stay split.
|
|
93
|
+
*
|
|
94
|
+
* Idempotent: a second call with the same anchor moves nothing.
|
|
95
|
+
*/
|
|
96
|
+
export declare function convergeGeometryOntoRtcAnchor<T extends RtcRebaseGeometry>(geometries: readonly T[], anchor: Readonly<Vec3>,
|
|
97
|
+
/** Extra instancing evidence the caller holds outside the geometry (e.g.
|
|
98
|
+
* shards already handed to the renderer); `true` refuses the geometry. */
|
|
99
|
+
hasOtherInstancedGeometry?: (geometry: T) => boolean): RtcConvergeResult<T>;
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=rtc-rebase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-rebase.d.ts","sourceRoot":"","sources":["../src/rtc-rebase.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAQ,cAAc,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAMxE,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GACvB,IAAI,CAQN;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAGjH;AAaD,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAEpF;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAEnF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAS9G;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,+EAA+E;IAC/E,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAGhF;AAWD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,mFAAmF;IACnF,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,4EAA4E;IAC5E,OAAO,EAAE,CAAC,EAAE,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,iBAAiB,EACvE,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;AACtB;2EAC2E;AAC3E,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAO,GACnD,iBAAiB,CAAC,CAAC,CAAC,CAqBtB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { GEOM_CLASS_INSTANCED_TYPE, geometryClassOf } from './geometry-class.js';
|
|
5
|
+
import { ifcToViewerAxes } from './world-frame.js';
|
|
6
|
+
const ZERO = { x: 0, y: 0, z: 0 };
|
|
7
|
+
/**
|
|
8
|
+
* The render-frame (Y-up) translation that turns a mesh produced against
|
|
9
|
+
* `fromOffset` (IFC Z-up; absent means the raw frame) into one produced
|
|
10
|
+
* against `toOffset`. Render-frame coordinates are `world - offset`, so the
|
|
11
|
+
* mesh moves by `-delta`.
|
|
12
|
+
*/
|
|
13
|
+
export function rtcRebaseDeltaYup(fromOffset, toOffset) {
|
|
14
|
+
const fromYup = ifcToViewerAxes(fromOffset ?? ZERO);
|
|
15
|
+
const toYup = ifcToViewerAxes(toOffset);
|
|
16
|
+
return {
|
|
17
|
+
x: toYup.x - fromYup.x,
|
|
18
|
+
y: toYup.y - fromYup.y,
|
|
19
|
+
z: toYup.z - fromYup.z,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function isZero(delta) {
|
|
23
|
+
return delta.x === 0 && delta.y === 0 && delta.z === 0;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A mesh origin moved by `-delta`, as a NEW array (origins may be shared
|
|
27
|
+
* between pieces, so never write through the old one). An absent origin means
|
|
28
|
+
* the positions are absolute render-frame values, which is origin `[0,0,0]`.
|
|
29
|
+
*/
|
|
30
|
+
export function rebaseOriginByRtcDelta(origin, delta) {
|
|
31
|
+
const base = origin ?? [0, 0, 0];
|
|
32
|
+
return [base[0] - delta.x, base[1] - delta.y, base[2] - delta.z];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Shifting the two corners is sound only because this is a pure translation:
|
|
36
|
+
* every corner moves by the same vector, so the minimum corner stays minimum.
|
|
37
|
+
*/
|
|
38
|
+
function shiftBounds(bounds, delta) {
|
|
39
|
+
return {
|
|
40
|
+
min: { x: bounds.min.x - delta.x, y: bounds.min.y - delta.y, z: bounds.min.z - delta.z },
|
|
41
|
+
max: { x: bounds.max.x - delta.x, y: bounds.max.y - delta.y, z: bounds.max.z - delta.z },
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** {@link rtcRebaseDeltaYup} from the frame `info` records to `anchor`. */
|
|
45
|
+
export function rtcRebaseDeltaFor(info, anchor) {
|
|
46
|
+
return rtcRebaseDeltaYup(info.wasmRtcOffset, anchor);
|
|
47
|
+
}
|
|
48
|
+
/** Whether `info` is already drawn against `anchor` (same IFC offset, exactly). */
|
|
49
|
+
export function isOnRtcAnchor(info, anchor) {
|
|
50
|
+
return isZero(rtcRebaseDeltaFor(info, anchor));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* `info` re-expressed against `anchor`: both render-frame boxes move with the
|
|
54
|
+
* geometry, `wasmRtcOffset` records the new anchor, and `wasmRtcFrame` is
|
|
55
|
+
* replaced by the frame the geometry is now actually in. Keeping the old
|
|
56
|
+
* `wasmRtcFrame` would leave `needsShift: false` beside a set `wasmRtcOffset`,
|
|
57
|
+
* which the cache serialiser rejects and auxiliary parsers would trust.
|
|
58
|
+
*
|
|
59
|
+
* `originShift` is copied through: every render-frame value here is relative
|
|
60
|
+
* to `originShift + ifcToViewerAxes(wasmRtcOffset)` and only the second term
|
|
61
|
+
* changes, so the change in the total is exactly the RTC delta.
|
|
62
|
+
*
|
|
63
|
+
* Absolute-world fields are NOT in `CoordinateInfo` and are not touched by
|
|
64
|
+
* the caller either: `MeshData.geometryAabb` has the RTC folded back in and
|
|
65
|
+
* `MeshData.localToWorld` is the pre-RTC placement chain, both RTC-invariant.
|
|
66
|
+
*/
|
|
67
|
+
export function rebaseCoordinateInfoOntoRtcAnchor(info, anchor) {
|
|
68
|
+
const delta = rtcRebaseDeltaFor(info, anchor);
|
|
69
|
+
return {
|
|
70
|
+
...info,
|
|
71
|
+
originalBounds: shiftBounds(info.originalBounds, delta),
|
|
72
|
+
shiftedBounds: shiftBounds(info.shiftedBounds, delta),
|
|
73
|
+
wasmRtcOffset: { ...anchor },
|
|
74
|
+
wasmRtcFrame: { x: anchor.x, y: anchor.y, z: anchor.z, needsShift: true },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Whether a model carries GPU-instanced geometry, which this module cannot
|
|
79
|
+
* move: instanced occurrences are a class-2 template plus per-occurrence
|
|
80
|
+
* transforms decoded straight into renderer-owned instance buffers, and the
|
|
81
|
+
* content-version rebuild keeps the templates of a model that is still
|
|
82
|
+
* present. Moving the flat meshes anyway would split one model across two
|
|
83
|
+
* frames. Two signals, because `instancedGeometryAabbs` is absent when
|
|
84
|
+
* hashing is off and a class-2 template can be absent when hashing is on.
|
|
85
|
+
*/
|
|
86
|
+
export function carriesGpuInstancedGeometry(geometry) {
|
|
87
|
+
if (geometry.instancedGeometryAabbs != null && geometry.instancedGeometryAabbs.size > 0)
|
|
88
|
+
return true;
|
|
89
|
+
return geometry.meshes.some((mesh) => geometryClassOf(mesh) === GEOM_CLASS_INSTANCED_TYPE);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Point clouds never take part in the RTC frame: the ingest registers them
|
|
93
|
+
* raw in every load order (the georeference alignment is their only frame
|
|
94
|
+
* move), so they are neither moved nor refused.
|
|
95
|
+
*/
|
|
96
|
+
function isPointCloudOnly(geometry) {
|
|
97
|
+
return (geometry.pointClouds?.length ?? 0) > 0 && geometry.meshes.length === 0;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Move every geometry that is not yet drawn against `anchor` onto it, in
|
|
101
|
+
* place: each mesh's `origin` and the `CoordinateInfo` frame fields change,
|
|
102
|
+
* `positions` never do. Geometries already on the anchor and point clouds are
|
|
103
|
+
* left alone; GPU-instanced geometries are reported in `refused` and left
|
|
104
|
+
* untouched, so the caller can tell the user which models stay split.
|
|
105
|
+
*
|
|
106
|
+
* Idempotent: a second call with the same anchor moves nothing.
|
|
107
|
+
*/
|
|
108
|
+
export function convergeGeometryOntoRtcAnchor(geometries, anchor,
|
|
109
|
+
/** Extra instancing evidence the caller holds outside the geometry (e.g.
|
|
110
|
+
* shards already handed to the renderer); `true` refuses the geometry. */
|
|
111
|
+
hasOtherInstancedGeometry) {
|
|
112
|
+
const moved = [];
|
|
113
|
+
const refused = [];
|
|
114
|
+
const seenMeshes = new Set();
|
|
115
|
+
for (const geometry of new Set(geometries)) {
|
|
116
|
+
if (isPointCloudOnly(geometry) || isOnRtcAnchor(geometry.coordinateInfo, anchor))
|
|
117
|
+
continue;
|
|
118
|
+
if (carriesGpuInstancedGeometry(geometry) || hasOtherInstancedGeometry?.(geometry) === true) {
|
|
119
|
+
refused.push(geometry);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
const delta = rtcRebaseDeltaFor(geometry.coordinateInfo, anchor);
|
|
123
|
+
for (const mesh of geometry.meshes) {
|
|
124
|
+
// A MeshData object shared between two results must move once.
|
|
125
|
+
if (seenMeshes.has(mesh))
|
|
126
|
+
continue;
|
|
127
|
+
seenMeshes.add(mesh);
|
|
128
|
+
mesh.origin = rebaseOriginByRtcDelta(mesh.origin, delta);
|
|
129
|
+
}
|
|
130
|
+
geometry.coordinateInfo = rebaseCoordinateInfoOntoRtcAnchor(geometry.coordinateInfo, anchor);
|
|
131
|
+
moved.push(geometry);
|
|
132
|
+
}
|
|
133
|
+
return { moved, refused };
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=rtc-rebase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-rebase.js","sourceRoot":"","sources":["../src/rtc-rebase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { GeometryDiagnostics } from './diagnostics.js';
|
|
2
|
+
/**
|
|
3
|
+
* Which pre-worker pipeline phase (#4902) is still outstanding. Production
|
|
4
|
+
* "Geometry stream stalled... Last rendered meshes: 0" reports (#4884
|
|
5
|
+
* follow-up) cannot currently be told apart by phase — this is what makes
|
|
6
|
+
* that possible: read with {@link GateTracker.getStallPhase} at the instant
|
|
7
|
+
* the consumer's watchdog fires, rather than inferred from elapsed time.
|
|
8
|
+
*/
|
|
9
|
+
export type StallPhase = 'prepass' | 'shard-scan' | 'styles-gate' | 'entity-index-gate' | 'workers';
|
|
10
|
+
/**
|
|
11
|
+
* Handed in via `ProcessParallelOptions.stallPhaseHandle` (#4902) and filled
|
|
12
|
+
* in synchronously by the pool with a live `getStallPhase()` reader. Absent
|
|
13
|
+
* `getStallPhase` (before the pool runs, or on a code path that doesn't wire
|
|
14
|
+
* one) is the caller's signal that no phase is known yet.
|
|
15
|
+
*/
|
|
16
|
+
export interface StallPhaseHandle {
|
|
17
|
+
getStallPhase?: () => StallPhase;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Tracks which pre-worker gate(s) `geometry-parallel.ts` is still waiting on:
|
|
21
|
+
* the streaming pre-pass itself, the SPIKE sharded entity-index scan
|
|
22
|
+
* (`scan-shard` / `shardResultsRemaining`), and the two chunk-dispatch gates
|
|
23
|
+
* (`styles` and `entity-index` — see `dispatchJobsChunk`). A new sibling
|
|
24
|
+
* module (not `geometry-parallel.ts`, which is size-allowlisted and must not
|
|
25
|
+
* grow) so the gate state has one place a consumer can read it from.
|
|
26
|
+
*
|
|
27
|
+
* Precedence when more than one gate is open at once: the EARLIEST phase in
|
|
28
|
+
* the pipeline wins, because it is the one actually responsible for every
|
|
29
|
+
* later phase staying open too (a stuck shard scan means neither the prepass
|
|
30
|
+
* nor either dispatch gate can ever resolve).
|
|
31
|
+
*/
|
|
32
|
+
export declare class GateTracker {
|
|
33
|
+
private shardScanOpen;
|
|
34
|
+
private prepassOpen;
|
|
35
|
+
private stylesOpen;
|
|
36
|
+
private entityIndexOpen;
|
|
37
|
+
/** The SPIKE sharded scan dispatched shard-scan to the workers. */
|
|
38
|
+
markShardScanStarted(): void;
|
|
39
|
+
/** Every shard result is in (stitched or fell back to the serial pre-pass). */
|
|
40
|
+
markShardScanDone(): void;
|
|
41
|
+
/** The pre-pass worker's `complete` event arrived. */
|
|
42
|
+
markPrepassDone(): void;
|
|
43
|
+
/** The `styles` event (serial or the sharded finalize's synthesized one)
|
|
44
|
+
* reached `dispatchJobsChunk`'s gate. */
|
|
45
|
+
markStylesReceived(): void;
|
|
46
|
+
/** The entity index (prepass or sharded-early) reached the same gate. */
|
|
47
|
+
markEntityIndexReceived(): void;
|
|
48
|
+
/** Which phase a consumer's watchdog should attribute a stall to right now. */
|
|
49
|
+
getStallPhase(): StallPhase;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A `getStallPhase` reader that returns a fixed `phase` and closes over
|
|
53
|
+
* NOTHING else (#4979 review). `processParallel`'s `finally` re-seats the
|
|
54
|
+
* caller-owned `stallPhaseHandle` to one of these on teardown: the LIVE
|
|
55
|
+
* reader it installed at the start (`() => gateTracker.getStallPhase()`)
|
|
56
|
+
* closes over `gateTracker`, which — through the rest of that generator's
|
|
57
|
+
* scope — keeps the per-load `sharedBuffer` reachable for as long as the
|
|
58
|
+
* caller holds the handle, even after every worker is gone. A snapshot taken
|
|
59
|
+
* at teardown is exactly as useful for a watchdog that reads it afterwards
|
|
60
|
+
* (the phase cannot change once nothing is left running) without the retention.
|
|
61
|
+
*/
|
|
62
|
+
export declare function frozenStallPhase(phase: StallPhase): () => StallPhase;
|
|
63
|
+
/** Bound (ms) for one pre-worker single-reply phase, scaled by file size. */
|
|
64
|
+
export declare function preWorkerPhaseBoundMs(fileSizeMB: number): number;
|
|
65
|
+
/**
|
|
66
|
+
* Registry for the pre-worker phase-bound timers (#4979 review). A plain
|
|
67
|
+
* `setTimeout` that is never cancelled keeps its own closure — and whatever
|
|
68
|
+
* it closes over, including the per-load `sharedBuffer` — alive for the FULL
|
|
69
|
+
* bound even after the load completes, fails, or is superseded; on a large
|
|
70
|
+
* file that is real memory held for up to 15s + 30ms/MB for no reason. `arm`
|
|
71
|
+
* tracks the handle and self-removes it once it actually fires; `clearAll` is
|
|
72
|
+
* for the generator's own teardown (`finally`, which also runs on `.return()`
|
|
73
|
+
* / abort), which normally fires first.
|
|
74
|
+
*/
|
|
75
|
+
export declare class PhaseBoundTimers {
|
|
76
|
+
private readonly handles;
|
|
77
|
+
/**
|
|
78
|
+
* Arm a bounded wait for a pre-worker phase that depends on a single
|
|
79
|
+
* worker's reply — shard scan, a style slice, styles finalize (#4902).
|
|
80
|
+
* Fires `onTimeout` once, only if `isSettled()` is still false when the
|
|
81
|
+
* bound elapses, so a genuine reply arriving right at the boundary (which
|
|
82
|
+
* flips the call site's own settled flag before this checks it) always
|
|
83
|
+
* wins.
|
|
84
|
+
*/
|
|
85
|
+
arm(fileSizeMB: number, isSettled: () => boolean, onTimeout: () => void): void;
|
|
86
|
+
/** Cancel every timer still pending — the load exited before its bound. */
|
|
87
|
+
clearAll(): void;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The synthetic prepass-stream `styles` event an older engine binary that
|
|
91
|
+
* never resolves any styles already produces byte-identically (default
|
|
92
|
+
* per-type colours, no voids). Reused as the #4902 finalize-timeout
|
|
93
|
+
* fallback: worker[0]'s `styles-final` reply feeds the exact same path
|
|
94
|
+
* (see `geometry-parallel.ts`'s `msg.type === 'styles-final'` handler), so a
|
|
95
|
+
* degraded stream degrades to a shape the pool already handles rather than a
|
|
96
|
+
* new one.
|
|
97
|
+
*/
|
|
98
|
+
export declare function emptyStylesPrepassEvent(): {
|
|
99
|
+
type: 'prepass-stream';
|
|
100
|
+
event: Record<string, unknown>;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* A `GeometryDiagnostics` fragment carrying exactly one typed pre-worker-phase
|
|
104
|
+
* failure (#4902), for `mergeGeometryDiagnostics`. Every counter besides
|
|
105
|
+
* `failuresByReason` is zero, so merging this in never fabricates CSG
|
|
106
|
+
* activity that did not happen. `schemaVersion: 0` — this is a host-
|
|
107
|
+
* synthesized fragment, not a producer-versioned wasm payload, and
|
|
108
|
+
* `mergeGeometryDiagnostics` takes the max, so it never lowers a real one.
|
|
109
|
+
*/
|
|
110
|
+
export declare function preWorkerPhaseFailureDiagnostics(reason: string): GeometryDiagnostics;
|
|
111
|
+
//# sourceMappingURL=stall-phase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stall-phase.d.ts","sourceRoot":"","sources":["../src/stall-phase.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,SAAS,CAAC;AAEd;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,UAAU,CAAC;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,eAAe,CAAQ;IAE/B,mEAAmE;IACnE,oBAAoB,IAAI,IAAI;IAI5B,+EAA+E;IAC/E,iBAAiB,IAAI,IAAI;IAIzB,sDAAsD;IACtD,eAAe,IAAI,IAAI;IAIvB;8CAC0C;IAC1C,kBAAkB,IAAI,IAAI;IAI1B,yEAAyE;IACzE,uBAAuB,IAAI,IAAI;IAI/B,+EAA+E;IAC/E,aAAa,IAAI,UAAU;CAO5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,UAAU,CAEpE;AAUD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAEpE;;;;;;;OAOG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,GAAG,IAAI;IAQ9E,2EAA2E;IAC3E,QAAQ,IAAI,IAAI;CAIjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CASpG;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAoBpF"}
|