object-input-stream 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-input-stream.js","sourceRoot":"","sources":["../src/object-input-stream.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AACpC,uCAAuG;AAWvG,MAAa,iBAAiB;IA4E1B,YAAY,IAAgB,EAAE,OAAoB;QA3ElD,kCAAkC;QACzB,mBAAc,GAAO,QAAQ,CAAC;QAC9B,uBAAkB,GAAG,CAAC,CAAC;QACvB,uBAAkB,GAAG,CAAC,CAAC;QACvB,iBAAY,GAAS,MAAM,CAAC;QAC5B,mBAAc,GAAO,MAAM,CAAC;QAC5B,oBAAe,GAAM,IAAI,CAAC;QAC1B,kBAAa,GAAQ,IAAI,CAAC;QAC1B,oBAAe,GAAM,IAAI,CAAC;QAC1B,sBAAiB,GAAI,IAAI,CAAC;QAC1B,YAAO,GAAc,IAAI,CAAC;QAC1B,YAAO,GAAc,IAAI,CAAC;QAC1B,WAAM,GAAe,IAAI,CAAC;QAC1B,YAAO,GAAc,IAAI,CAAC;QAC1B,iBAAY,GAAS,IAAI,CAAC;QAC1B,iBAAY,GAAS,IAAI,CAAC;QAC1B,cAAS,GAAY,IAAI,CAAC;QAC1B,cAAS,GAAY,IAAI,CAAC;QAC1B,aAAQ,GAAa,IAAI,CAAC;QAC1B,aAAQ,GAAa,IAAI,CAAC;QAC1B,iBAAY,GAAS,IAAI,CAAC;QAC1B,oBAAe,GAAM,IAAI,CAAC;QAC1B,aAAQ,GAAa,IAAI,CAAC;QAC1B,qBAAgB,GAAK,IAAI,CAAC;QAC1B,iBAAY,GAAS,IAAI,CAAC;QAC1B,kBAAa,GAAQ,IAAI,CAAC;QAC1B,sBAAiB,GAAI,IAAI,CAAC;QAC1B,YAAO,GAAc,IAAI,CAAC;QAiD/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,CAAC,YAAY;YAC9C,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,CAAC,cAAc;YAChD,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,oBAAoB,GAAG,OAAO,EAAE,cAAc,EAAE,YAAY,IAAI,8BAAoB,CAAC;QAC3F,MAAM,sBAAsB,GAAG,OAAO,EAAE,cAAc,EAAE,cAAc,IAAI,gCAAsB,CAAC;QACjG,MAAM,YAAY,GAAG,OAAO,EAAE,cAAc,EAAE,IAAI,IAAI,sBAAY,CAAC;QACnE,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,wBAAc,CAAC;QAE1E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,oBAAoB;YAC3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,sBAAsB;YAC7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY;YACpC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,cAAc;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,oDAAoD;IAC1C,gBAAgB,CAAC,OAAgB;QACvC,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;IAC/B,CAAC;IACS,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IACS,QAAQ;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,MAAM,GAAG,CAAC;YACV,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC;IACS,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc;YAC/B,kBAAkB;YAClB,OAAO,CAAC,CAAC,CAAC;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,GAAG,GAAkB,IAAI,CAAC;QAE9B,IAAI,CAAC;YACD,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxB,QAAQ,EAAE,EAAE,CAAC;oBACT,KAAK,IAAI,CAAC,YAAY;wBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC9B,MAAM;oBAEV,KAAK,IAAI,CAAC,gBAAgB;wBACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;wBACrB,IAAI,GAAG,GAAG,CAAC;4BACP,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;wBACvF,MAAM;oBAEV,KAAK,IAAI,CAAC,QAAQ;wBACd,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,MAAM;oBAEV;wBACI,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;4BAClD,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,2BAA2B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpF,GAAG,GAAG,CAAC,CAAC,CAAC;wBACT,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC;gBACO,CAAC;YACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IACS,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC;YACzB,OAAO;QAEX,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnC,IAAI,GAAG,GAAG,CAAC;gBACP,OAAO;YACX,IAAI,GAAG,GAAG,CAAC,EAAC,CAAC;gBACT,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAC5B,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAW;QACZ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;YACnB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;YACtB,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC;YAChC,IAAI,IAAI,MAAM,CAAC;YAEf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,CAAC,MAAM;YACxB,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAElC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,GAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;YACnB,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,yDAAyD;IAC/C,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,mBAAmB,CAAC,kDAAkD,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,6EAA6E;IACnE,WAAW,CAAC,UAAkB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAErB,oBAAoB;YACpB,IAAI,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,CAAW,EAAE,CAAC;gBACpC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,iBAAiB;iBACZ,IAAI,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,GAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAC,CAAC,GAAG,KAAK,CAAC,MAAM;oBAAE,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,GAAW;oBAAE,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC9E,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,mBAAmB;iBACd,IAAI,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,GAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAC,CAAC,GAAG,KAAK,CAAC,MAAM;oBAAE,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,GAAW;oBAAE,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC9E,IAAI,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,GAAW;oBAAE,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC9E,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,iBAAiB;iBACZ,CAAC;gBACF,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;IAES,MAAM,KAAa,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEtD,+CAA+C;IAC/C,WAAW;QACP,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ;QACJ,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;QACZ,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACJ,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB;QACb,OAAO,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ;QACJ,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,SAAS;QACL,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,UAAU;QACN,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,sDAAsD;IAC5C,SAAS;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACnE,sBAAsB;QACtB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IACS,QAAQ;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,UAAU;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACS,SAAS;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,aAAa;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE3B,QAAQ,EAAE,EAAE,CAAC;YACT,KAAK,IAAI,CAAC,OAAO;gBACb,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,iBAAiB;gBACvB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,YAAY;gBAClB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,YAAY;gBAClB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,YAAY,iBAAiB,CAAC;oBACjC,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC;YACb;gBACI,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,+BAA+B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IACS,aAAa;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAC5E,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,iBAAiB,CAAC,eAAyB;;QACjD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;YACxC,MAAM,QAAQ,GAAG,EAAC,gBAAC,SAAS,EAAC,QAAE,KAAM,SAAQ,SAAS;qBAErD;;oBADmB,kBAAe,GAAG,eAAgB;uBACrD,EAAC,CAAC,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAC7C,CAAC;IACS,gBAAgB;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAEvE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAEjC,QAAQ,QAAQ,EAAE,CAAC;gBACf,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG;oBACd,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC,CAAC;oBACpD,MAAM;gBAEV,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG,CAAC;gBAAC,KAAK,GAAG;oBAC1E,MAAM,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;oBACzC,MAAM;gBAEV;oBACI,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,6BAA6B,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;YAC/G,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,YAAY,CAAC,KAAa;QAChC,IAAS,KAAK,GAAG,IAAI,CAAC,OAAO;YAAY,OAAO,MAAM,CAAC;aAClD,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe;YAAI,OAAO,cAAc,CAAC;aAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB;YAAE,OAAO,gBAAgB,CAAC;;YACvB,OAAO,SAAS,CAAC;IAC/D,CAAC;IACS,YAAY,CAClB,IAAY,EACZ,IAAe,EACf,IAAuB,EACvB,SAAmC;;QAEnC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC;QAEhD,MAAM,kBAAkB,GAAG;YACvB,SAAS,EAAS,iBAAiB;YACnC,cAAc,EAAI,wBAAwB;YAC1C,gBAAgB,EAAE,0BAA0B;YAC5C,MAAM,EAAY,gBAAgB;SACrC,CAAC,IAAI,CAAC,CAAC;QACR,MAAM,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAE,SAAS,CAAC,EAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAE7F,MAAM,EAAE,GAAG,EAAC,gBAAC,IAAI,EAAC,QAAE,KAAM,SAAQ,UAAU;iBAE3C;;gBADU,QAAK,GAAG,IAAI;mBACtB,EAAC,CAAC,IAAI,CAAC,CAAC;QACT,mBAAmB;QACnB,EAAE,CAAC,WAAW,GAAG,IAAI,CAAA;QAErB,OAAO,EAAE,CAAC;IACd,CAAC;IACS,UAAU;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,GAAW,CAAC;QAChB,QAAQ,EAAE,EAAE,CAAC;YACT,KAAK,IAAI,CAAC,SAAS;gBACf,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM;YAEV,KAAK,IAAI,CAAC,aAAa;gBACnB,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM;YAEV,KAAK,IAAI,CAAC,YAAY;gBAClB,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;oBACvB,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;gBACjF,OAAO,GAAG,CAAC;YAEf;gBACI,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,4BAA4B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACf,CAAC;IACS,SAAS;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAEnE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,GAAG,GAAG,CAAC;YACP,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACpD,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,2BAA2B,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAErC,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,SAAS,CAAC,QAAgB;QAChC,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACJ,sBAAsB;gBACtB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC;gBACI,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,+BAA+B,GAAG,QAAQ,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IACS,QAAQ;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAElE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,MAAM;YACb,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,GAAG,YAAY,CAAC,CAAC;QACxG,mBAAmB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,kBAAkB;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAEpE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI;YACb,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,QAAQ,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IACS,gBAAgB,CAAC,GAAmB,EAAE,IAAuB;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU;YACpD,MAAM,IAAI,GAAG,CAAC,sBAAsB,CAAC,sDAAsD,GAAG,IAAI,CAAC,IAAI,GAAG,qEAAqE,CAAC,CAAC;QAErL,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC;gBACD,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACP,IAAI,IAAI,CAAC,oBAAoB;oBACzB,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,CAAC;IACL,CAAC;IACS,cAAc,CAAC,GAAiB,EAAE,OAA0B;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAsB,CAAC;YAEhD,IAAI,UAAU,GAAmD,IAAI,CAAC;YACtE,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC1B,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,gBAAgB,KAAK,OAAO,CAAC,IAAI;oBACrF,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,gCAAgC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAEpJ,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACtD,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG,iBAAiB,CAAC;gBACnC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,QAAQ,CAAC,SAAS,YAAY,iBAAiB,EAAE,CAAC;oBAClD,UAAU,GAAG,iBAAiB,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,GAAG,gCAAgC,CAAC,CAAC;gBACzH,CAAC;YACL,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG;gBACd,IAAI,EAAE,OAAO;gBACb,GAAG;gBACH,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;aACxB,CAAA;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5B,UAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,kBAAkB;gBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YAE1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,CAAC;IACL,CAAC;IACO,qBAAqB,CAAC,SAA4B;QACtD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,SAAS,GAA6B,SAAS,CAAC;QACpD,OAAO,SAAS,KAAK,IAAI,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IACS,kBAAkB;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAEvE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,EAAE,KAAK,IAAI,CAAC,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,YAAY;YACjD,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,+BAA+B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,qFAAqF;QACrF,oEAAoE;QACpE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,cAAc;QACpB,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,YAAY,CAAC;gBACvB,KAAK,IAAI,CAAC,gBAAgB;oBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBAC5B,MAAM;gBAEV,KAAK,IAAI,CAAC,eAAe;oBACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,OAAO,MAAM,CAAC;gBAElB;oBACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC/B,MAAM;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,UAAU;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;gBACzC,kBAAkB;gBAClB,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,EAAE,CAAC;QAEP,cAAc;QACd,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QAErB,IAAI,CAAC;YACD,QAAQ,EAAE,EAAE,CAAC;gBACT,KAAK,IAAI,CAAC,OAAO;oBACb,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE3B,KAAK,IAAI,CAAC,YAAY;oBAClB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAE7B,KAAK,IAAI,CAAC,QAAQ;oBACd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAE5B,KAAK,IAAI,CAAC,YAAY,CAAC;gBACvB,KAAK,IAAI,CAAC,iBAAiB;oBACvB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;gBAEhC,KAAK,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,IAAI,CAAC,aAAa;oBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAE7B,KAAK,IAAI,CAAC,QAAQ;oBACd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAE5B,KAAK,IAAI,CAAC,OAAO;oBACb,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE3B,KAAK,IAAI,CAAC,SAAS;oBACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAErC,KAAK,IAAI,CAAC,YAAY;oBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAE/D,KAAK,IAAI,CAAC,eAAe;oBACrB,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,8BAA8B,CAAC,CAAC;oBAC3E,CAAC;gBAEL;oBACI,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,4BAA4B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;QACL,CAAC;gBACO,CAAC;YACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;YACxB,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;QAEvE,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB;YACjC,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB;YACxC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;QAE1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iBAAiB;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,GAAI,CAAC;QAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACpC,mBAAmB;YACnB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,qBAAqB,IAAI,CAAC,YAAY,GAAG,CAAC,YAAY,CAAC;gBAC1E,MAAM,CAAC,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,6DAA6D;IACnD,cAAc,CAAC,IAAY,EAAE,KAAU,EAAE,IAAe;QAC9D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,mDAAmD;IACnD,oBAAoB,CAAC,IAAY,EAAE,IAAsB;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IACD,sBAAsB,CAAC,IAAY,EAAE,IAAwB;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAW;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAU;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;;AA31BL,8CA41BC;AA9zBmB,gCAAc,GAAO,QAAQ,AAAf,CAAgB;AAC9B,oCAAkB,GAAG,CAAC,AAAJ,CAAK;AACvB,oCAAkB,GAAG,CAAC,AAAJ,CAAK;AACvB,8BAAY,GAAS,MAAM,AAAf,CAAgB;AAC5B,gCAAc,GAAO,MAAM,AAAb,CAAc;AAC5B,iCAAe,GAAM,IAAI,AAAV,CAAW;AAC1B,+BAAa,GAAQ,IAAI,AAAZ,CAAa;AAC1B,iCAAe,GAAM,IAAI,AAAV,CAAW;AAC1B,mCAAiB,GAAI,IAAI,AAAR,CAAS;AAC1B,yBAAO,GAAc,IAAI,AAAlB,CAAmB;AAC1B,yBAAO,GAAc,IAAI,AAAlB,CAAmB;AAC1B,wBAAM,GAAe,IAAI,AAAnB,CAAoB;AAC1B,yBAAO,GAAc,IAAI,AAAlB,CAAmB;AAC1B,8BAAY,GAAS,IAAI,AAAb,CAAc;AAC1B,8BAAY,GAAS,IAAI,AAAb,CAAc;AAC1B,2BAAS,GAAY,IAAI,AAAhB,CAAiB;AAC1B,2BAAS,GAAY,IAAI,AAAhB,CAAiB;AAC1B,0BAAQ,GAAa,IAAI,AAAjB,CAAkB;AAC1B,0BAAQ,GAAa,IAAI,AAAjB,CAAkB;AAC1B,8BAAY,GAAS,IAAI,AAAb,CAAc;AAC1B,iCAAe,GAAM,IAAI,AAAV,CAAW;AAC1B,0BAAQ,GAAa,IAAI,AAAjB,CAAkB;AAC1B,kCAAgB,GAAK,IAAI,AAAT,CAAU;AAC1B,8BAAY,GAAS,IAAI,AAAb,CAAc;AAC1B,+BAAa,GAAQ,IAAI,AAAZ,CAAa;AAC1B,mCAAiB,GAAI,IAAI,AAAR,CAAS;AAC1B,yBAAO,GAAc,IAAI,AAAlB,CAAmB;AAqyB9C,kBAAe,iBAAiB,CAAC;AAEjC,MAAa,SAAS;IACR,MAAM,CAAC,WAAW,CAAC,GAAe,EAAE,QAAgB,EAAE,MAAe;QAC3E,IAAI,GAAG,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAe;QAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAC9D,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAe;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAe;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAe;QAC1B,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAe;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAe;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAe;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAe;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAe;QAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAC9D,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAe;QAC5B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,GAAG,CAAC,yBAAyB,EAAE,CAAC;QAC9D,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;CACJ;AAjED,8BAiEC;AAED,MAAa,WAAW;IAAxB;QACY,UAAK,GAAqB,IAAI,GAAG,EAAE,CAAC;QACpC,eAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC;IAyB1D,CAAC;IAvBG,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC;IACvD,CAAC;IAED,SAAS,CAAC,GAAQ;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,wBAAwB,CAAC,+BAA+B,GAAG,MAAM,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAW,EAAE,MAAW;QAClD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM;YACjC,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,MAAM,4BAA4B,MAAM,EAAE,CAAC,CAAC;QAEvG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;CACJ;AA3BD,kCA2BC;AAED,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAa,iBAAiB;IAqB1B,YACI,IAA4C,EAC5C,IAA4C,EAC5C,OAAiB;QAEjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,qBAAqB;QACrB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAQ,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAQ,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,YAAY,CACR,EAAO,EACP,KAAa,EACb,MAAmB,EACnB,UAAiB,EACjB,SAAmC;QAEnC,IAAI,IAAI,CAAC,OAAO;YACZ,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,uCAAuC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,WAAW;YAChB,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,+BAA+B,CAAC,CAAC;QAEzE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,GAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,GAAW,CAAC,KAAK,GAAG,iBAAiB,CAAC,eAAe,CAAC,KAAO,CAAC,CAAC;QAChF,IAAI,CAAC,cAAc,GAAS,CAAC,KAAK,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,GAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC,eAAe,CAAC,KAAO,CAAC,CAAC;QAChF,IAAI,CAAC,oBAAoB,GAAG,CAAC,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAS,CAAC,CAAC;QAEhF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc;YACxC,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,gDAAgD,CAAC,CAAC;QACrG,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;YAC/B,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,iDAAiD,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,4CAA4C,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,SAAS,CACL,EAAO,EACP,eAAyB,EACzB,UAAiB,EACjB,SAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,OAAO;YACb,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,uCAAuC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,WAAW;YAChB,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;QAErE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,MAAM,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAC;IACjG,CAAC;CACJ;AArGD,8CAqGC;AAeD,MAAsB,SAAS;IAK3B,YAAY,CAAqB;QAC7B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEX,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpD,IAAI,OAAO,IAAI,KAAK,QAAQ;oBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE/C,IAAI,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;oBAC3D,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;gBAEzE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;oBACtB,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,CAAC,CAAA;YACL,CAAC,EAAC,CAAC,CAAA;IACP,CAAC;IAED,MAAM,CAAC,aAAa;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;;AAxBL,8BAyBC;AAxBmB,yBAAe,GAAa,EAAE,CAAA;AA8ClD,MAAsB,iBAAiB;CAEtC;AAFD,8CAEC;AACD,MAAsB,wBAAyB,SAAQ,iBAAiB;IAAxE;;QAEI,gBAAW,GAAY,EAAE,CAAA;IAM7B,CAAC;IAJG,UAAU,CAAC,GAAsB;QAC7B,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AARD,4DAQC;AACD,MAAsB,0BAA2B,SAAQ,iBAAiB;IAA1E;;QACI,gBAAW,GAAU,EAAE,CAAA;IAK3B,CAAC;IAHG,YAAY,CAAC,GAAsB;QAC/B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IAC5C,CAAC;CACJ;AAND,gEAMC;AACD,MAAsB,gBAAiB,SAAQ,iBAAiB;IAG5D;QACI,KAAK,EAAE,CAAC;QACR,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACnB,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,IAAI;gBACZ,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBAC1C,OAAO,IAAI,IAAI,MAAM,CAAC;YAC1B,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;CACJ;AAjBD,4CAiBC;AAUD,SAAS,iBAAiB,CAAC,GAAsB;IAC7C,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import ObjectInputStream, { type OisOptions } from ".";
2
+ import type * as ast from './ast';
3
+ export declare class ObjectInputStreamAST extends ObjectInputStream {
4
+ protected ast: ast.Ast;
5
+ protected nodeStack: ast.Node[];
6
+ constructor(data: Uint8Array, options?: OisOptions);
7
+ protected get curNode(): ast.Node;
8
+ getAST(): ast.Ast;
9
+ readBoolean(): boolean;
10
+ readByte(): number;
11
+ readUnsignedByte(): number;
12
+ readChar(): string;
13
+ readShort(): number;
14
+ readUnsignedShort(): number;
15
+ readInt(): number;
16
+ readLong(): bigint;
17
+ readFloat(): number;
18
+ readDouble(): number;
19
+ protected readTC(): number;
20
+ }
21
+ //# sourceMappingURL=ois-ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ois-ast.d.ts","sourceRoot":"","sources":["../src/ois-ast.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,EAAE,EAAE,KAAK,UAAU,EAAE,MAAM,GAAG,CAAC;AACvD,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAIlC,qBAAa,oBAAqB,SAAQ,iBAAiB;IACvD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA;IACtB,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gBAEpB,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU;IAelD,SAAS,KAAK,OAAO,aAEpB;IAED,MAAM,IAAI,GAAG,CAAC,GAAG;IAKjB,WAAW,IAAI,OAAO;IAEtB,QAAQ,IAAI,MAAM;IAElB,gBAAgB,IAAI,MAAM;IAE1B,QAAQ,IAAI,MAAM;IAElB,SAAS,IAAI,MAAM;IAEnB,iBAAiB,IAAI,MAAM;IAE3B,OAAO,IAAI,MAAM;IAEjB,QAAQ,IAAI,MAAM;IAElB,SAAS,IAAI,MAAM;IAEnB,UAAU,IAAI,MAAM;IAGpB,SAAS,CAAC,MAAM,IAAI,MAAM;CAC7B"}
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
19
+ var useValue = arguments.length > 2;
20
+ for (var i = 0; i < initializers.length; i++) {
21
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
22
+ }
23
+ return useValue ? value : void 0;
24
+ };
25
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
26
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
27
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
28
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
29
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
30
+ var _, done = false;
31
+ for (var i = decorators.length - 1; i >= 0; i--) {
32
+ var context = {};
33
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
34
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
35
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
36
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
37
+ if (kind === "accessor") {
38
+ if (result === void 0) continue;
39
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
40
+ if (_ = accept(result.get)) descriptor.get = _;
41
+ if (_ = accept(result.set)) descriptor.set = _;
42
+ if (_ = accept(result.init)) initializers.unshift(_);
43
+ }
44
+ else if (_ = accept(result)) {
45
+ if (kind === "field") initializers.unshift(_);
46
+ else descriptor[key] = _;
47
+ }
48
+ }
49
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
50
+ done = true;
51
+ };
52
+ var __importStar = (this && this.__importStar) || (function () {
53
+ var ownKeys = function(o) {
54
+ ownKeys = Object.getOwnPropertyNames || function (o) {
55
+ var ar = [];
56
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
57
+ return ar;
58
+ };
59
+ return ownKeys(o);
60
+ };
61
+ return function (mod) {
62
+ if (mod && mod.__esModule) return mod;
63
+ var result = {};
64
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
65
+ __setModuleDefault(result, mod);
66
+ return result;
67
+ };
68
+ })();
69
+ var __importDefault = (this && this.__importDefault) || function (mod) {
70
+ return (mod && mod.__esModule) ? mod : { "default": mod };
71
+ };
72
+ Object.defineProperty(exports, "__esModule", { value: true });
73
+ exports.ObjectInputStreamAST = void 0;
74
+ const _1 = __importDefault(require("."));
75
+ const exc = __importStar(require("./exceptions"));
76
+ let ObjectInputStreamAST = (() => {
77
+ var _a;
78
+ let _classSuper = _1.default;
79
+ let _instanceExtraInitializers = [];
80
+ let _readBoolean_decorators;
81
+ let _readByte_decorators;
82
+ let _readUnsignedByte_decorators;
83
+ let _readChar_decorators;
84
+ let _readShort_decorators;
85
+ let _readUnsignedShort_decorators;
86
+ let _readInt_decorators;
87
+ let _readLong_decorators;
88
+ let _readFloat_decorators;
89
+ let _readDouble_decorators;
90
+ let _readTC_decorators;
91
+ return _a = class ObjectInputStreamAST extends _classSuper {
92
+ constructor(data, options) {
93
+ super(data, options);
94
+ this.ast = __runInitializers(this, _instanceExtraInitializers);
95
+ this.ast = { data, root: {
96
+ type: "root",
97
+ span: { start: 0, end: this.data.length },
98
+ children: [
99
+ { type: "magic", value: this.STREAM_MAGIC, span: { start: 0, end: 2 }, children: null },
100
+ { type: "version", value: this.STREAM_VERSION, span: { start: 2, end: 4 }, children: null },
101
+ { type: "contents", span: { start: 4, end: this.data.length }, children: [] },
102
+ ]
103
+ } };
104
+ this.nodeStack = [this.ast.root, this.ast.root.children[2]];
105
+ }
106
+ get curNode() {
107
+ return this.nodeStack[this.nodeStack.length - 1];
108
+ }
109
+ getAST() {
110
+ return this.ast;
111
+ }
112
+ readBoolean() { return super.readBoolean(); }
113
+ readByte() { return super.readByte(); }
114
+ readUnsignedByte() { return super.readUnsignedByte(); }
115
+ readChar() { return super.readChar(); }
116
+ readShort() { return super.readShort(); }
117
+ readUnsignedShort() { return super.readUnsignedShort(); }
118
+ readInt() { return super.readInt(); }
119
+ readLong() { return super.readLong(); }
120
+ readFloat() { return super.readFloat(); }
121
+ readDouble() { return super.readDouble(); }
122
+ readTC() { return super.readTC(); }
123
+ },
124
+ (() => {
125
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
126
+ _readBoolean_decorators = [primitiveAST("boolean")];
127
+ _readByte_decorators = [primitiveAST("byte")];
128
+ _readUnsignedByte_decorators = [primitiveAST("unsigned-byte")];
129
+ _readChar_decorators = [primitiveAST("char")];
130
+ _readShort_decorators = [primitiveAST("short")];
131
+ _readUnsignedShort_decorators = [primitiveAST("unsigned-short")];
132
+ _readInt_decorators = [primitiveAST("int")];
133
+ _readLong_decorators = [primitiveAST("long")];
134
+ _readFloat_decorators = [primitiveAST("float")];
135
+ _readDouble_decorators = [primitiveAST("double")];
136
+ _readTC_decorators = [nodeAST("tc")];
137
+ __esDecorate(_a, null, _readBoolean_decorators, { kind: "method", name: "readBoolean", static: false, private: false, access: { has: obj => "readBoolean" in obj, get: obj => obj.readBoolean }, metadata: _metadata }, null, _instanceExtraInitializers);
138
+ __esDecorate(_a, null, _readByte_decorators, { kind: "method", name: "readByte", static: false, private: false, access: { has: obj => "readByte" in obj, get: obj => obj.readByte }, metadata: _metadata }, null, _instanceExtraInitializers);
139
+ __esDecorate(_a, null, _readUnsignedByte_decorators, { kind: "method", name: "readUnsignedByte", static: false, private: false, access: { has: obj => "readUnsignedByte" in obj, get: obj => obj.readUnsignedByte }, metadata: _metadata }, null, _instanceExtraInitializers);
140
+ __esDecorate(_a, null, _readChar_decorators, { kind: "method", name: "readChar", static: false, private: false, access: { has: obj => "readChar" in obj, get: obj => obj.readChar }, metadata: _metadata }, null, _instanceExtraInitializers);
141
+ __esDecorate(_a, null, _readShort_decorators, { kind: "method", name: "readShort", static: false, private: false, access: { has: obj => "readShort" in obj, get: obj => obj.readShort }, metadata: _metadata }, null, _instanceExtraInitializers);
142
+ __esDecorate(_a, null, _readUnsignedShort_decorators, { kind: "method", name: "readUnsignedShort", static: false, private: false, access: { has: obj => "readUnsignedShort" in obj, get: obj => obj.readUnsignedShort }, metadata: _metadata }, null, _instanceExtraInitializers);
143
+ __esDecorate(_a, null, _readInt_decorators, { kind: "method", name: "readInt", static: false, private: false, access: { has: obj => "readInt" in obj, get: obj => obj.readInt }, metadata: _metadata }, null, _instanceExtraInitializers);
144
+ __esDecorate(_a, null, _readLong_decorators, { kind: "method", name: "readLong", static: false, private: false, access: { has: obj => "readLong" in obj, get: obj => obj.readLong }, metadata: _metadata }, null, _instanceExtraInitializers);
145
+ __esDecorate(_a, null, _readFloat_decorators, { kind: "method", name: "readFloat", static: false, private: false, access: { has: obj => "readFloat" in obj, get: obj => obj.readFloat }, metadata: _metadata }, null, _instanceExtraInitializers);
146
+ __esDecorate(_a, null, _readDouble_decorators, { kind: "method", name: "readDouble", static: false, private: false, access: { has: obj => "readDouble" in obj, get: obj => obj.readDouble }, metadata: _metadata }, null, _instanceExtraInitializers);
147
+ __esDecorate(_a, null, _readTC_decorators, { kind: "method", name: "readTC", static: false, private: false, access: { has: obj => "readTC" in obj, get: obj => obj.readTC }, metadata: _metadata }, null, _instanceExtraInitializers);
148
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
149
+ })(),
150
+ _a;
151
+ })();
152
+ exports.ObjectInputStreamAST = ObjectInputStreamAST;
153
+ function nodeAST(type) {
154
+ return (fun) => {
155
+ return function decorated() {
156
+ if (!(this instanceof ObjectInputStreamAST))
157
+ throw new exc.InternalError();
158
+ const start = this.offset;
159
+ const result = fun.apply(this);
160
+ const end = this.offset;
161
+ if (this.nodeStack === undefined)
162
+ return result;
163
+ const span = { start, end };
164
+ const node = {
165
+ type: type,
166
+ span: span,
167
+ children: null,
168
+ };
169
+ if (this.curNode.children === null)
170
+ throw new exc.InternalError();
171
+ // @ts-expect-error
172
+ this.curNode.children.push(node);
173
+ return result;
174
+ };
175
+ };
176
+ }
177
+ function primitiveAST(dataType) {
178
+ return (fun) => {
179
+ return function decorated() {
180
+ if (!(this instanceof ObjectInputStreamAST))
181
+ throw new exc.InternalError();
182
+ const start = this.offset;
183
+ const result = fun.apply(this);
184
+ const end = this.offset;
185
+ if (this.nodeStack === undefined)
186
+ return result;
187
+ const span = { start, end };
188
+ const node = {
189
+ type: "primitive",
190
+ // @ts-expect-error
191
+ dataType: dataType,
192
+ value: result,
193
+ span: span,
194
+ children: null,
195
+ };
196
+ if (this.curNode.type === "blockdata") {
197
+ const sequence = this.nodeStack[this.nodeStack.length - 2];
198
+ if (sequence.type !== "blockdata-sequence")
199
+ throw new exc.InternalError();
200
+ sequence.values.push(node);
201
+ }
202
+ else {
203
+ if (this.curNode.children === null)
204
+ throw new exc.InternalError();
205
+ // @ts-expect-error
206
+ this.curNode.children.push(node);
207
+ }
208
+ return result;
209
+ };
210
+ };
211
+ }
212
+ const ois_ast = new ObjectInputStreamAST(new Uint8Array([
213
+ 172, 237, 0, 5, 119, 30, 69, 39, 20,
214
+ 78, 206, 109, 85, 58, 3, 21, 127, 242,
215
+ 227, 49, 35, 0, 0, 113, 52, 105, 0,
216
+ 0, 0, 0, 0, 0, 0, 207, 199, 1
217
+ ]));
218
+ ois_ast.readByte();
219
+ ois_ast.readChar();
220
+ ois_ast.readDouble();
221
+ ois_ast.readFloat();
222
+ ois_ast.readInt();
223
+ ois_ast.readLong();
224
+ ois_ast.readShort();
225
+ ois_ast.readBoolean();
226
+ const myAst = ois_ast.getAST();
227
+ myAst.data = [...myAst.data];
228
+ console.log(JSON.stringify(myAst, (key, value) => typeof value === "bigint" ? '' + value : value, 2));
229
+ //# sourceMappingURL=ois-ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ois-ast.js","sourceRoot":"","sources":["../src/ois-ast.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "object-input-stream",
3
+ "version": "0.1.0",
4
+ "description": "ObjectInputStream for JavaScript. Read Java serialized objects in Node and the browser.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.js",
7
+ "scripts": {
8
+ "pretest": "cross-env MAVEN_OPTS='--add-opens java.base/java.io=ALL-UNNAMED' mvn -f ./tests/generatetests/pom.xml clean compile exec:java -Dexec.mainClass=com.o11k.GenerateTests",
9
+ "test": "jest",
10
+ "build": "tsc"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/o11k/object-input-stream-js.git"
15
+ },
16
+ "keywords": [
17
+ "java",
18
+ "serialize",
19
+ "deserialize"
20
+ ],
21
+ "author": "o11k",
22
+ "license": "MIT",
23
+ "files": [
24
+ "dist",
25
+ "src"
26
+ ],
27
+ "bugs": {
28
+ "url": "https://github.com/o11k/object-input-stream-js/issues"
29
+ },
30
+ "homepage": "https://github.com/o11k/object-input-stream-js#readme",
31
+ "devDependencies": {
32
+ "@types/jest": "^30.0.0",
33
+ "@types/node": "^24.10.2",
34
+ "cross-env": "^10.1.0",
35
+ "jest": "^30.2.0",
36
+ "ts-jest": "^29.4.6",
37
+ "typescript": "^5.9.3"
38
+ }
39
+ }
package/src/ast.ts ADDED
@@ -0,0 +1,260 @@
1
+ import type ObjectInputStream from '.';
2
+
3
+
4
+ // ========== CONTRACT ==========
5
+ //
6
+ // - If a node has children, their spans add up exactly to the parent's span, and do not overlap
7
+ // - Handles are consecutive, epoch increments on "reset" or "exception"
8
+ // - Types match
9
+ // - ClassDescNode > PrevObjectNode is a ClassDesc
10
+ // - NewEnumNode > ObjectNode is a String
11
+ // - ObjectDescNode > ObjectNode is a String
12
+ // - ExceptionNode > ObjectNode is Throwable
13
+ // - "values" match their respective "fields" / array classData
14
+
15
+
16
+ export interface Ast {
17
+ data: Uint8Array
18
+ root: RootNode
19
+ }
20
+ export default Ast
21
+
22
+ export type Node =
23
+ RootNode | MagicNode | VersionNode | ContentsNode
24
+ | BlockDataSequenceNode | BlockDataNode
25
+ | PrimitiveNode | UtfNode | LongUtfNode | UtfBodyNode | BytesNode | SkippedNode
26
+ | ObjectNode | TCNode | ClassDescInfoNode | ProxyClassDescInfoNode
27
+
28
+ export interface RootNode extends BaseNode<[MagicNode, VersionNode, ContentsNode]> {
29
+ type: "root"
30
+ }
31
+
32
+ export interface MagicNode extends BaseNode<null> {type: "magic", value: typeof ObjectInputStream.STREAM_MAGIC}
33
+ export interface VersionNode extends BaseNode<null> {type: "version", value: typeof ObjectInputStream.STREAM_VERSION}
34
+
35
+ export interface ContentsNode extends BaseNode<(BlockDataSequenceNode | ObjectNode)[]> {
36
+ type: "contents"
37
+ }
38
+
39
+ interface BaseNode<C extends BaseNode<any>[] | null> {
40
+ type: string
41
+ span: {start: number, end: number}
42
+ children: C
43
+ jsValue?: any
44
+ }
45
+
46
+
47
+ // ========== Primitives ==========
48
+
49
+ export type PrimitiveNode = ByteNode | UnsignedByteNode | ShortNode | UnsignedShortNode | IntNode | FloatNode | DoubleNode | CharNode | BooleanNode | LongNode
50
+
51
+ interface BasePrimitiveNode extends BaseNode<null> {
52
+ type: "primitive"
53
+ dataType: string
54
+ value: number | string | boolean | bigint
55
+ }
56
+ interface NumberNode extends BasePrimitiveNode {
57
+ dataType: string
58
+ value: number
59
+ }
60
+ export type ByteNode = NumberNode & {dataType: "byte"}
61
+ export type UnsignedByteNode = NumberNode & {dataType: "unsigned-byte"}
62
+ export type ShortNode = NumberNode & {dataType: "short"}
63
+ export type UnsignedShortNode = NumberNode & {dataType: "unsigned-short"}
64
+ export type IntNode = NumberNode & {dataType: "int"}
65
+ export type FloatNode = NumberNode & {dataType: "float"}
66
+ export type DoubleNode = NumberNode & {dataType: "double"}
67
+
68
+ export interface CharNode extends BasePrimitiveNode {
69
+ dataType: "char"
70
+ value: string
71
+ }
72
+ export interface BooleanNode extends BasePrimitiveNode {
73
+ dataType: "boolean"
74
+ value: boolean
75
+ }
76
+ export interface LongNode extends BasePrimitiveNode {
77
+ dataType: "long"
78
+ value: bigint
79
+ }
80
+
81
+ export interface UtfNode extends BaseNode<[UnsignedShortNode, UtfBodyNode]> {
82
+ type: "utf"
83
+ }
84
+ export interface LongUtfNode extends BaseNode<[LongNode, UtfBodyNode]> {
85
+ type: "long-utf"
86
+ }
87
+ export interface UtfBodyNode extends BaseNode<null> {
88
+ type: "utf-body"
89
+ value: string
90
+ }
91
+
92
+ export interface BytesNode extends BaseNode<null> {
93
+ type: "bytes"
94
+ }
95
+
96
+ export interface SkippedNode extends BaseNode<null> {
97
+ type: "skipped"
98
+ reason: string
99
+ }
100
+
101
+
102
+ // ========== Block Data ==========
103
+
104
+ export interface BlockDataSequenceNode extends BaseNode<BlockDataNode[]> {
105
+ type: "blockdata-sequence"
106
+ values: (PrimitiveNode | UtfNode | SkippedNode)[]
107
+ }
108
+
109
+ export interface BlockDataNode extends BaseNode<
110
+ [TC_BLOCKDATA_Node, UnsignedByteNode, BytesNode] |
111
+ [TC_BLOCKDATALONG_Node, LongNode, BytesNode]
112
+ > {
113
+ type: "blockdata"
114
+ }
115
+
116
+
117
+ // ========== Objects ==========
118
+
119
+ export type ObjectNode = NewObjectNode | NewClassNode | NewArrayNode | NewStringNode | NewEnumNode | NewClassDescNode | PrevObjectNode | NullNode | ExceptionNode | ResetNode
120
+ export type ClassDescNode = NewClassDescNode | NullNode | PrevObjectNode
121
+
122
+ interface BaseObjectNode<C extends [TCNode, ...BaseNode<any>[]]> extends BaseNode<C> {
123
+ type: "object"
124
+ objectType: string
125
+ }
126
+
127
+ export interface NewObjectNode extends BaseObjectNode<
128
+ [TC_OBJECT_Node, ClassDescNode, ...ClassDataNode[]]
129
+ > {
130
+ objectType: "new-object"
131
+ handle: Handle
132
+ }
133
+ export interface NewClassNode extends BaseObjectNode<[TC_CLASS_Node, ClassDescNode]> {
134
+ objectType: "new-class"
135
+ handle: Handle
136
+ }
137
+ export interface NewArrayNode extends BaseObjectNode<[TC_ARRAY_Node, ClassDescNode, IntNode, ValuesNode]> {
138
+ objectType: "new-array"
139
+ handle: Handle
140
+ }
141
+ export interface NewStringNode extends BaseObjectNode<
142
+ [TC_STRING_Node, UtfNode] |
143
+ [TC_LONGSTRING_Node, LongUtfNode]
144
+ > {
145
+ objectType: "new-string"
146
+ handle: Handle
147
+ }
148
+ export interface NewEnumNode extends BaseObjectNode<[TC_ENUM_Node, ClassDescNode, ObjectNode]> {
149
+ objectType: "new-enum"
150
+ handle: Handle
151
+ }
152
+ export interface NewClassDescNode extends BaseObjectNode<
153
+ [TC_CLASSDESC_Node, UtfNode, LongNode, ClassDescInfoNode] |
154
+ [TC_PROXYCLASSDESC_Node, ProxyClassDescInfoNode]
155
+ > {
156
+ objectType: "new-class-desc"
157
+ handle: Handle
158
+ }
159
+ export interface PrevObjectNode extends BaseObjectNode<[TC_REFERENCE_Node, IntNode]> {
160
+ objectType: "prev-object"
161
+ value: Handle
162
+ }
163
+ export interface NullNode extends BaseObjectNode<[TC_NULL_Node]> {
164
+ objectType: "null"
165
+ }
166
+ export interface ExceptionNode extends BaseObjectNode<[TC_EXCEPTION_Node, ObjectNode]> {
167
+ objectType: "exception"
168
+ exceptionEpoch: number
169
+ newEpoch: number
170
+ }
171
+ export interface ResetNode extends BaseObjectNode<[TC_RESET_Node]> {
172
+ objectType: "reset"
173
+ newEpoch: number
174
+ }
175
+
176
+ export interface ClassDescInfoNode extends BaseNode<[ByteNode, FieldsNode, ContentsNode, TC_ENDBLOCKDATA_Node, ClassDescNode]> {
177
+ type: "class-desc-info"
178
+ }
179
+ export interface ProxyClassDescInfoNode extends BaseNode<[IntNode, ...UtfNode[], ContentsNode, TC_ENDBLOCKDATA_Node, ClassDescNode]> {
180
+ type: "proxy-class-desc-info"
181
+ }
182
+
183
+
184
+ // ========== Fields & Values ==========
185
+
186
+ export type ClassDataNode = NoWrClassNode | WrClassNode | ExternalClassNode | OldExternalClassNode
187
+
188
+ interface BaseClassDataNode<C extends BaseNode<any>[] | null> extends BaseNode<C> {
189
+ type: "class-data"
190
+ classType: string
191
+ }
192
+ export interface NoWrClassNode extends BaseClassDataNode<[ValuesNode]> {
193
+ classType: "serializable"
194
+ writeMethod: false
195
+ }
196
+ export interface WrClassNode extends BaseClassDataNode<
197
+ [ValuesNode, ContentsNode] |
198
+
199
+ // A write method can choose to violate the spec and write its values late, or not at all.
200
+ // Why? Because fuck you that's why.
201
+ [ContentsNode, ValuesNode, ContentsNode] |
202
+ [ContentsNode, ValuesNode] |
203
+ [ContentsNode]
204
+ > {
205
+ classType: "serializable"
206
+ writeMethod: true
207
+ }
208
+ export interface ExternalClassNode extends BaseClassDataNode<[ContentsNode]> {
209
+ classType: "externalizable"
210
+ protocolVersion: 2
211
+ }
212
+ export interface OldExternalClassNode extends BaseClassDataNode<(ObjectNode | PrimitiveNode | UtfNode | BytesNode)[]> {
213
+ classType: "externalizable"
214
+ protocolVersion: 1
215
+ }
216
+
217
+ export interface FieldsNode extends BaseNode<[ShortNode, ...FieldDescNode[]]> {
218
+ type: "fields"
219
+ }
220
+ export interface ValuesNode extends BaseNode<(PrimitiveNode | ObjectNode)[]> {
221
+ type: "values"
222
+ }
223
+
224
+ export type FieldDescNode = PrimitiveDescNode | ObjectDescNode
225
+ export interface PrimitiveDescNode extends BaseNode<[UnsignedByteNode, UtfNode]> {
226
+ type: "field-desc"
227
+ fieldType: "primitive"
228
+ }
229
+ export interface ObjectDescNode extends BaseNode<[UnsignedByteNode, UtfNode, ObjectNode]> {
230
+ type: "field-desc"
231
+ fieldType: "object"
232
+ }
233
+
234
+
235
+ // ========== Misc. ==========
236
+
237
+ interface BaseTCNode extends BaseNode<null> {
238
+ type: "tc"
239
+ value: number
240
+ }
241
+
242
+ type TCNode = TC_NULL_Node | TC_REFERENCE_Node | TC_CLASSDESC_Node | TC_OBJECT_Node | TC_STRING_Node | TC_ARRAY_Node | TC_CLASS_Node | TC_BLOCKDATA_Node | TC_ENDBLOCKDATA_Node | TC_RESET_Node | TC_BLOCKDATALONG_Node | TC_EXCEPTION_Node | TC_LONGSTRING_Node | TC_PROXYCLASSDESC_Node | TC_ENUM_Node
243
+
244
+ export type TC_NULL_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_NULL}
245
+ export type TC_REFERENCE_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_REFERENCE}
246
+ export type TC_CLASSDESC_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_CLASSDESC}
247
+ export type TC_OBJECT_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_OBJECT}
248
+ export type TC_STRING_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_STRING}
249
+ export type TC_ARRAY_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_ARRAY}
250
+ export type TC_CLASS_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_CLASS}
251
+ export type TC_BLOCKDATA_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_BLOCKDATA}
252
+ export type TC_ENDBLOCKDATA_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_ENDBLOCKDATA}
253
+ export type TC_RESET_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_RESET}
254
+ export type TC_BLOCKDATALONG_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_BLOCKDATALONG}
255
+ export type TC_EXCEPTION_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_EXCEPTION}
256
+ export type TC_LONGSTRING_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_LONGSTRING}
257
+ export type TC_PROXYCLASSDESC_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_PROXYCLASSDESC}
258
+ export type TC_ENUM_Node = BaseTCNode & {value: typeof ObjectInputStream.TC_ENUM}
259
+
260
+ export type Handle = {epoch: number, handle: number}