@microsoft/api-documenter
Version:
Read JSON files from api-extractor, generate documentation pages
1 lines • 78.6 kB
Source Map (JSON)
{"version":3,"file":"MarkdownDocumenter.js","sourceRoot":"","sources":["../../src/documenters/MarkdownDocumenter.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,2CAA6B;AAC7B,oEAAoF;AACpF,4CAc0B;AAC1B,wEA4BwC;AAExC,kEAA4D;AAC5D,oDAAiD;AACjD,gDAA6C;AAC7C,8DAA2D;AAC3D,sDAAmD;AACnD,wDAAqD;AACrD,oDAAiD;AACjD,kDAA+C;AAC/C,6EAA0E;AAC1E,yDAAsD;AACtD,mFAG6C;AAE7C,qFAAkF;AAQlF;;;GAGG;AACH,MAAa,kBAAkB;IAQ7B,YAAmB,OAAmC;QACpD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,kCAAc,CAAC,aAAa,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAY,EAAE,CAAC;IAC1C,CAAC;IAEM,aAAa;QAClB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;gBACnD,OAAO,IAAI,4DAAgC,CAAC;oBAC1C,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,YAAY,EAAE,IAAI,CAAC,aAAa;oBAChC,UAAU,EAAE,IAAI,uDAA0B,CAAC;wBACzC,iBAAiB,EAAE,CAAC,OAAgB,EAAE,EAAE;4BACtC,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;wBAClD,CAAC;qBACF,CAAC;iBACH,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE;YAChD,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC7D;IACH,CAAC;IAEO,iBAAiB,CAAC,OAAgB;QACxC,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QACnE,MAAM,MAAM,GAAe,IAAI,kBAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAW,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAEhE,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,iCAAW,CAAC,KAAK;gBACpB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnF,MAAM;YACR,KAAK,iCAAW,CAAC,IAAI;gBACnB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClF,MAAM;YACR,KAAK,iCAAW,CAAC,SAAS;gBACxB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,YAAY,EAAE,CAAC,CAAC,CAAC;gBACvF,MAAM;YACR,KAAK,iCAAW,CAAC,WAAW,CAAC;YAC7B,KAAK,iCAAW,CAAC,kBAAkB;gBACjC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,iCAAW,CAAC,MAAM,CAAC;YACxB,KAAK,iCAAW,CAAC,eAAe;gBAC9B,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,SAAS,EAAE,CAAC,CAAC,CAAC;gBACpF,MAAM;YACR,KAAK,iCAAW,CAAC,QAAQ;gBACvB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,iCAAW,CAAC,KAAK;gBACpB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gBAC7E,MAAM;YACR,KAAK,iCAAW,CAAC,SAAS;gBACxB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,YAAY,EAAE,CAAC,CAAC,CAAC;gBACvF,MAAM;YACR,KAAK,iCAAW,CAAC,OAAO;gBACtB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,WAAW,UAAU,CAAC,CAAC;gBACtD,MAAM,mBAAmB,GAAW,+BAAW,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrF,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC9F,MAAM;YACR,KAAK,iCAAW,CAAC,QAAQ,CAAC;YAC1B,KAAK,iCAAW,CAAC,iBAAiB;gBAChC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,iCAAW,CAAC,SAAS;gBACxB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClF,MAAM;YACR,KAAK,iCAAW,CAAC,QAAQ;gBACvB,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACjE;QAED,IAAI,wCAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC7C,IAAI,OAAO,CAAC,UAAU,KAAK,gCAAU,CAAC,KAAK,EAAE;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;aACjC;iBAAM,IAAI,OAAO,CAAC,UAAU,KAAK,gCAAU,CAAC,IAAI,EAAE;gBACjD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;aAChC;SACF;QAED,MAAM,eAAe,GAAe,EAAE,CAAC;QAEvC,IAAI,OAAO,YAAY,uCAAiB,EAAE;YACxC,MAAM,YAAY,GAA2B,OAAO,CAAC,YAAY,CAAC;YAElE,IAAI,YAAY,EAAE;gBAChB,eAAe,CAAC,IAAI,CAClB,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CACjC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,KAAK,oBAAY,CAAC,SAAS,CAAC,oBAAoB,CAC/F,CACF,CAAC;gBAEF,IAAI,YAAY,CAAC,eAAe,EAAE;oBAChC,MAAM,CAAC,UAAU,CACf,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,EAAE;wBAChC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;4BAClC,IAAI,oBAAY,CAAC;gCACf,aAAa;gCACb,IAAI,EAAE,qCAAqC;6BAC5C,CAAC;yBACH,CAAC;wBACF,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK;qBAC9C,CAAC,CACH,CAAC;iBACH;gBAED,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,OAAO,YAAY,qCAAe,EAAE;YACtC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,MAAM,CAAC,UAAU,CACf,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBAClC,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;qBACxD,CAAC;iBACH,CAAC,CACH,CAAC;gBACF,MAAM,CAAC,UAAU,CACf,IAAI,qBAAa,CAAC;oBAChB,aAAa;oBACb,IAAI,EAAE,OAAO,CAAC,uBAAuB,EAAE;oBACvC,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;aACH;YAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC3C;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,MAAM,CAAC,UAAU,CACf,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;gBAClC,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;iBACzD,CAAC;aACH,CAAC,CACH,CAAC;YACF,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;gBAC5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAClD;SACF;QAED,IAAI,aAAa,GAAY,IAAI,CAAC;QAClC,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,iCAAW,CAAC,KAAK,CAAC;YACvB,KAAK,iCAAW,CAAC,SAAS,CAAC;YAC3B,KAAK,iCAAW,CAAC,SAAS,CAAC;YAC3B,KAAK,iCAAW,CAAC,OAAO;gBACtB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3C,aAAa,GAAG,KAAK,CAAC;gBACtB,MAAM;SACT;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,iCAAW,CAAC,KAAK;gBACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAmB,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,iCAAW,CAAC,IAAI;gBACnB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAkB,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,iCAAW,CAAC,SAAS;gBACxB,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAuB,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,iCAAW,CAAC,WAAW,CAAC;YAC7B,KAAK,iCAAW,CAAC,kBAAkB,CAAC;YACpC,KAAK,iCAAW,CAAC,MAAM,CAAC;YACxB,KAAK,iCAAW,CAAC,eAAe,CAAC;YACjC,KAAK,iCAAW,CAAC,QAAQ;gBACvB,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAgC,CAAC,CAAC;gBACrE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,iCAAW,CAAC,SAAS;gBACxB,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAuB,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,iCAAW,CAAC,KAAK;gBACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAmB,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,iCAAW,CAAC,OAAO;gBACtB,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAqB,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,iCAAW,CAAC,QAAQ,CAAC;YAC1B,KAAK,iCAAW,CAAC,iBAAiB;gBAChC,MAAM;YACR,KAAK,iCAAW,CAAC,SAAS;gBACxB,MAAM;YACR,KAAK,iCAAW,CAAC,QAAQ;gBACvB,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACjE;QAED,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC5C;QAED,MAAM,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7F,MAAM,aAAa,GAAkB,IAAI,qBAAa,EAAE,CAAC;QAEzD,aAAa,CAAC,MAAM,CAClB,sFAAsF,CACvF,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YAChD,cAAc,EAAE,OAAO;YACvB,uBAAuB,EAAE,CAAC,kBAA2B,EAAE,EAAE;gBACvD,OAAO,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;YAC7D,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,GAAW,aAAa,CAAC,QAAQ,EAAE,CAAC;QAEnD,IAAI,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE;YAChD,gDAAgD;YAChD,MAAM,SAAS,GAAoD;gBACjE,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,WAAW;aACzB,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1E,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;SACrC;QAED,8BAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC1C,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,+BAAW,CAAC,IAAI;SACnG,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,MAAkB,EAAE,OAAwB;QACtE,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,IAAI,OAAO,YAAY,8BAAQ,EAAE;YAC/B,IAAI,OAAO,CAAC,WAAW,EAAE;gBACvB,MAAM,gBAAgB,GAAiB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBACzE,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;qBACvD,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjF,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;aACrC;YACD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,MAAM,mBAAmB,GAAiB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBAC5E,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;qBAC1D,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,UAAU,GAAY,KAAK,CAAC;gBAChC,KAAK,MAAM,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE;oBACpD,IAAI,UAAU,EAAE;wBACd,mBAAmB,CAAC,UAAU,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;qBACjF;oBACD,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC/E,UAAU,GAAG,IAAI,CAAC;iBACnB;gBACD,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;aACxC;SACF;QAED,IAAI,OAAO,YAAY,kCAAY,EAAE;YACnC,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,MAAM,gBAAgB,GAAiB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBACzE,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;qBACvD,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,UAAU,GAAY,KAAK,CAAC;gBAChC,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE;oBAC9C,IAAI,UAAU,EAAE;wBACd,gBAAgB,CAAC,UAAU,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;qBAC9E;oBACD,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;oBACzE,UAAU,GAAG,IAAI,CAAC;iBACnB;gBACD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;aACrC;SACF;QAED,IAAI,OAAO,YAAY,kCAAY,EAAE;YACnC,MAAM,IAAI,GAAmB,OAAO,CAAC,aAAa,CAAC,MAAM,CACvD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,sCAAgB,CAAC,SAAS;gBACzC,KAAK,CAAC,kBAAkB;gBACxB,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,eAAe,CAClG,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,MAAM,mBAAmB,GAAiB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBAC5E,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;wBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;qBAC1D,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,UAAU,GAAY,KAAK,CAAC;gBAChC,MAAM,OAAO,GAAgB,IAAI,GAAG,EAAE,CAAC;gBACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;oBACtB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBACzB,SAAS;qBACV;oBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAEtB,IAAI,UAAU,EAAE;wBACd,mBAAmB,CAAC,UAAU,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;qBACjF;oBAED,IAAI,CAAC,iCAAiC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;oBACjE,UAAU,GAAG,IAAI,CAAC;iBACnB;gBACD,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;aACxC;SACF;IACH,CAAC;IAEO,oBAAoB,CAAC,MAAkB,EAAE,OAAgB;QAC/D,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,IAAI,OAAO,YAAY,uCAAiB,EAAE;YACxC,MAAM,YAAY,GAA2B,OAAO,CAAC,YAAY,CAAC;YAElE,IAAI,YAAY,EAAE;gBAChB,2BAA2B;gBAC3B,IAAI,YAAY,CAAC,YAAY,EAAE;oBAC7B,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBACvE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;iBAChE;gBAED,4BAA4B;gBAC5B,MAAM,aAAa,GAAe,YAAY,CAAC,YAAY,CAAC,MAAM,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,KAAK,oBAAY,CAAC,OAAO,CAAC,oBAAoB,CACrF,CAAC;gBAEF,IAAI,aAAa,GAAW,CAAC,CAAC;gBAC9B,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACxC,MAAM,OAAO,GAAW,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE1F,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBAErE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;oBAElD,EAAE,aAAa,CAAC;iBACjB;aACF;SACF;IACH,CAAC;IAEO,mBAAmB,CAAC,MAAkB,EAAE,OAAgB;QAC9D,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,IAAI,OAAO,YAAY,uCAAiB,EAAE;YACxC,MAAM,YAAY,GAA2B,OAAO,CAAC,YAAY,CAAC;YAElE,IAAI,YAAY,EAAE;gBAChB,2BAA2B;gBAC3B,MAAM,YAAY,GAAe,YAAY,CAAC,YAAY,CAAC,MAAM,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,KAAK,oBAAY,CAAC,MAAM,CAAC,oBAAoB,CACpF,CAAC;gBAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,MAAM,OAAO,GAAW,YAAY,CAAC;oBACrC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBAErE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;wBACtC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;qBAClD;iBACF;aACF;SACF;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAkB,EAAE,QAAkB;QAC7D,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,aAAa,GAAa,IAAI,mBAAQ,CAAC;YAC3C,aAAa;YACb,YAAY,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;SACzC,CAAC,CAAC;QAEH,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE;YACxC,MAAM,GAAG,GAAgB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAChC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,QAAQ,SAAS,CAAC,IAAI,EAAE;gBACtB,KAAK,iCAAW,CAAC,OAAO;oBACtB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;aACT;SACF;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAClC;IACH,CAAC;IAED;;OAEG;IACK,8BAA8B,CAAC,MAAkB,EAAE,YAAuC;QAChG,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,oBAAoB,GAAa,IAAI,mBAAQ,CAAC;YAClD,aAAa;YACb,YAAY,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;SAChD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,IAAI,mBAAQ,CAAC;YAC1C,aAAa;YACb,YAAY,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAa,IAAI,mBAAQ,CAAC;YAC/C,aAAa;YACb,YAAY,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,cAAc,GAAa,IAAI,mBAAQ,CAAC;YAC5C,aAAa;YACb,YAAY,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,eAAe,GAAa,IAAI,mBAAQ,CAAC;YAC7C,aAAa;YACb,YAAY,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,eAAe,GAAa,IAAI,mBAAQ,CAAC;YAC7C,aAAa;YACb,YAAY,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,cAAc,GAAa,IAAI,mBAAQ,CAAC;YAC5C,aAAa;YACb,YAAY,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAa,IAAI,mBAAQ,CAAC;YAC9C,aAAa;YACb,YAAY,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;SAC5C,CAAC,CAAC;QAEH,MAAM,UAAU,GACd,YAAY,CAAC,IAAI,KAAK,iCAAW,CAAC,OAAO;YACvC,CAAC,CAAE,YAA2B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO;YACrD,CAAC,CAAE,YAA6B,CAAC,OAAO,CAAC;QAE7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,GAAG,GAAgB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAChC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,QAAQ,SAAS,CAAC,IAAI,EAAE;gBACtB,KAAK,iCAAW,CAAC,KAAK;oBACpB,IAAI,sCAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE;wBACrE,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAClC;yBAAM;wBACL,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC1B;oBACD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;gBAER,KAAK,iCAAW,CAAC,IAAI;oBACnB,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;gBAER,KAAK,iCAAW,CAAC,SAAS;oBACxB,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;gBAER,KAAK,iCAAW,CAAC,SAAS;oBACxB,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;gBAER,KAAK,iCAAW,CAAC,QAAQ;oBACvB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;gBAER,KAAK,iCAAW,CAAC,SAAS;oBACxB,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;gBAER,KAAK,iCAAW,CAAC,QAAQ;oBACvB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;aACT;SACF;QAED,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjC;QAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACzC;QAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SACtC;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACpC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACpC;QAED,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAkB,EAAE,QAAkB;QAC9D,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,WAAW,GAAa,IAAI,mBAAQ,CAAC;YACzC,aAAa;YACb,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAa,IAAI,mBAAQ,CAAC;YAC/C,aAAa;YACb,YAAY,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,eAAe,GAAa,IAAI,mBAAQ,CAAC;YAC7C,aAAa;YACb,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,IAAI,mBAAQ,CAAC;YAC1C,aAAa;YACb,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC;SACrD,CAAC,CAAC;QAEH,MAAM,UAAU,GAAuB,IAAI,CAAC,oCAAoC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,WAAW,GAAY,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC3D,QAAQ,SAAS,CAAC,IAAI,EAAE;gBACtB,KAAK,iCAAW,CAAC,WAAW,CAAC,CAAC;oBAC5B,iBAAiB,CAAC,MAAM,CACtB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;wBACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAChC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;wBACpC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;qBACpD,CAAC,CACH,CAAC;oBAEF,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;iBACP;gBACD,KAAK,iCAAW,CAAC,MAAM,CAAC,CAAC;oBACvB,YAAY,CAAC,MAAM,CACjB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;wBACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAChC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;wBACpC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;qBACpD,CAAC,CACH,CAAC;oBAEF,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;iBACP;gBACD,KAAK,iCAAW,CAAC,QAAQ,CAAC,CAAC;oBACzB,IAAK,SAA6B,CAAC,eAAe,EAAE;wBAClD,WAAW,CAAC,MAAM,CAChB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;4BACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;4BAChC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;4BACpC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;4BACvC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;yBACpD,CAAC,CACH,CAAC;qBACH;yBAAM;wBACL,eAAe,CAAC,MAAM,CACpB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;4BACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;4BAChC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;4BACpC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;4BACvC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;yBACpD,CAAC,CACH,CAAC;qBACH;oBAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;iBACP;aACF;SACF;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SACtC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACpC;QAED,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAkB,EAAE,OAAgB;QAC3D,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,gBAAgB,GAAa,IAAI,mBAAQ,CAAC;YAC9C,aAAa;YACb,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;SACjD,CAAC,CAAC;QAEH,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE;YAC3C,gBAAgB,CAAC,MAAM,CACrB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;gBACjC,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBAClC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;wBAClC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;qBACxF,CAAC;iBACH,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;gBAC1C,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;aAC3C,CAAC,CACH,CAAC;SACH;QAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;SACrC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAkB,EAAE,YAA0B;QAC1E,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,WAAW,GAAa,IAAI,mBAAQ,CAAC;YACzC,aAAa;YACb,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,eAAe,GAAa,IAAI,mBAAQ,CAAC;YAC7C,aAAa;YACb,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,IAAI,mBAAQ,CAAC;YAC1C,aAAa;YACb,YAAY,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAuB,IAAI,CAAC,oCAAoC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,WAAW,GAAY,SAAS,CAAC,MAAM,KAAK,YAAY,CAAC;YAC/D,QAAQ,SAAS,CAAC,IAAI,EAAE;gBACtB,KAAK,iCAAW,CAAC,kBAAkB,CAAC;gBACpC,KAAK,iCAAW,CAAC,eAAe,CAAC,CAAC;oBAChC,YAAY,CAAC,MAAM,CACjB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;wBACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAChC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;qBACpD,CAAC,CACH,CAAC;oBAEF,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;iBACP;gBACD,KAAK,iCAAW,CAAC,iBAAiB,CAAC,CAAC;oBAClC,IAAK,SAA6B,CAAC,eAAe,EAAE;wBAClD,WAAW,CAAC,MAAM,CAChB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;4BACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;4BAChC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;4BACpC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;4BACvC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;yBACpD,CAAC,CACH,CAAC;qBACH;yBAAM;wBACL,eAAe,CAAC,MAAM,CACpB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;4BACjC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;4BAChC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;4BACpC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;4BACvC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC;yBACpD,CAAC,CACH,CAAC;qBACH;oBAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,MAAM;iBACP;aACF;SACF;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACpC;QAED,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAkB,EAAE,qBAA4C;QAC5F,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,eAAe,GAAa,IAAI,mBAAQ,CAAC;YAC7C,aAAa;YACb,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;SACnD,CAAC,CAAC;QACH,KAAK,MAAM,YAAY,IAAI,qBAAqB,CAAC,UAAU,EAAE;YAC3D,MAAM,oBAAoB,GAAe,IAAI,kBAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;YAE3E,IAAI,YAAY,CAAC,UAAU,EAAE;gBAC3B,oBAAoB,CAAC,sBAAsB,CAAC;oBAC1C,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;wBACnD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;qBACxD,CAAC;oBACF,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;iBAC/C,CAAC,CAAC;aACJ;YAED,IAAI,YAAY,CAAC,eAAe,EAAE;gBAChC,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aACzF;YAED,eAAe,CAAC,MAAM,CACpB,IAAI,yBAAW,CAAC,EAAE,aAAa,EAAE,EAAE;gBACjC,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBAClC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;wBAClC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;qBAC7D,CAAC;iBACH,CAAC;gBACF,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE;oBAClC,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,oBAAoB,CAAC;iBACvE,CAAC;gBACF,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE,oBAAoB,CAAC,KAAK,CAAC;aAChE,CAAC,CACH,CAAC;SACH;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACpC;QAED,IAAI,wCAAkB,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE;YAC3D,MAAM,iBAAiB,GAAY,qBAAqB,CAAC,iBAAiB,CAAC;YAC3E,MAAM,CAAC,UAAU,CACf,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;gBAClC,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBACjD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;iBACtD,CAAC;aACH,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAE1E,IAAI,qBAAqB,YAAY,uCAAiB,EAAE;gBACtD,IAAI,qBAAqB,CAAC,YAAY,IAAI,qBAAqB,CAAC,YAAY,CAAC,YAAY,EAAE;oBACzF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;iBACtF;aACF;SACF;IACH,CAAC;IAEO,8BAA8B,CAAC,OAAgB;QACrD,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,SAAS,GAAiB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YACxB,SAAS,CAAC,UAAU,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;SACnF;aAAM;YACL,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACvD;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,4BAA4B,CAAC,gBAAkC,EAAE,OAAgB;QACvF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE;YACzC,IAAI,CAAC,iCAAiC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SACjE;IACH,CAAC;IAEO,iCAAiC,CAAC,gBAAkC,EAAE,KAAmB;QAC/F,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,qGAAqG;QACrG,kGAAkG;QAClG,qEAAqE;QACrE,MAAM,kBAAkB,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAEvE,kDAAkD;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,sCAAgB,CAAC,SAAS,IAAI,KAAK,CAAC,kBAAkB,EAAE;YACzE,MAAM,aAAa,GAAuC,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAClG,KAAK,CAAC,kBAAkB,EACxB,SAAS,CACV,CAAC;YAEF,IAAI,aAAa,CAAC,eAAe,EAAE;gBACjC,gBAAgB,CAAC,UAAU,CACzB,IAAI,kBAAU,CAAC;oBACb,aAAa;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,kBAAkB;oBAC5B,cAAc,EAAE,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,eAAe,CAAC;iBAC/E,CAAC,CACH,CAAC;gBACF,OAAO;aACR;SACF;QAED,wCAAwC;QACxC,gBAAgB,CAAC,UAAU,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAEO,gBAAgB,CAAC,OAAgB;QACvC,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,IAAI,QAAQ,GAAW,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,sCAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YACjE,QAAQ,IAAI,GAAG,CAAC;SACjB;QAED,OAAO,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE;YACzC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;gBAClC,IAAI,kBAAU,CAAC;oBACb,aAAa;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,QAAQ;oBAClB,cAAc,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;iBACzD,CAAC;aACH,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,OAAgB,EAAE,cAAuB,KAAK;QAC3E,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,OAAO,GAAe,IAAI,kBAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAE9D,IAAI,wCAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC7C,IAAI,OAAO,CAAC,UAAU,KAAK,gCAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,KAAK,gCAAU,CAAC,IAAI,EAAE;gBACrF,OAAO,CAAC,sBAAsB,CAAC;oBAC7B,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;wBAC/D,IAAI,oBAAY,CAAC;4BACf,aAAa;4BACb,IAAI,EAAE,IAAI,OAAO,CAAC,UAAU,KAAK,gCAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG;yBACxE,CAAC;qBACH,CAAC;oBACF,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;iBAC/C,CAAC,CAAC;aACJ;SACF;QAED,IAAI,sCAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YACjE,OAAO,CAAC,sBAAsB,CAAC;gBAC7B,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;oBACnD,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;iBACxD,CAAC;gBACF,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;aAC/C,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,YAAY,uCAAiB,EAAE;YACxC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;aAC3E;SACF;QAED,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE;YACjC,OAAO,CAAC,UAAU,CAChB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;gBAClC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC7D,IAAI,kBAAU,CAAC;oBACb,aAAa;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;oBACpC,cAAc,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC;iBAChE,CAAC;gBACF,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;aAC/C,CAAC,CACH,CAAC;SACH;QAED,OAAO,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QAC3C,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,OAAO,GAAe,IAAI,kBAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAE9D,mGAAmG;QACnG,wGAAwG;QACxG,wFAAwF;QAExF,IAAI,uCAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC5C,IAAI,OAAO,CAAC,WAAW,EAAE;gBACvB,OAAO,CAAC,UAAU,CAChB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAC7F,CAAC;aACH;SACF;QAED,IAAI,oCAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpB,OAAO,CAAC,UAAU,CAChB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAC1F,CAAC;aACH;SACF;QAED,IAAI,sCAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC3C,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,OAAO,CAAC,UAAU,CAChB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAC5F,CAAC;aACH;SACF;QAED,IAAI,sCAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC3C,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,OAAO,CAAC,UAAU,CAChB,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAC5F,CAAC;aACH;SACF;QAED,OAAO,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,uBAAuB,CAAC,OAAgB;QAC9C,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,OAAO,GAAe,IAAI,kBAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAE9D,IAAI,OAAO,YAAY,qCAAe,EAAE;YACtC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;SACtF;QAED,OAAO,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAC7C,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,OAAO,GAAe,IAAI,kBAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAE9D,IAAI,yCAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC9C,IAAI,OAAO,CAAC,kBAAkB,EAAE;gBAC9B,OAAO,CAAC,qBAAqB,CAC3B,IAAI,mBAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;aACH;SACF;QAED,OAAO,IAAI,2BAAY,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,gBAAgB,CAAC,MAAkB,EAAE,OAAgB;QAC3D,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QAEnE,MAAM,CAAC,qBAAqB,CAC1B,IAAI,kBAAU,CAAC;YACb,aAAa;YACb,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,MAAM;YAChB,cAAc,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC;SAChE,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;YAClD,QAAQ,aAAa,CAAC,IAAI,EAAE;gBAC1B,KAAK,iCAAW,CAAC,KAAK,CAAC;gBACvB,KAAK,iCAAW,CAAC,UAAU;oBACzB,4FAA4F;oBAC5F,mGAAmG;oBACnG,iCAAiC;oBACjC,MAAM;gBACR;oBACE,MAAM,CAAC,sBAAsB,CAAC;wBAC5B,IAAI,oBAAY,CAAC;4BACf,aAAa;4BACb,IAAI,EAAE,KAAK;yBACZ,CAAC;wBACF,IAAI,kBAAU,CAAC;4BACb,aAAa;4BACb,OAAO,EAAE,OAAO;4BAChB,QAAQ,EAAE,aAAa,CAAC,WAAW;4BACnC,cAAc,EAAE,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC;yBAC/D,CAAC;qBACH,CAAC,CAAC;aACN;SACF;IACH,CAAC;IAEO,kBAAkB,CAAC,MAAkB;QAC3C,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QACnE,MAAM,WAAW,GACf,wEAAwE;YACxE,uFAAuF,CAAC;QAC1F,MAAM,CAAC,UAAU,CACf,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,EAAE;YAChC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;SAC9F,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,MAAkB;QAC1C,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QACnE,MAAM,WAAW,GACf,sEAAsE;YACtE,uFAAuF,CAAC;QAC1F,MAAM,CAAC,UAAU,CACf,IAAI,uBAAU,CAAC,EAAE,aAAa,EAAE,EAAE;YAChC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;SAC9F,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAkB,EAAE,UAAsB;QAC/D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAkB,EAAE,UAAsB;QACvE,IAAI,SAAS,GAAY,IAAI,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACnC,IAAI,SAAS,EAAE;gBACb,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAW,CAAC,SAAS,EAAE;oBACvC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;oBACpD,SAAS,GAAG,KAAK,CAAC;oBAClB,SAAS;iBACV;aACF;YACD,SAAS,GAAG,KAAK,CAAC;YAElB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;IAEO,oCAAoC,CAC1C,mBAA4C,EAC5C,MAAkB;;QAElB,MAAM,aAAa,GAAuB,IAAI,CAAC,mBAAmB,CAAC;QACnE,MAAM,oBAAoB,GAAY,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,UAAU,CAAC,oBAAoB,CAAA,CAAC;QAChG,IAAI,CAAC,oBAAoB,EAAE;YACzB,OAAO,mBAAmB,CAAC,OAAO,CAAC;SACpC;QAED,MAAM,MAAM,GAAwB,mBAAmB,CAAC,0BAA0B,EAAE,CAAC;QAErF,qFAAqF;QACrF,IAAI,MAAM,CAAC,qBAAqB,EAAE;YAChC,MAAM,CAAC,UAAU,CACf,IAAI,oBAAY,CAAC,EAAE,aAAa,EAAE,EAAE;gBAClC,IAAI,iCAAe,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;oBACnD,IAAI,oBAAY,CAAC;wBACf,aAAa;wBACb,IAAI,EAAE,kGAAkG;qBACzG,CAAC;iBACH,CAAC;aACH,CAAC,CACH,CAAC;SACH;QAED,4CAA4C;QAC5C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,sDAAsD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SACnF;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEO,sBAAsB,CAAC,OAAgB;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,iCAAW,CAAC,KAAK,EAAE;YACtC,OAAO,UAAU,CAAC;SACnB;QAED,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;YAClD,qEAAqE;YACrE,IAAI,aAAa,GAAW,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,2CAAqB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;gBACtD,IAAI,aAAa,CAAC,aAAa,GAAG,CAAC,EAAE;oBACnC,0EAA0E;oBAC1E,0DAA0D;oBAC1D,aAAa,IAAI,IAAI,aAAa,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;iBACxD;aACF;YAED,QAAQ,aAAa,CAAC,IAAI,EAAE;gBAC1B,KAAK,iCAAW,CAAC,KAAK,CAAC;gBACvB,KAAK,iCAAW,CAAC,UAAU,CAAC;gBAC5B,KAAK,iCAAW,CAAC,UAAU;oBACzB,MAAM;gBACR,KAAK,iCAAW,CAAC,OAAO;oBACtB,QAAQ,GAAG,qBAAS,CAAC,sBAAsB,CAAC,+BAAW,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpG,MAAM;gBACR;oBACE,QAAQ,IAAI,GAAG,GAAG,aAAa,CAAC;aACnC;SACF;QACD,OAAO,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,0BAA0B,CAAC,OAAgB;QACjD,OAAO,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAEO,qBAAqB;QAC3B,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,8BAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;CACF;AAlrCD,gDAkrCC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as path from 'path';\nimport { PackageName, FileSystem, NewlineKind } from '@rushstack/node-core-library';\nimport {\n DocSection,\n DocPlainText,\n DocLinkTag,\n type TSDocConfiguration,\n StringBuilder,\n DocNodeKind,\n DocParagraph,\n DocCodeSpan,\n DocFencedCode,\n StandardTags,\n type DocBlock,\n type DocComment,\n type DocNodeContainer\n} from '@microsoft/tsdoc';\nimport {\n type ApiModel,\n type ApiItem,\n type ApiEnum,\n type ApiPackage,\n ApiItemKind,\n ApiReleaseTagMixin,\n ApiDocumentedItem,\n ApiClass,\n ReleaseTag,\n ApiStaticMixin,\n ApiPropertyItem,\n ApiInterface,\n type Excerpt,\n ApiAbstractMixin,\n ApiParameterListMixin,\n ApiReturnTypeMixin,\n ApiDeclaredItem,\n type ApiNamespace,\n ExcerptTokenKind,\n type IResolveDeclarationReferenceResult,\n ApiTypeAlias,\n type ExcerptToken,\n ApiOptionalMixin,\n ApiInitializerMixin,\n ApiProtectedMixin,\n ApiReadonlyMixin,\n type IFindApiItemsResult\n} from '@microsoft/api-extractor-model';\n\nimport { CustomDocNodes } from '../nodes/CustomDocNodeKind';\nimport { DocHeading } from '../nodes/DocHeading';\nimport { DocTable } from '../nodes/DocTable';\nimport { DocEmphasisSpan } from '../nodes/DocEmphasisSpan';\nimport { DocTableRow } from '../nodes/DocTableRow';\nimport { DocTableCell } from '../nodes/DocTableCell';\nimport { DocNoteBox } from '../nodes/DocNoteBox';\nimport { Utilities } from '../utils/Utilities';\nimport { CustomMarkdownEmitter } from '../markdown/CustomMarkdownEmitter';\nimport { PluginLoader } from '../plugin/PluginLoader';\nimport {\n type IMarkdownDocumenterFeatureOnBeforeWritePageArgs,\n MarkdownDocumenterFeatureContext\n} from '../plugin/MarkdownDocumenterFeature';\nimport type { DocumenterConfig } from './DocumenterConfig';\nimport { MarkdownDocumenterAccessor } from '../plugin/MarkdownDocumenterAccessor';\n\nexport interface IMarkdownDocumenterOptions {\n apiModel: ApiModel;\n documenterConfig: DocumenterConfig | undefined;\n outputFolder: string;\n}\n\n/**\n * Renders API documentation in the Markdown file format.\n * For more info: https://en.wikipedia.org/wiki/Markdown\n */\nexport class MarkdownDocumenter {\n private readonly _apiModel: ApiModel;\n private readonly _documenterConfig: DocumenterConfig | undefined;\n private readonly _tsdocConfiguration: TSDocConfiguration;\n private readonly _markdownEmitter: CustomMarkdownEmitter;\n private readonly _outputFolder: string;\n private readonly _pluginLoader: PluginLoader;\n\n public constructor(options: IMarkdownDocumenterOptions) {\n this._apiModel = options.apiModel;\n this._documenterConfig = options.documenterConfig;\n this._outputFolder = options.outputFolder;\n this._tsdocConfiguration = CustomDocNodes.configuration;\n this._markdownEmitter = new CustomMarkdownEmitter(this._apiModel);\n\n this._pluginLoader = new PluginLoader();\n }\n\n public generateFiles(): void {\n if (this._documenterConfig) {\n this._pluginLoader.load(this._documenterConfig, () => {\n return new MarkdownDocumenterFeatureContext({\n apiModel: this._apiModel,\n outputFolder: this._outputFolder,\n documenter: new MarkdownDocumenterAccessor({\n getLinkForApiItem: (apiItem: ApiItem) => {\n return this._getLinkFilenameForApiItem(apiItem);\n }\n })\n });\n });\n }\n\n console.log();\n this._deleteOldOutputFiles();\n\n this._writeApiItemPage(this._apiModel);\n\n if (this._pluginLoader.markdownDocumenterFeature) {\n this._pluginLoader.markdownDocumenterFeature.onFinished({});\n }\n }\n\n private _writeApiItemPage(apiItem: ApiItem): void {\n const configuration: TSDocConfiguration = this._tsdocConfiguration;\n const output: DocSection = new DocSection({ configuration });\n\n this._writeBreadcrumb(output, apiItem);\n\n const scopedName: string = apiItem.getScopedNameWithinPackage();\n\n switch (apiItem.kind) {\n case ApiItemKind.Class:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} class` }));\n break;\n case ApiItemKind.Enum:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} enum` }));\n break;\n case ApiItemKind.Interface:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} interface` }));\n break;\n case ApiItemKind.Constructor:\n case ApiItemKind.ConstructSignature:\n output.appendNode(new DocHeading({ configuration, title: scopedName }));\n break;\n case ApiItemKind.Method:\n case ApiItemKind.MethodSignature:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} method` }));\n break;\n case ApiItemKind.Function:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} function` }));\n break;\n case ApiItemKind.Model:\n output.appendNode(new DocHeading({ configuration, title: `API Reference` }));\n break;\n case ApiItemKind.Namespace:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} namespace` }));\n break;\n case ApiItemKind.Package:\n console.log(`Writing ${apiItem.displayName} package`);\n const unscopedPackageName: string = PackageName.getUnscopedName(apiItem.displayName);\n output.appendNode(new DocHeading({ configuration, title: `${unscopedPackageName} package` }));\n break;\n case ApiItemKind.Property:\n case ApiItemKind.PropertySignature:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} property` }));\n break;\n case ApiItemKind.TypeAlias:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} type` }));\n break;\n case ApiItemKind.Variable:\n output.appendNode(new DocHeading({ configuration, title: `${scopedName} variable` }));\n break;\n default:\n throw new Error('Unsupported API item kind: ' + apiItem.kind);\n }\n\n if (ApiReleaseTagMixin.isBaseClassOf(apiItem)) {\n if (apiItem.releaseTag === ReleaseTag.Alpha) {\n this._writeAlphaWarning(output);\n } else if (apiItem.releaseTag === ReleaseTag.Beta) {\n this._writeBetaWarning(output);\n }\n }\n\n const decoratorBlocks: DocBlock[] = [];\n\n if (apiItem instanceof ApiDocumentedItem) {\n const tsdocComment: DocComment | undefined = apiItem.tsdocComment;\n\n if (tsdocComment) {\n decoratorBlocks.push(\n ...tsdocComment.customBlocks.filter(\n (block) => block.blockTag.tagNameWithUpperCase === StandardTags.decorator.tagNameWithUpperCase\n )\n );\n\n if (tsdocComment.deprecatedBlock) {\n output.appendNode(\n new DocNoteBox({ configuration }, [\n new DocParagraph({ configuration }, [\n new DocPlainText({\n configuration,\n text: 'Warning: This API is now obsolete. '\n })\n ]),\n ...tsdocComment.deprecatedBlock.content.nodes\n ])\n );\n }\n\n this._appendSection(output, tsdocComment.summarySection);\n }\n }\n\n if (apiItem instanceof ApiDeclaredItem) {\n if (apiItem.excerpt.text.length > 0) {\n output.appendNode(\n new DocParagraph({ configuration }, [\n new DocEmphasisSpan({ configuration, bold: true }, [\n new DocPlainText({ configuration, text: 'Signature:' })\n ])\n ])\n );\n output.appendNode(\n new DocFencedCode({\n configuration,\n code: apiItem.getExcerptWithModifiers(),\n language: 'typescript'\n })\n );\n }\n\n this._writeHeritageTypes(output, apiItem);\n }\n\n if (decoratorBlocks.length > 0) {\n output.appendNode(\n new DocParagraph({ configuration }, [\n new DocEmphasisSpan({ configuration, bold: true }, [\n new DocPlainText({ configuration, text: 'Decorators:' })\n ])\n ])\n );\n for (const decoratorBlock of decoratorBlocks) {\n output.appendNodes(decoratorBlock.content.nodes);\n }\n }\n\n let appendRemarks: boolean = true;\n switch (apiItem.kind) {\n case ApiItemKind.Class:\n case ApiItemKind.Interface:\n case ApiItemKind.Namespace:\n case ApiItemKind.Package:\n this._writeRemarksSection(output, apiItem);\n appendRemarks = false;\n break;\n }\n\n switch (apiItem.kind) {\n case ApiItemKind.Class:\n this._writeClassTables(output, apiItem as ApiClass);\n break;\n case ApiItemKind.Enum:\n this._writeEnumTables(output, apiItem as ApiEnum);\n break;\n case ApiItemKind.Interface:\n this._writeInterfaceTables(output, apiItem as ApiInterface);\n break;\n case ApiItemKind.Constructor:\n case ApiItemKind.ConstructSignature:\n case ApiItemKind.Method:\n case ApiItemKind.MethodSignature:\n case ApiItemKind.Function:\n this._writeParameterTables(output, apiItem as ApiParameterListMixin);\n this._writeThrowsSection(output, apiItem);\n break;\n case ApiItemKind.Namespace:\n this._writePackageOrNamespaceTables(output, apiItem as ApiNamespace);\n break;\n case ApiItemKind.Model:\n this._writeModelTable(output, apiItem as ApiModel);\n break;\n case ApiItemKind.Package:\n this._writePackageOrNamespaceTables(output, apiItem as ApiPackage);\n break;\n case ApiItemKind.Property:\n case ApiItemKind.PropertySignature:\n break;\n case ApiItemKind.TypeAlias:\n break;\n case ApiItemKind.Variable:\n break;\n default:\n throw new Error('Unsupported API item kind: ' + apiItem.kind);\n }\n\n if (appendRemarks) {\n this._writeRemarksSection(output, apiItem);\n }\n\n const filename: string = path.join(this._outputFolder, this._getFilenameForApiItem(apiItem));\n const stringBuilder: StringBuilder = new StringBuilder();\n\n stringBuilder.append(\n '<!-- Do not edit this file. It is automatically generated by API Documenter. -->\\n\\n'\n );\n\n this._markdownEmitter.emit(stringBuilder, output, {\n contextApiItem: apiItem,\n onGetFilenameForApiItem: (apiItemForFilename: ApiItem) => {\n return this._getLinkFilenameForApiItem(apiItemForFilename);\n }\n });\n\n let pageContent: string = stringBuilder.toString();\n\n if (this._pluginLoader.markdownDocumenterFeature) {\n // Allow the plugin to customize the pageContent\n const eventArgs: IMarkdownDocumenterFeatureOnBeforeWritePageArgs = {\n apiItem: apiItem,\n outputFilename: filename,\n pageContent: pageContent\n };\n this._pluginLoader.markdownDocumenterFeature.onBeforeWritePage(eventArgs);\n pageContent = eventArgs.pageContent;\n }\n\n FileSystem.writeFile(filename, pageContent, {\n convertLineEndings: this._documenterConfig ? this._documenterConfig.newlineKind : NewlineKind.CrLf\n });\n }\n\n private _writeHeritageTypes(output: DocSection, apiItem: ApiDeclaredItem): void {\n const configuration: TSDocConfiguration = this._tsdocConfiguration;\n\n if (apiItem instanceof ApiClass) {\n if (apiItem.extendsType) {\n const extendsParagraph: DocParagraph = new DocParagraph({ configuration }, [\n new DocEmphasisSpan({ configuration, bold: true }, [\n new DocPlainText({ configuration, text: 'Extends: ' })\n ])\n ]);\n this._appendExcerptWithHyperlinks(extendsParagraph, apiItem.extendsType.excerpt);\n output.appendNode(extendsParagraph);\n }\n if (apiItem.implementsTypes.length > 0) {\n const implementsParagraph: DocParagraph = new DocParagraph({ configuration }, [\n new DocEmphasisSpan({ configuration, bold: true }, [\n new DocPlainText({ configuration, text: 'Implements: ' })\n ])\n ]);\n let needsComma: boolean = false;\n for (const implementsType of apiItem.implementsTypes) {\n if (needsComma) {\n implementsParagraph.appendNode(new DocPlainText({ configuration, text: ', ' }));\n }\n this._appendExcerptWithHyperlinks(implementsParagraph, implementsType.excerpt);\n needsComma = true;\n }\n output.appendNode(implementsParagraph);\n }\n }\n\n if (apiItem instanceof ApiInterface) {\n if (apiItem.extendsTypes.length > 0) {\n const extendsParagraph: DocParagraph = new DocParagraph({ configuration }, [\n new DocEmphasisSpan({ configuration, bold: true }, [\n new DocPlainText({ configuration, text: 'Extends: ' })\n ])\n ]);\n let needsComma: boolean = false;\n for (const extendsType of apiItem.extendsTypes) {\n if (needsComma) {\n extendsParagraph.appendNode(new DocPlainText({ configuration, text: ', ' }));\n }\n this._appendExcerptWithHyperlinks(extendsParagraph, extendsType.excerpt);\n needsComma = true;\n }\n output.appendNode(extendsParagraph);\n }\n }\n\n if (apiItem instanceof ApiTypeAlias) {\n const refs: ExcerptToken[] = apiItem.excerptTokens.filter(\n (token) =>\n token.kind === ExcerptTokenKind.Reference &&\n token.canonicalReference &&\n this._apiModel.resolveDeclarationReference(token.canonicalReference, undefined).resolvedApiItem\n );\n if (refs.length > 0) {\n const referencesParagraph: DocParagraph = new DocParagraph({ configuration }, [\n new DocEmphasisSpan({ configuration, bold: true }, [\n new DocPlainText({ configuration, text: 'References: ' })\n ])\n ]);\n let needsComma: boolean = false;\n const visited: Set<string> = new Set();\n for (const ref of refs) {\n if (visited.has(ref.text)) {\n continue;\n }\n visited.add(ref.text);\n\n if (needsComma) {\n referencesParagraph.appendNode(new DocPlainText({ configuration, text: ', ' }));\n }\n\n this._appendExcerptTokenWithHyperlinks(referencesParagraph, ref);\n needsComma = true;\n }\n output.appendNode(referencesParagraph);\n }\n }\n }\n\n private _writeRemarksSection(output: DocSection, apiItem: ApiItem): void {\n const configuration: TSDocConfiguration = this._tsdocConfiguration;\n\n if (apiItem instanceof ApiDocumentedItem) {\n const tsdocComment: DocComment | undefined = apiItem.tsdocComment;\n\n if (tsdocComment) {\n // Write the @remarks block\n if (tsdocComment.remarksBlock) {\n output.appendNode(new DocHeading({ configuration, title: 'Remarks' }));\n this._appendSection(output, tsdocComment.remarksBlock.content);\n }\n\n // Write the @example blocks\n const exampleBlocks: DocBlock[] = tsdocComment.customBlocks.filter(\n (x) => x.blockTag.tagNameWithUpperCase === StandardTags.example.tagNameWithUpperCase\n );\n\n let exampleNumber: number = 1;\n for (const exampleBlock of exampleBlocks) {\n const heading: string = exampleBlocks.length > 1 ? `Example ${exampleNumber}` : 'Example';\n\n output.appendNode(new DocHeading({ configuration, title: heading }));\n\n this._appendSection(output, exampleBlock.content);\n\n ++exampleNumber;\n }\n }\n }\n }\n\n private _writeThrowsSection(output: DocSection, apiItem: ApiItem): void {\n const configuration: TSDocConfiguration = this._tsdocConfiguration;\n\n if (apiItem instanceof ApiDocumentedItem) {\n const tsdocComment: DocComment | undefined = apiItem.tsdocComment;\n\n if (tsdocComment) {\n // Write the @throws blocks\n const throwsBlocks: DocBlock[] = tsdocComment.customBlocks.filter(\n (x) => x.blockTag.tagNameWithUpperCase === StandardTags.throws.tagNameWithUpperCase\n );\n\n if (throwsBlocks.length > 0) {\n