{"version":3,"sources":["ajaxCatalog.ts"],"names":[],"mappings":"AAAA,uCAAuC;AA+BvC,WAAW;AACX,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAC3B,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAC3B,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,IAAI,cAAc,GAAG,QAAQ,CAAC;AAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,IAAI,aAAa,GAAG,IAAI,CAAC;AACzB,IAAI,kBAAkB,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAChT,IAAI,uBAAuB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,yBAAyB,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AACrP,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC5B,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,IAAI,SAAS,GAAQ,EAAE,CAAC;AACxB,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,IAAI,OAAO,GAAG,iBAAiB,CAAC;AAChC,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,IAAI,YAAY,GAAG,CAAC,CAAC;AAGrB,2BAA2B;AAC3B,SAAS,YAAY;;IACjB,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxE,KAAK,GAAG,KAAK,CAAC;IACd,IAAI,GAAG,IAAI,CAAC;IACZ,KAAK,GAAG,KAAK,CAAC;IACd,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QAAE,KAAK,GAAG,KAAK,CAAC;KAAE;IACpD,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QAAE,SAAS,GAAG,SAAS,CAAC;KAAE;IAChE,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/E,WAAW,GAAG,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAE7D,IAAI,WAAW,IAAI,GAAG,EAAE;QACpB,WAAW,GAAG,GAAG,CAAC;KACrB;AACL,CAAC;AAED,oEAAoE;AACpE,SAAS,QAAQ;IACb,YAAY,EAAE,CAAC;IAEf,iCAAiC;IACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,KAAK;;QACjD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,YAAY;QACZ,YAAY,EAAE,CAAC;QACf,sCAAsC;QACtC,kBAAkB,EAAE,CAAC;QACrB,aAAa;QACb,sBAAsB,EAAE,CAAC;QACzB,+BAA+B;QAC/B,iBAAiB,EAAE,CAAC;QACpB,eAAe;QACf,aAAa,EAAE,CAAC;QAChB,8DAA8D;QAC9D,iBAAiB,EAAE,CAAC;QACpB,cAAc;QACd,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAAE,aAAa,GAAG,oBAAoB,CAAC;SAAE;QAC3E,UAAU;QACV,KAAK,SAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;QAC3C,gBAAgB;QAChB,yEAAyE;QACzE,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE;YAC7C,YAAY,GAAG,mBAAmB,EAAE,CAAC;SACxC;QACD,UAAU;QACV,iBAAiB,EAAE,CAAC;QACpB,UAAU;QACV,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;QAEhB,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAAE,aAAa,EAAE,CAAC;SAAE;QAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,UAAU,KAAK;;QACxD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC5B,YAAY;YACZ,YAAY,EAAE,CAAC;YACf,sCAAsC;YACtC,kBAAkB,EAAE,CAAC;YACrB,aAAa;YACb,sBAAsB,EAAE,CAAC;YACzB,+BAA+B;YAC/B,iBAAiB,EAAE,CAAC;YACpB,eAAe;YACf,aAAa,EAAE,CAAC;YAChB,8DAA8D;YAC9D,iBAAiB,EAAE,CAAC;YACpB,cAAc;YACd,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;YAC3E,UAAU;YACV,KAAK,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,QAAQ,EAAE,CAAC;YACzC,gBAAgB;YAChB,yEAAyE;YACzE,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE;gBAC7C,YAAY,GAAG,mBAAmB,EAAE,CAAC;aACxC;YACD,UAAU;YACV,iBAAiB,EAAE,CAAC;YACpB,UAAU;YACV,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,GAAG,CAAC,CAAC;YACX,QAAQ,GAAG,CAAC,CAAC;YACb,QAAQ,GAAG,IAAI,CAAC;YAEhB,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBAAE,aAAa,EAAE,CAAC;aAAE;YAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;SAC1B;IACL,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,UAAU,CAAC;;QACrD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,KAAK,SAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;QACjD,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAA;QACZ,gBAAgB;QAChB,YAAY,GAAG,mBAAmB,EAAE,CAAC;QACrC,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAAE,aAAa,GAAG,oBAAoB,CAAC;SAAE;QAC3E,QAAQ,GAAG,IAAI,CAAC;QAEhB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB;IACzB,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;QACvD,iBAAiB,EAAE,CAAC;QAEpB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB;IACzB,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;QAC3D,iBAAiB,EAAE,CAAC;QAEpB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mBAAmB;IACxB,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;QACvD,iBAAiB,EAAE,CAAC;QAEpB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU;IACf,IAAI,QAAQ,CAAC,eAAe,EAAE;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,CAAC;YAC5D,aAAa,EAAE,CAAC;YAEhB,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACrD,IAAI,GAAG,MAAM,CAAC;aACjB;YAED,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;KAC7E;AACL,CAAC;AAED,8DAA8D;AAC9D,SAAS,iBAAiB;IACtB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IACX,MAAM,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC;;QAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,GAAG,CAAA;SAAE;QACxC,MAAM,UAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,6DAA6D;AAC7D,SAAS,iBAAiB;IACtB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IACX,MAAM,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,6CAA6C,CAAC,CAAC,IAAI,CAAC;;QAClD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,GAAG,CAAA;SAAE;QACxC,MAAM,UAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,6DAA6D;AAC7D,SAAS,iBAAiB;IACtB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IACX,MAAM,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC;;QAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,GAAG,CAAA;SAAE;QACxC,MAAM,UAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kBAAkB;AAClB,SAAS,aAAa;IAClB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IAEX,OAAO,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY;IACjB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,EAAE,CAAC;IACb,SAAS,GAAG,CAAC,CAAC;IAEd,mCAAmC;IACnC,CAAC,CAAC,6FAA6F,CAAC,CAAC,IAAI,CAAC;;QAClG,SAAS,IAAI,CAAC,CAAC;QACf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,GAAG,CAAA;SAAE;QAC1C,OAAO,IAAI,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAM;IAC9B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX,CAAC,CAAC,6FAA6F,CAAC,CAAC,IAAI,CAAC;;QAClG,CAAC,IAAI,CAAC,CAAC;QACP,CAAC,GAAG,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,CAAC;QAChD,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,CAAC,IAAI,MAAM;YACX,WAAW,GAAG,MAAM,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAQ;;IAC/B,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IAE7C,IAAI,IAAI,SAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEhE,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE9D,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5C,WAAW,GAAG,EAAE,CAAC;IACjB,QAAQ,GAAG,CAAC,CAAC;IAEb,YAAY,EAAE,CAAC;IAEf,IAAI,QAAQ,CAAC,QAAQ,EAAE;QAAE,aAAa,EAAE,CAAC;KAAE;IAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,mDAAmD;AACnD,SAAS,kBAAkB;IACvB,KAAK,GAAG,CAAC,CAAC;IACV,OAAO,GAAG,EAAE,CAAC;IACb,CAAC,CAAC,2EAA2E,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,GAAG,CAAA;SAAE;QAC1C,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1J,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE;QAAE,aAAa,GAAG,oBAAoB,CAAC;KAAE;AACjF,CAAC;AAED,qBAAqB;AACrB,SAAS,sBAAsB;IAC3B,KAAK,GAAG,CAAC,CAAC;IACV,iBAAiB,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC,mDAAmD,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,iBAAiB,IAAI,GAAG,CAAA;SAAE;QAC9D,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kCAAkC;AAClC,SAAS,iBAAiB;IACtB,KAAK,GAAG,CAAC,CAAC;IACV,iBAAiB,GAAG,EAAE,CAAC;IACvB,eAAe,GAAG,KAAK,CAAC;IAExB,CAAC,CAAC,sGAAsG,CAAC,CAAC,IAAI,CAAC;QAC3G,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,iBAAiB,IAAI,GAAG,CAAA;SAC3B;QACD,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAAE,aAAa,GAAG,oBAAoB,CAAC;SAAE;QAE3E,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE;YAC5C,eAAe,GAAG,IAAI,CAAC;SAC1B;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB;IACtB,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE;QACnC,yDAAyD;QACzD,iBAAiB,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;KACnE;AACL,CAAC;AAED,kBAAkB;AAClB,SAAS,aAAa;;IAClB,aAAa,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACjC,aAAa,SAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;KAC1D;AACL,CAAC;AAED,SAAS,gBAAgB;IACrB,QAAQ,GAAG,EAAE,CAAC;IAEd,YAAY;IACZ,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;QAC1B,0DAA0D;QAC1D,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;KACjD;SACI;QACD,CAAC,CAAC,+EAA+E,CAAC,CAAC,IAAI,CAAC;YACpF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAAE,QAAQ,IAAI,IAAI,CAAA;aAAE;YAC7C,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;KACN;IAED,kBAAkB;IAClB,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC;QACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,QAAQ,IAAI,GAAG,CAAA;SAAE;QAC5C,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;KAAE;IACzD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,IAAI,cAAc,GAAG,IAAI,CAAC;AAE1B,SAAS,YAAY;IACjB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1B,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,qCAAqC,EAAE,gBAAgB,CAAC,CAAC,CAAC;SACjG;IACL,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,aAAa,EAAE,CAAC;IAEhB,UAAU;IACV,CAAC,CAAC,+FAA+F,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;;QACrH,IAAI,UAAU,EAAE;YAAE,kBAAkB,EAAE,CAAC;SAAE;QACzC,SAAS,GAAG,CAAC,CAAC;QACd,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,EAAE,CAAC;QAEjB,0EAA0E;QAC1E,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAErD,CAAC,CAAC,6FAA6F,CAAC,CAAC,IAAI,CAAC;;YAClG,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,GAAG,CAAC,CAAC;YACX,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,GAAG,CAAC;aAAE;YAC3C,OAAO,IAAI,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,CAAC;YACvD,SAAS,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,WAAW,GAAG,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAEjE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;YACzD,OAAO;SACV;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE;YAChC,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;SACjG;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACxI,WAAW,GAAG,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACjG;QAED,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAAE,aAAa,GAAG,oBAAoB,CAAC;SAAE;QAE3E,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAAE,aAAa,EAAE,CAAC;SAAE;QAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,YAAY;IACZ,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;QACjD,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAC;QACb,aAAa,EAAE,CAAC;QAEhB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;;QAC1D,SAAS,GAAG,CAAC,CAAC;QACd,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,EAAE,CAAC;QACjB,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,WAAW,GAAG,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAEjE,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,EAAE;gBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAAE;YACpE,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;gBAAE,GAAG,GAAG,IAAI,CAAC;aAAE;QACnG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE;YAChC,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;SACjG;QAED,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC;;YACxC,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,GAAG,CAAC,CAAC;YAEX,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,IAAG,CAAC,EAAE;gBAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBAAE,OAAO,IAAI,GAAG,CAAC;iBAAE;gBAC3C,OAAO,IAAI,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,CAAC;gBACvD,SAAS,IAAI,CAAC,CAAC;aAClB;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAAE,aAAa,GAAG,oBAAoB,CAAC;SAAE;QAE3E,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC;QAC3B,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,2CAA2C,EAAE,sBAAsB,CAAC,CAAC,CAAC;SAC7G;IACL,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACnD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,QAAQ,GAAG,CAAC,CAAC;QACb,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAExB,sCAAsC;QACtC,kBAAkB,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;YAClE,IAAI,GAAG,GAAG,aAAa,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACjC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,gBAAgB;YAChB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7B,IAAI,SAAS,KAAK,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE;gBACzD,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC5C;YAED,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBAAE,aAAa,EAAE,CAAC;aAAE;YAE3C,oFAAoF;YACpF,IAAI,OAAO,KAAK,EAAE,EAAE;gBAChB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,OAAO,IAAI,EAAE,EAAE;oBACf,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,sBAAsB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;iBACvK;aACJ;SACJ;aACI;YACD,cAAc,GAAG,IAAI,CAAC;YAEtB,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAErC,IAAI,KAAK,IAAI,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,GAAG,CAAC,CAAC;YAEX,IAAI,SAAS,KAAK,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE;gBACzD,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC5C;YAED,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACnB,aAAa,EAAE,CAAC;aACnB;YAED,IAAI,OAAO,KAAK,EAAE,EAAE;gBAChB,oFAAoF;gBACpF,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,sBAAsB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;aACvK;YAED,WAAW,GAAG,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACxG;QAED,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBACtE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,sBAAsB,CAAC;aAAG;iBAClF;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAG;YAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBAAE,aAAa,IAAI,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAAE;SAC1G;QAED,kBAAkB;QAClB,YAAY,GAAG,mBAAmB,EAAE,CAAC;QACrC,KAAK,GAAG,UAAU,EAAE,CAAC;QAErB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,KAAK;;QACvG,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,QAAQ,GAAG,CAAC,CAAC;QACb,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAC9B,aAAa,GAAG,oBAAoB,CAAC;SACxC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,SAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;SACtC;QAED,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,IAAI,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;QACjC,KAAK,GAAG,UAAU,EAAE,CAAC;QAErB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,CAAC,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,KAAK;;QACzG,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAC9B,aAAa,GAAG,oBAAoB,CAAC;SACxC;QAED,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAC;QACb,KAAK,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;QAC1D,QAAQ,GAAG,IAAI,CAAC;QAEhB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5D,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7D,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;YAC9B,aAAa,GAAG,oBAAoB,CAAC;SACxC;QAED,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,GAAG,CAAC,CAAC;QACX,IAAI,GAAG,EAAE,CAAC;QACV,QAAQ,GAAG,CAAC,CAAC;QACb,KAAK,GAAG,UAAU,EAAE,CAAC;QACrB,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC,oCAAoC,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACvD,IAAI,IAAI,GAAG,CAAC,CAAC,uCAAuC,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;YACtC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;YACtC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChI,QAAQ,GAAG,CAAC,CAAC;YAEb,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACN;IAED,sCAAsC;IACtC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;QACxB,CAAC,CAAC,2DAA2D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;YAChG,kBAAkB,EAAE,CAAC;YACrB,QAAQ,GAAG,CAAC,CAAC;YAEb,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACN;IAED,uBAAuB;IACvB,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAAE;QACxC,CAAC,CAAC,2CAA2C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;YAChF,sBAAsB,EAAE,CAAC;YACzB,QAAQ,GAAG,CAAC,CAAC;YAEb,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACN;IAED,gCAAgC;IAChC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE;QAClF,CAAC,CAAC,sFAAsF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;YAC3H,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,iBAAiB,EAAE,CAAC;YACpB,QAAQ,GAAG,CAAC,CAAC;YAEb,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBAAE,aAAa,EAAE,CAAC;aAAE;YAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,wEAAwE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK;YAC7G,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,KAAK,GAAG,CAAC,CAAC;YACV,QAAQ,GAAG,CAAC,CAAC;YAEb,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAExD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBAC5B,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;iBACrC;qBACI;oBACD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;iBACrE;gBAED,CAAC,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aACtD;YAED,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC/B,iBAAiB,EAAE,CAAC;YAEpB,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACN;IAED,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE;QAC/D,CAAC,CAAC,mEAAmE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;YACzF,mBAAmB;YACnB,cAAc,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,CAAC;YAEb,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACN;IAED,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QACpE,CAAC,CAAC,wEAAwE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;YAC9F,sBAAsB;YACtB,kBAAkB,EAAE,CAAC;YACrB,QAAQ,GAAG,CAAC,CAAC;YAEb,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACN;IAED,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;YACtC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAEzB,cAAc,GAAG,IAAI,CAAC;aACzB;iBACI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE;aACzC;iBAAM;gBACH,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5B,cAAc,GAAG,KAAK,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE;YAChB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAChC;aACI;YACD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzB;IACL,CAAC,CAAC,CAAA;IAEF,IAAI,UAAU,EAAE;QAAE,kBAAkB,EAAE,CAAC;KAAE;IAEzC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QACvC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,OAAO,IAAI,MAAM,EAAE;YACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtB,gBAAgB,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACxD;QAED,WAAW,EAAE,CAAC;QACd,qBAAqB,EAAE,CAAC;QAExB,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB;IACvB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,CAAC,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,EAAE,GAAG,IAAI,CAAC;QACV,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,MAAM,EAAE;gBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;YAC1G,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAAE,EAAE,GAAG,KAAK,CAAC;aAAE;QAChD,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;;YACxB,IAAI,MAAM,EAAE;gBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAAE;YACnI,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,WAAW,EAAE;gBAC7D,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,MAAM,IAAG,CAAC,EAAE;oBAAE,EAAE,GAAG,KAAK,CAAC;iBAAE;aACpF;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB;IACvB,eAAe,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC,aAAa,GAAG,cAAc,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;QACzE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,eAAe,IAAI,GAAG,CAAA;SAAE;QAC1D,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc;IACnB,kBAAkB,EAAE,CAAC;IACrB,KAAK,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB;IAC3B,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,UAAU,CAAC;QAC7E,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,YAAY,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC,aAAa,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;QAC3E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,YAAY,IAAI,GAAG,CAAA;SAAE;QACpD,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB;IACvB,sBAAsB,EAAE,CAAC;IACzB,KAAK,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,MAAM;IACX,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,2CAA2C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,+CAA+C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC,CAAC,gCAAgC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,cAAc,IAAI,IAAI,EAAE;QACnD,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1B,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;YAC1D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;aACrE;QACL,CAAC,CAAC,CAAC;KACN;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAM;IAC/B,IAAI,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAEzC,IAAI,MAAM,IAAI,EAAE,EAAE;QACd,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC1C;IACD,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB;IACxB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE;QACtH,WAAW,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;KAC/E;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,YAAY;IACjB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IACX,YAAY,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE;QAAE,aAAa,GAAG,oBAAoB,CAAC;KAAE;IAC3E,IAAI,QAAQ,CAAC,QAAQ,EAAE;QAAE,aAAa,EAAE,CAAC;KAAE;IAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB;IACxB,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhE,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,iBAAiB,EAAE;QACnB,aAAa,GAAG,iBAAiB,CAAC;KACrC;IACD,IAAI,MAAM,EAAE;QACR,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;KAC1D;IACD,IAAI,iBAAiB,EAAE;QACnB,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;KAChF;IAED,IAAI,UAAU,GAAG,OAAO,GAAG,KAAK;QAC5B,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3H,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,aAAa,CAAC;QACrD,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC;QAClD,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QACxC,oDAAoD;QACpD,CAAC,WAAW,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;QAClE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC;QAC3C,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAC;QAC7D,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,aAAa,CAAC;QACtD,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,aAAa,CAAC;QAC7D,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;QAChD,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC;QACnD,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC;QACrD,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAG,YAAY,CAAC;QACvE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;QACxC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;QACxC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,CAAC,SAAS,IAAI,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QACpI,CAAC,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;IAEjE,2BAA2B;IAC3B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1G,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,qBAAqB;IAC1C,IAAI,qBAAqB,IAAI,IAAI,EAAE;QAC/B,qBAAqB,GAAG,KAAK,CAAC;KACjC;IAED,IAAI,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,cAAc,CAAC;IAEnB,CAAC,CAAC,IAAI,CAAC;QACH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,6BAA6B;QAClC,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/O,KAAK,EAAE,UAAU,IAAI;YACjB,CAAC;QACL,CAAC;QACD,UAAU,EAAE;YACR,IAAI,CAAC,qBAAqB;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,OAAO,qBAAqB,IAAI,UAAU,EAAE;gBAAE,qBAAqB,EAAE,CAAC;aAAE;QAChF,CAAC;QACD,QAAQ,EAAE;YACN,IAAI,OAAO,+BAA+B,IAAI,UAAU,EAAE;gBAAE,+BAA+B,EAAE,CAAC;aAAE;YAEhG,IAAI,CAAC,qBAAqB,EAAE;gBACxB,IAAI,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,EAAE;oBACtD,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;iBACnC;gBACD,IAAI,OAAO,SAAS,IAAI,UAAU,EAAE;oBAChC,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;iBAC5B;aACJ;YAED,gHAAgH;YAChH,IAAI,OAAO,mBAAmB,IAAI,UAAU,EAAE;gBAC1C,mBAAmB,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;aACtC;YAED,IAAI,OAAO,sBAAsB,IAAI,UAAU,EAAE;gBAC7C,sBAAsB,EAAE,CAAC;aAC5B;YAED,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE;gBAC5C,oBAAoB,EAAE,CAAC;aAC1B;YAED,IAAI,CAAC,qBAAqB,EAAE;gBACxB,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,6BAA6B;gBAC7B,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,QAAQ,EAAE;oBAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,0DAA0D;oBAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjD,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;qBACpC;oBACD,2HAA2H;oBAC3H,IAAI,CAAC,MAAM,CAAC,CAAC;iBAChB;aACJ;YAED,IAAI,eAAe,EAAE,EAAE;gBACnB,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;aACjC;iBAAM;gBACH,YAAY,EAAE,CAAC;aAClB;YAED,QAAQ,GAAG,CAAC,CAAC;YACb,cAAc,GAAG,IAAI,CAAC;YACtB,gBAAgB,GAAG,KAAK,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,UAAU,IAAI;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhC,IAAI,cAAc,IAAI,IAAI,EAAE;gBACxB,qCAAqC;gBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,KAAK;oBAChC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC9E,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;qBACxC;gBACL,CAAC,CAAC,CAAC;gBAEH,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAa,EAAE,KAAK;oBACxC,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;oBAE9D,IAAI,KAAK,IAAI,CAAC,EAAE;wBACZ,IAAI,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC3F,IAAI,SAAS,IAAI,SAAS,EAAE;4BAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBAAE;wBAErH,6DAA6D;wBAC7D,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjD,QAAQ,GAAG,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACpF,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;yBAChF;6BACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,oCAAoC;4BACpC,wCAAwC;4BACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG;gCAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;oCAChC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iCAC/D;4BAEL,CAAC,CAAC,CAAC;yBACN;wBAED,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACrE,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;wBAElF,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;wBAC1E,IAAI,SAAS,IAAI,SAAS,EAAE;4BAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;yBAAE;wBACxG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAEnC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;wBACzE,IAAI,SAAS,IAAI,SAAS,EAAE;4BAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;yBAAE;wBACvG,cAAc,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAE1D,6BAA6B;wBAC7B,WAAW,CAAC,IAAI,CAAC,CAAC;qBACrB;yBACI;wBACD,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjD;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,gBAAgB,EAAE;oBACnB,IAAI,GAAG,GAAG,EAAE,CAAC;oBAEb,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE;wBAC/B,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;qBAC1B;yBACI;wBACD,GAAG,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;qBAC7C;oBACD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;iBAC7D;aACJ;iBACI;gBACD,gCAAgC;gBAChC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,KAAK;oBAChC,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,6DAA6D;oBAC7D,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjD,QAAQ,GAAG,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACpF,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;qBAChF;yBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7B,oCAAoC;wBACpC,wCAAwC;wBACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG;4BAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;gCAChC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BAC/D;wBACL,CAAC,CAAC,CAAC;qBACN;yBACI,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE;wBACpJ,gCAAgC;wBAChC,IAAI,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACzB;oBAED,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,IAAI,EAAE,EAAE;oBACpC,eAAe,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;iBAClE;qBACI,IAAI,eAAe,EAAE,EAAE;oBACxB,gBAAgB,GAAG,KAAK,CAAC;oBACzB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBAC5B;qBACI;oBACD,OAAO,EAAE,CAAC;iBACb;gBAED,IAAI,CAAC,gBAAgB,EAAE;oBACnB,IAAI,GAAG,GAAG,EAAE,CAAC;oBAEb,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE;wBAC/B,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;qBAC1B;yBACI;wBACD,GAAG,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;qBAC7C;oBAED,IAAI,QAAQ,IAAI,KAAK,IAAI,EAAE,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;wBAC/D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;qBACzD;oBAED,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;oBACvB,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,EAAE;wBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAE5D,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;iBAC7C;aACJ;YAED,SAAS,CAAC,KAAK,CAAC,CAAC;YAEjB,MAAM,EAAE,CAAC;YACT,oBAAoB,EAAE,CAAC;YACvB,SAAS,EAAE,CAAC;YACZ,qBAAqB,EAAE,CAAC;YAExB,IAAI,CAAC,qBAAqB,IAAI,WAAW,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9F,qGAAqG;gBACrG,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/F,WAAW,GAAG,KAAK,CAAC;aACvB;YAED,IAAI,CAAC,qBAAqB,IAAI,WAAW,EAAE;gBACvC,CAAC,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;oBACxD,IAAI,WAAW,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE;wBAC5C,oDAAoD;wBACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBACpD,WAAW,GAAG,KAAK,CAAC;qBACvB;yBACI,IAAI,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE;wBAC3C,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;wBAC/F,WAAW,GAAG,KAAK,CAAC;qBACvB;yBACI,IAAI,WAAW,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;wBAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;wBAClG,WAAW,GAAG,KAAK,CAAC;qBACvB;yBACI,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACpG,yDAAyD;wBACzD,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;wBAC5I,WAAW,GAAG,KAAK,CAAC;qBACvB;yBACI,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACnG,sDAAsD;wBACtD,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;wBACxH,WAAW,GAAG,KAAK,CAAC;qBACvB;yBACI,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;wBAC7F,WAAW,GAAG,KAAK,CAAC;qBACvB;gBACL,CAAC,CAAC,CAAC;aACN;YAED,IAAI,aAAa,IAAI,IAAI,EAAE;gBACvB,aAAa,GAAG,IAAI,CAAC;aACxB;YAED,WAAW,GAAG,KAAK,CAAC;QACxB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,OAAO;IACxB,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,IAAI,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;IAE1B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QAClG,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEjC,IAAI,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEhD,qBAAqB;QACrB,IAAI,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9C;aAAM;YACH,wDAAwD;YACxD,IAAI,cAAc,IAAI,IAAI,EAAE;gBACxB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;aACzF;SACJ;QACD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KAC/D;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI;YACA,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,IAAI;oBACA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1B;gBACD,OAAO,EAAE,EAAE;oBACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpB;aACJ;SACJ;QACD,OAAO,CAAC,EAAE;YACN,IAAI,CAAC,YAAY,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7E;KACJ;AACL,CAAC;AAED,SAAS,UAAU;IACf,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,IAAI,MAAM,GAAG,UAAU,CAAC;IACxB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAAE;IAC1E,IAAI,UAAU,GAAG,cAAc,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC;IAE9D,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;QACxF,4CAA4C;QAC5C,KAAK;QACL,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI;YAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC9C,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;aAClB;iBACI,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACjD,YAAY;gBACZ,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;aAC7E;iBACI,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACjD,cAAc;gBACd,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;aACpC;QACL,CAAC,CAAC,CAAC;QAEH,UAAU;QACV,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;SAAE;QACpD,QAAQ;QACR,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;SAAE;QAE3F,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;QAC5B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,GAAG,IAAI,UAAU,CAAC;SACrB;QAED,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;YACnB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3B;QAED,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,GAAG,EAAE,CAAC;QAEZ,4CAA4C;QAC5C,QAAQ;QACR,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI;YAC/B,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACpD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aACxB;iBACI,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvD,YAAY;gBACZ,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aACnF;iBACI,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvD,cAAc;gBACd,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;aACvC;QACL,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;SAAE;QACpD,WAAW;QACX,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;SAAE;QAE3F,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAClC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,MAAM,IAAI,UAAU,CAAC;SACxB;QAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;YACzE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SACjD;QAED,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,GAAG,EAAE,CAAC;QAEZ,4CAA4C;QAC5C,mBAAmB;QACnB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI;YAC/B,IAAI,IAAI,CAAC,oBAAoB,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBACxE,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;aACrC;iBACI,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBAC3E,YAAY;gBACZ,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;aACvG;iBACI,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBAC3E,cAAc;gBACd,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;aACjD;QACL,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;SAAE;QACpD,eAAe;QACf,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;SAAE;QAE3F,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;QAC5C,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE1C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;YAC/B,4EAA4E;YAC5E,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC1D;KACJ;SACI;QACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;YAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;SAC5C;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;SAC5C;KACJ;AACL,CAAC;AAED,SAAS,OAAO;IACZ,IAAI,GAAG,IAAI,OAAO,EAAE;QAAE,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;KAAE;IACnD,IAAI,MAAM,IAAI,OAAO,EAAE;QAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAAE;IAC9D,YAAY;IACZ,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,CAAC,CAAC,kJAAkJ,CAAC,CAAC,IAAI,CAAC;;QACvJ,yCAAyC;QACzC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,IAAG,CAAC,EAAE;YAChF,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,CAAC;YAC9C,MAAM,GAAG,CAAC,CAAC;SACd;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,IAAG,CAAC,EAAE;YACpF,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,CAAC;YAC9C,MAAM,GAAG,CAAC,CAAC;SACd;IACL,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;QAC7D,SAAS,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC;KACpD;IAED,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;QACnD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;KACzF;IAED,IAAI,MAAM,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;QAC1E,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KACjD;AACL,CAAC;AAED,SAAS,QAAQ;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjF,CAAC,CAAC,2DAA2D,CAAC,CAAC,IAAI,CAAC;;QAChE,yCAAyC;QACzC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,MAAM,IAAG,CAAC,EAAE;YACzE,GAAG,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,CAAC,CAAC;SACd;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,MAAM,IAAG,CAAC,EAAE;YAChF,GAAG,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,CAAC,CAAC;SACd;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,IAAI,CAAC,EAAE;QACb,OAAO,GAAG,GAAG,IAAI,CAAC;KACrB;SACI,IAAI,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,OAAO,GAAG,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC;KAC1C;SACI;QACD,OAAO,MAAM,CAAC;KACjB;AACL,CAAC;AAED,SAAS,iBAAiB;IACtB,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxC,qEAAqE;QACrE,OAAO;KACV;IAED,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE1E,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QACzC,IAAI,GAAG,GAAG,aAAa,CAAC;QACxB,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;KAClD;IACD,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7F,IAAI,KAAK,IAAI,CAAC,EAAE;QACZ,KAAK,GAAG,CAAC,CAAC;KACb;IAED,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,gBAAgB,GAAG,WAAW,CAAC;IACnC,OAAO,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEvC,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAC5F,gBAAgB,GAAG,GAAG,CAAC;QACvB,IAAI,SAAS,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YACzF,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;SACpD;aACI;YACD,CAAC,GAAG,QAAQ,CAAC;SAChB;QAED,IAAI,YAAY,IAAI,EAAE,EAAE;YACpB,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC;SAChC;KACJ;IAED,6BAA6B;IAC7B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE3B,IAAI,KAAK,EAAE;QACP,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;KACtC;SACI;QACD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;KACtC;IAED,2DAA2D;IAC3D,IAAI,iBAAiB,IAAI,EAAE,IAAI,iBAAiB,IAAI,EAAE,EAAE;QACpD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,GAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;KACnD;SACI,IAAI,iBAAiB,IAAI,EAAE,IAAI,iBAAiB,IAAI,EAAE,EAAE;QACzD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;KACxC;IAED,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,uCAAuC;IACtC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE5H,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;QAC3B,EAAE;KACL;SACI,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QAC7C,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;KACxB;SACI,IAAI,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACrD;QACI,mCAAmC;QACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YAAE,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;SAAE;aACjH;YAAE,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;SAAE;QAExC,CAAC,IAAI,gBAAgB,CAAC;KACzB;SACI,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;QAC/B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC3D;SACI;QACD,IAAI,gBAAgB,IAAI,EAAE,EAAE;YACxB,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACpB;aACI;YACD,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;SACnB;QACD,CAAC,IAAI,gBAAgB,CAAC;KACzB;IAED,IAAI,OAAO,KAAK,IAAI,WAAW,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE;QAC/D,oFAAoF;QACpF,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC;KACtB;IAED,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE;QAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE;IAAA,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;KAAE;IAElC,IAAI,gBAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAChD,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAErB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAE1D,OAAO,CAAC,CAAC;AACb,CAAC;AAED,IAAI,eAAe,EAAE,EAAE;IACnB,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1B,QAAQ,EAAE,CAAC;IACX,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC;IACvB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;IACrB,sBAAsB,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,CAAC;IAEpB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE;WACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QAClD,iBAAiB,EAAE,CAAC;KACvB;IAED,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAE9B,8CAA8C;IAC9C,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;KACzB;IAED,wBAAwB;IACxB,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;CACnE;KACI;IACD,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACd,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1B,QAAQ,EAAE,CAAC;QACX,oBAAoB,EAAE,CAAC;QACvB,oBAAoB,EAAE,CAAC;QACvB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,CAAC;QACrB,sBAAsB,EAAE,CAAC;QACzB,UAAU,EAAE,CAAC;QAEb,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE;eACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;eAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAClD,iBAAiB,EAAE,CAAC;SACvB;QAED,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;QAEpB,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7B,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE3B,6CAA6C;QAC7C,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;YAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,wBAAwB;QACxB,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,kBAAkB,CAAC,MAAM,KAAK,uBAAuB,CAAC,MAAM,EAAE;YAC9D,OAAO,CAAC,GAAG,CAAC,+DAA8C,kBAAkB,CAAC,MAAM,iCAA4B,uBAAuB,CAAC,MAAQ,CAAC,CAAC;SACpJ;QAED,8FAA8F;QAC9F,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC5B,qBAAqB,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7G,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;CACN;AAED,4GAA4G;AAC5G,oCAAoC;AACpC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,KAAK;IAC/C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC3C,8CAA8C;QAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC/C;SACI,IAAI,KAAK,CAAC,KAAK,EAAE;QAClB,gBAAgB,GAAG,IAAI,CAAC;QACxB,WAAW,GAAG,IAAI,CAAC;QAEnB,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1B,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACpD,mDAAmD;YACnD,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;SACvB;QAED,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,iBAAiB,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvC,IAAI,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBACvE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,mBAAmB,CAAC;aAAE;iBAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;iBAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;gBAAE,aAAa,GAAG,sBAAsB,CAAC;aAAE;iBAClF;gBAAE,aAAa,GAAG,oBAAoB,CAAC;aAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBAAE,aAAa,IAAI,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAAE;SAE5G;QAED,eAAe,CAAC,KAAK,CAAC,CAAC;KAC1B;AACL,CAAC,EAAE,KAAK,CAAC,CAAC;AAGV,SAAS,cAAc;IACnB,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QACzC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,YAAY,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,MAAuB;YAC/H,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC1B,WAAW,EAAE,QAAQ;oBACrB,MAAM,EACN;wBACI,KAAK,EAAE,YAAY,GAAG,cAAc,CAAC,uBAAuB,CAAC,GAAG,iEAAiE;wBACjI,UAAU,EAAE,YAAY,GAAG,cAAc,CAAC,sBAAsB,CAAC,GAAG,4EAA4E;wBAChJ,SAAS,EAAE,YAAY,GAAG,cAAc,CAAC,sBAAsB,CAAC,GAAG,4EAA4E;qBAClJ;oBACD,aAAa,EAAE,IAAI;oBACnB,mBAAmB;iBACtB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,QAAQ,CAAC,CAAC;IACf,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,0DAA0D;IAE1D,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACrB,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC5C;SACI;QACD,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE;YAC/C,+EAA+E;YAC/E,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SACpE;QAED,IAAI,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE;YACxC,qFAAqF;YACrF,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACzD;QAED,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAC/B,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;gBAAE,eAAe,EAAE,CAAC;aAAE;SACpE;KACJ;IACD,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAM;IACnC,IAAI,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;IACvD,IAAI,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;IAEvD,qDAAqD;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACnD,IAAI,MAAM,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAEnD,IAAI,eAAe,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC5C,IAAI,eAAe,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAE5C,2BAA2B;IAC3B,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7G,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE7G,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;KAAE;IAAC,OAAO,EAAE,EAAE;QAAE,CAAC;KAAE;IACxF,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAAE;IAAC,OAAO,EAAE,EAAE;QAAE,CAAC;KAAE;IAEpF,YAAY,EAAE,CAAC;IAEf,IAAI,QAAQ,CAAC,QAAQ,EAAE;QAAE,aAAa,EAAE,CAAC;KAAE;IAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,iCAAiC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,IAAI;IACzB,IAAI,IAAI,EAAE;QACN,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;YACvB,qBAAqB;YACrB,yBAAyB;SAC5B;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;KACzB;SAAM;QACH,oBAAoB,EAAE,CAAC;QACvB,QAAQ,EAAE,CAAC;QACX,eAAe,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB;IACzB,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,EAAE,CAAC;IACb,KAAK,GAAG,EAAE,CAAC;IACX,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAAG,CAAC,CAAC;IACV,SAAS,GAAG,CAAC,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,GAAG,EAAE,CAAC;IACV,UAAU,GAAG,EAAE,CAAC;IAChB,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,GAAG,EAAE,CAAC;IACb,WAAW,GAAG,EAAE,CAAC;IACjB,OAAO,GAAG,EAAE,CAAC;IACb,iBAAiB,GAAG,EAAE,CAAC;IACvB,iBAAiB,GAAG,EAAE,CAAC;IACvB,eAAe,GAAG,KAAK,CAAC;IACxB,eAAe,GAAG,EAAE,CAAC;IACrB,aAAa,GAAG,EAAE,CAAC;IACnB,YAAY,GAAG,EAAE,CAAC;IAClB,YAAY,GAAG,EAAE,CAAC;IAClB,KAAK,GAAG,EAAE,CAAC;IACX,IAAI,GAAG,CAAC,CAAC;IACT,SAAS,GAAG,EAAE,CAAC;IACf,IAAI,QAAQ,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE;QAC5D,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;KACxB;AACL,CAAC;AAED,SAAS,WAAW;IAChB,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/C;AACL,CAAC;AAED,SAAS,aAAa;IAClB,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACjD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,MAAuB;YACnN,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,QAAQ,GAAG,gCAAgC,GAAG,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAC1E,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;aACxD;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,2BAA2B;AAC3B,SAAS,eAAe;IACpB,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO;IAEjD,IAAI,CAAC,GAAG,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAAE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAAE;IAEvF,IAAI,UAAU,GAAG,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,IAAI,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;IAE/B,CAAC,CAAC,oCAAoC,CAAC,CAAC,KAAK,CAAC;QAC1C,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,oCAAoC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,CAAC,CAAC,IAAI,CAAC;QACH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU,IAAI;YACjB,SAAS,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,UAAU,EAAE;YACR,SAAS,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,UAAU,IAAI;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB;IACtB,IAAI,CAAC,CAAC,kEAAkE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACtH,CAAC,CAAC,sGAAsG,CAAC,CAAC,EAAE,CAAC,sBAAsB,EAAE,cAAc,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC1L,CAAC,CAAC,uCAAuC,CAAC;aACrC,EAAE,CAAC,QAAQ,EAAE,cAAc,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;KAC1E;AACL,CAAC;AAED,2CAA2C;AAC3C,SAAS,2BAA2B,CAAC,CAAC;IAClC,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QAClC,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,GAAG,IAAI,EAAE,EAAE;YAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;SAAE;QAEzC,SAAS,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI;SAC/H,CAAC,CAAA;KACL;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ;IAC/E,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,KAAK,CAAC;aAAE;QACjF,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,EAAE;YACvB,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,KAAK,CAAC;aAAE;YAC7E,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClE,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEtD,YAAY,EAAE,CAAC;gBAEf,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBAAE,aAAa,EAAE,CAAC;iBAAE;gBAE3C,eAAe,CAAC,KAAK,CAAC,CAAC;aAC1B;QACL,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,QAAQ;QACR,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE5C,WAAW,GAAG,KAAK,CAAC;AACxB,CAAC;AAED,SAAS,qBAAqB;IAC1B,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC,MAAM,EAAE;QAC7C,wBAAwB;QACxB,mBAAmB,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC,MAAM,EAAE,CAAC;KACvE;AACL,CAAC;AAED,SAAS,aAAa;IAClB,OAAO,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,OAAO,GAAG,EAAE,CAAC;IACb,iBAAiB,GAAG,EAAE,CAAC;IAEvB,4BAA4B;IAC5B,CAAC,CAAC,2HAA2H,CAAC,CAAC,IAAI,CAAC;;QAChI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE;YACrE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAChF;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,GAAG,CAAA;SAAE;QAC1C,OAAO,IAAI,SAAS,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,GAAG,IAAI,GAAG,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,IAAI,SAAS,CAAC,MAAM,EAAE;QAClB,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,EAAf,CAAe,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;KACN;IAED,kBAAkB;IAClB,CAAC,CAAC,+CAA+C,CAAC,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE;YACxD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChE;QAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,iBAAiB,IAAI,GAAG,CAAA;SAC3B;QACD,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,IAAI,QAAQ,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,UAAU,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,EAAE;QACjB,IAAI,OAAO,GAAG,cAAc,CAAC,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;QAE/D,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;SACpD;KACJ;IAED,cAAc;IACd,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;QAC7E,OAAO,IAAI,GAAG,CAAC;KAClB;AACL,CAAC;AAED,SAAS,UAAU;;IACf,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,IAAI,SAAG,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;KAC/D;SACI,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE;QAClC,IAAI,GAAG,CAAC,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/D;SACI,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE;QAC9B,IAAI,SAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,EAAE,CAAC;KAC7C;IACD,OAAO,IAAI,CAAC;AAChB,CAAC","file":"ajaxCatalog.js","sourcesContent":["/// \r\n// Deklarace proměnných a funkcí, které nejsou součástí TS souborů\r\ndeclare var lang: string;\r\ndeclare var gTags: string;\r\ndeclare var gCat: number;\r\ndeclare var gPCat: number;\r\ndeclare var gItem: number;\r\ndeclare var gProducer: number;\r\ndeclare var gsNameWeb: string;\r\ndeclare var gAllArticles: boolean;\r\ndeclare var _ajaxSearchBoxSelector: boolean;\r\ndeclare var _boxSelectorParams: string;\r\ndeclare var arrParamTabFunction: Array;\r\ndeclare var $h1: string;\r\ndeclare var $title: string;\r\ndeclare var $titleOrig: string;\r\ndeclare var $urlOrig: string;\r\ndeclare var $h1Orig: string;\r\ndeclare var $metaDescOrig: string;\r\ndeclare var features: Features;\r\n//declare function WordToUrl(input: string): string;\r\n//declare function GetParam(input: string): string;\r\n//declare function NonDiacritic(input: string): string;\r\ndeclare function AjaxCatalogBeforeSend(): void;\r\ndeclare function AjaxCatalogComplete(isOnlyPaging: boolean): void;\r\ndeclare function AjaxAfter(isOnlyPaging: boolean): void;\r\n//declare function catItemsHeight(): void;\r\n//declare function IsSafariBrowser(): boolean;\r\n//declare function toggleControlElement(): void;\r\ndeclare function execScript(input: string): void;\r\ndeclare function AddToFavoritiesFromLocalStorage(): void;\r\n// Proměnné\r\nvar $iop = '';\r\nvar $sort = '';\r\nvar $page = 1;\r\nvar $pge = 0;\r\nvar $pnext = 0;\r\nvar $filter = '';\r\nvar $cat = 0;\r\nvar $item = 0;\r\nvar $producer = 0;\r\nvar $pcat = 0;\r\nvar $wsv = 0;\r\nvar $tags = '';\r\nvar $search = '';\r\nvar $searchAppend = '';\r\nvar $searchAction = '';\r\nvar $b2bFilter = '';\r\nvar $catsF = \"\";\r\nvar $attrF = \"\";\r\nvar $prodF = \"\";\r\nvar $paramF = '';\r\nvar $paramSeo = [];\r\nvar $urlSeo = \"\";\r\nvar $paramLastF = '';\r\nvar $vcp = '';\r\nvar $filterContractor = '';\r\nvar $filterCustomAttr = '';\r\nvar $filterHiddenAttr = '';\r\nlet $isExistAttrNeg = false;\r\nvar $filterProducer = '';\r\nvar $filterPrice = '';\r\nvar $filterAvail = '';\r\nvar $filterOthers = '';\r\nvar $eventIds = '';\r\nvar $backFromHistory = false;\r\nvar $changeP = 0;\r\nvar $parText = \"\";\r\nvar $countPar = 0;\r\nvar $type = \"\";\r\nvar bParWizard = false;\r\nvar bUseSort = false;\r\nvar sParentCatUrl = \"\";\r\nvar sNameParZnacka = \"znacka\";\r\nvar forceScrollDisabled = false;\r\nvar $nextPageOwner = null;\r\nvar $pagerElement = null;\r\nvar $nextPageSelectors = [\".content-19\", \".product-content\", \".product-content-series\", \"#searchBlockCat\", \"#searchBlockFor\", \"#searchBlockArt\", \"#searchBlockFiles\", \"#searchBlockProd\", \"#tagsBlockProd\", \".article-content\", \"#tagsBlockArt\", \"#searchBlockArt10\", \"#searchBlockArt20\", \"#searchBlockArt30\"];\r\nvar $nextPageItemsSelectors = [\"#Items\", \"#Items\", \"#Items\", \".pListItems\", \".pListItems\", \".pListItems\", \"#SearchResultsFiles-sub\", \"#Items\", \"#Items\", \"#PublishArticles\", \"#PublishArticles\", \".articleBox-Search\", \".articleBox\", \".articleBox\"];\r\nvar filterSliders = [];\r\nvar $makeScroll = false;\r\nvar _previousFilterTab = \"\";\r\nvar _filterParamOpen = true;\r\nvar $floatingmenuheight = 0;\r\nvar $series = \"\";\r\nvar $seoParam: any = {};\r\nvar $pageSeries = 0;\r\nvar $urlPostfix = \"\";\r\nvar pattern = /\\/p[0-9\\-0-9]+/g;\r\nvar $filterYear = 0;\r\nvar $filterMonth = 0;\r\n\r\n\r\n/** Nastaveni promennych */\r\nfunction setVariables() {\r\n $search = getParmFromHash(window.location.search, 'search');\r\n $searchAction = getParmFromHash(window.location.search, 'searchaction');\r\n $tags = gTags;\r\n $cat = gCat;\r\n $pcat = gPCat;\r\n if (typeof gItem !== \"undefined\") { $item = gItem; }\r\n if (typeof gProducer !== \"undefined\") { $producer = gProducer; }\r\n $b2bFilter = ($('#B2BCtgr').length > 0 ? $('#B2BCtgr').val()?.toString() : '');\r\n\r\n $urlPostfix = GetTextDynamic(\"URL_POSTFIX_PRODUCT_CATEGORY\");\r\n\r\n if ($urlPostfix == \"#\") {\r\n $urlPostfix = \"/\";\r\n }\r\n}\r\n\r\n/** Nabindování událostí na prvky filtrování, stránkování, řazení */\r\nfunction bindForm() {\r\n setVariables();\r\n\r\n // samostatny control sort/ucSort\r\n $(document).on(\"submit\", \"#formSort\", function (event) {\r\n event.preventDefault();\r\n // parametry\r\n PrepareParam();\r\n // staticke filtry (akcni, novinky...)\r\n PrepareStaticFiltr();\r\n // dodavatele\r\n PrepareContractorFiltr();\r\n // filtr uzivatelskych atributu\r\n PrepareCustomAttr();\r\n // filtr others\r\n PrepareOthers();\r\n //filtr vysledku hledani dle kategorii sestaveni ID do stringu\r\n PrepareCatsFilter();\r\n // vyhledavani\r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n // trideni\r\n $sort = $('#hiddensort').val()?.toString();\r\n // cenovy slider\r\n // price-slider-apllyfiterparams = Zohlednit do cen parametry (modul 251)\r\n if (!$(\".price-slider-apllyfiterparams\").length) {\r\n $filterPrice = getPriceSliderValue();\r\n }\r\n // vyrobce\r\n PrepareProdFilter();\r\n // stranka\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 1;\r\n bUseSort = true;\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n $(document).on(\"click\", \".form-sort-link a\", function (event) {\r\n event.preventDefault();\r\n if(!$(this).hasClass(\"active\")) {\r\n // parametry\r\n PrepareParam();\r\n // staticke filtry (akcni, novinky...)\r\n PrepareStaticFiltr();\r\n // dodavatele\r\n PrepareContractorFiltr();\r\n // filtr uzivatelskych atributu\r\n PrepareCustomAttr();\r\n // filtr others\r\n PrepareOthers();\r\n //filtr vysledku hledani dle kategorii sestaveni ID do stringu\r\n PrepareCatsFilter();\r\n // vyhledavani\r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n // trideni\r\n $sort = $(this).data(\"sort\")?.toString();\r\n // cenovy slider\r\n // price-slider-apllyfiterparams = Zohlednit do cen parametry (modul 251)\r\n if (!$(\".price-slider-apllyfiterparams\").length) {\r\n $filterPrice = getPriceSliderValue();\r\n }\r\n // vyrobce\r\n PrepareProdFilter();\r\n // stranka\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 1;\r\n bUseSort = true;\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n }\r\n });\r\n\r\n $(document).on(\"submit\", \"#hiddensortBottom\", function (e) {\r\n e.preventDefault();\r\n $sort = $('#hiddensortBottom').val()?.toString();\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 1\r\n // cenovy slider\r\n $filterPrice = getPriceSliderValue();\r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n bUseSort = true;\r\n\r\n loadAjaxContent(false);\r\n });\r\n}\r\n\r\nfunction BindCategoriesFilter() {\r\n $('.searchFilterCat-wrap').on('click', 'input', function (e) {\r\n PrepareCatsFilter();\r\n\r\n loadAjaxContent(false);\r\n });\r\n}\r\n\r\nfunction BindAttributesFilter() {\r\n $('.searchAttributes-wrap').on('click', 'input.ok', function (e) {\r\n PrepareAttrFilter();\r\n\r\n loadAjaxContent(false);\r\n });\r\n}\r\n\r\nfunction BindProducersFilter() {\r\n $('.searchProducers-wrap').on('click', 'input', function (e) {\r\n PrepareProdFilter();\r\n\r\n loadAjaxContent(false);\r\n });\r\n}\r\n\r\nfunction BindSeries() {\r\n if (features.CommoditySeries) {\r\n $('.switch-series').on('change', '.series-checkbox', function (e) {\r\n PrepareSeries();\r\n\r\n if ($(\".switch-series .series-checkbox\").is(\":checked\")) {\r\n $vcp = \"list\";\r\n }\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n $series = $(\".switch-series .series-checkbox\").is(\":checked\") ? \"1\" : \"0\";\r\n }\r\n}\r\n\r\n//filtr vysledku hledani dle kategorii sestaveni ID do stringu\r\nfunction PrepareCatsFilter() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $catsF = \"\";\r\n $(\".searchFilterCat input:checkbox:checked\").each(function () {\r\n if ($catsF.length > 0) { $catsF += \",\" }\r\n $catsF += $(this).val()?.toString().trim();\r\n });\r\n}\r\n\r\n//filtr vysledku hledani dle atributu sestaveni ID do stringu\r\nfunction PrepareAttrFilter() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $attrF = \"\";\r\n $(\".searchAttributes input.ok:checkbox:checked\").each(function () {\r\n if ($attrF.length > 0) { $attrF += \",\" }\r\n $attrF += $(this).val()?.toString().trim();\r\n });\r\n}\r\n\r\n//filtr vysledku hledani dle atributu sestaveni ID do stringu\r\nfunction PrepareProdFilter() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $prodF = \"\";\r\n $(\".searchProducers input:checkbox:checked\").each(function () {\r\n if ($prodF.length > 0) { $prodF += \",\" }\r\n $prodF += $(this).val()?.toString().trim();\r\n });\r\n}\r\n\r\n//produktove serie\r\nfunction PrepareSeries() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n\r\n $series = $(\".switch-series .series-checkbox\").is(\":checked\") ? \"1\" : \"0\";\r\n}\r\n\r\nfunction PrepareParam() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $paramF = \"\";\r\n $countPar = 0;\r\n\r\n // Starsi verze rozdelena do modulu\r\n $(\"#formFiltersParam input:checkbox:checked, [class^=filters-tab-param] input:checkbox:checked\").each(function () {\r\n $countPar += 1;\r\n if ($paramF.length > 0) { $paramF += \",\" }\r\n $paramF += WordToUrl($(this).val()?.toString().trim());\r\n });\r\n\r\n $paramF = $paramF.replace(\"/\", \"^\");\r\n}\r\n\r\nfunction getLastParamSlider(slider) {\r\n var returnvalue = \"\";\r\n var p = 0;\r\n var v = '';\r\n\r\n $(\"#formFiltersParam input:checkbox:checked, [class^=filters-tab-param] input:checkbox:checked\").each(function () {\r\n p += 1;\r\n v = WordToUrl($(this).val()?.toString().trim());\r\n if (v.indexOf('|') != -1)\r\n v = v.split('|')[0];\r\n\r\n if (v != slider)\r\n returnvalue = slider;\r\n });\r\n return returnvalue;\r\n}\r\n\r\nfunction clearSliderValues(sliderId) {\r\n var min = $('#hdn' + sliderId + 'min').val();\r\n var max = $('#hdn' + sliderId + 'max').val();\r\n\r\n var chck = $('#min' + sliderId).val()?.toString().split('|')[0];\r\n\r\n $('#min' + sliderId).val(chck + '|' + min).data(\"value\", min);\r\n $('#max' + sliderId).val(chck + '|' + max).data(\"value\", max);\r\n\r\n $('#min' + sliderId).prop('checked', false);\r\n $('#max' + sliderId).prop('checked', false);\r\n\r\n $paramLastF = '';\r\n $changeP = 0;\r\n\r\n PrepareParam();\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n}\r\n\r\n/** form statickych priznaku, akcni, novinky atd */\r\nfunction PrepareStaticFiltr() {\r\n $page = 1;\r\n $filter = \"\";\r\n $(\"#frmFilter input:checkbox:checked, #tabFilterFlags input:checkbox:checked\").each(function () {\r\n if ($filter.length > 0) { $filter += \",\" }\r\n $filter += $(this).attr('rel') + \"-\" + $(this).attr('id').replace(\"settFilterParam\", \"\").replace(\"Chck\", \"\").replace(\"settFilterOnStock\", \"0\") + \"|1\";\r\n });\r\n\r\n if ($search !== \"\" || $tags !== \"\") { $searchAppend = \"&filter=on&sProd=1\"; }\r\n}\r\n\r\n/* form dodavatelu */\r\nfunction PrepareContractorFiltr() {\r\n $page = 1;\r\n $filterContractor = \"\";\r\n $(\"#formfilterContractorGroup input:checkbox:checked\").each(function () {\r\n if ($filterContractor.length > 0) { $filterContractor += \",\" }\r\n $filterContractor += $(this).attr('rel') + \"|\" + $(this).val();\r\n });\r\n}\r\n\r\n/** form uzivatelskych atributu */\r\nfunction PrepareCustomAttr() {\r\n $page = 1;\r\n $filterCustomAttr = \"\";\r\n $isExistAttrNeg = false;\r\n\r\n $(\"#formFiltersCustomAttr input:checkbox:checked, #formFiltersCustomAttrNegation input:checkbox:checked\").each(function () {\r\n if ($filterCustomAttr.length > 0) {\r\n $filterCustomAttr += \",\"\r\n }\r\n $filterCustomAttr += $(this).val();\r\n \r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n\r\n if (typeof $(this).data('neg') !== 'undefined') {\r\n $isExistAttrNeg = true;\r\n }\r\n });\r\n}\r\n\r\nfunction PrepareHiddenAttr() {\r\n if ($(\"#notFilteredAttribute\").length) {\r\n // filtry nastavene u kategorie typu doplnujici parametry\r\n $filterHiddenAttr = $(\"#notFilteredAttribute\").val().toString();\r\n }\r\n}\r\n\r\n/** form others */\r\nfunction PrepareOthers() {\r\n $filterOthers = \"\";\r\n if ($(\"#ddCalendarYear\").length > 0) {\r\n $filterOthers = $(\"#ddCalendarYear\").val()?.toString();\r\n }\r\n}\r\n\r\nfunction PrepareParamText() {\r\n $parText = \"\";\r\n\r\n // parametry\r\n if ($(\"#h1FromParam\").length) {\r\n // toto je hodnota, ktera jde take ho H1, generuje se v DB\r\n $parText = $(\"#h1FromParam\").val().toString();\r\n }\r\n else {\r\n $(\"#formFiltersParam input:checkbox:checked, #filters-tab input:checkbox:checked\").each(function () {\r\n if ($parText.length > 0) { $parText += \", \" }\r\n $parText += $(this).next().text();\r\n });\r\n }\r\n\r\n // staticke filtry\r\n $(\"#frmFilter input:checkbox:checked\").each(function () {\r\n if ($parText.length > 0) { $parText += \",\" }\r\n $parText += $(this).parent().find(\"a\").text().toLowerCase();\r\n });\r\n\r\n if ($parText.length > 0) { $parText = \" - \" + $parText; }\r\n return $parText;\r\n}\r\n\r\nvar _producerClose = true;\r\n\r\nfunction prepareLinks() {\r\n $paramF = GetParam(\"par\");\r\n\r\n $('a', '#formSort').each(function () {\r\n var $cl = $(this).attr('onclick');\r\n if ($cl != null) {\r\n $(this).attr('onclick', $cl.replace(\"document.getElementById('formSort')\", \"$('#formSort')\"));\r\n }\r\n });\r\n\r\n // ajax dater v katalogu\r\n initAjaxDater();\r\n\r\n //checkbox\r\n $(\"#formFiltersParam input[name=par], #filters-tab div[class^=filters-tab-param] input[name=par]\").unbind('click').click(function () {\r\n if (bParWizard) { ParamControlWizard(); }\r\n $countPar = 0;\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 0;\r\n $paramF = \"\";\r\n $paramLastF = \"\";\r\n\r\n // Pokud jsou nejaky slidery tak je dame checked at toho muzem vybrat vice\r\n $('input[name=par].paramUsed').prop('checked', true);\r\n\r\n $(\"#formFiltersParam input:checkbox:checked, [class^=filters-tab-param] input:checkbox:checked\").each(function () {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n if ($paramF.length > 0) { $paramF += \",\"; }\r\n $paramF += WordToUrl($(this).val()?.toString().trim());\r\n $countPar += 1;\r\n });\r\n\r\n $paramLastF = WordToUrl($(this).val()?.toString().split(\"|\")[0]);\r\n\r\n if (sParentCatUrl.length > 0) {\r\n window.location.href = sParentCatUrl + \"?par=\" + $paramF;\r\n return;\r\n }\r\n\r\n if ($(this).attr('class') == \"url\") {\r\n var query = $paramF.length > 0 ? \"?par=\" + $paramF : \"\";\r\n window.location.href = \"/\" + WordToUrl($(this).val()?.toString().split(\"|\")[1]) + \"/\" + query;\r\n }\r\n\r\n if (!$(this).hasClass(\"NextPageBtn\") && !forceScrollDisabled && !$('#filters-tab > .resp-tabs-container > h2').hasClass(\"resp-tab-active\")) {\r\n $makeScroll = ($('.NavBar .p-number, .NavBar .p-button-number').parents('.pos-2').length > 0);\r\n }\r\n\r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n //select box\r\n $('#ddCalendarYear').unbind('change').bind('change', function () {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 0;\r\n PrepareOthers();\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n $(\"#formFiltersParam select\").unbind('change').bind('change', function () {\r\n $countPar = 0;\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 0;\r\n $paramF = \"\";\r\n $paramLastF = \"\";\r\n var sel = false;\r\n\r\n $paramLastF = WordToUrl($(this).val()?.toString().split(\"|\")[0]);\r\n\r\n $(\"#formFiltersParam select\").each(function () {\r\n if (sel) { $(this).find(\"option:selected\").removeAttr('selected'); }\r\n if (WordToUrl($(this).attr(\"name\").toLowerCase()) == $paramLastF.toLowerCase()) { sel = true; }\r\n });\r\n\r\n if ($(this).attr('class') == \"url\") {\r\n var query = $paramF.length > 0 ? \"?par=\" + $paramF : \"\";\r\n window.location.href = \"/\" + WordToUrl($(this).val()?.toString().split(\"|\")[1]) + \"/\" + query;\r\n }\r\n\r\n $(\"#formFiltersParam option:selected\").each(function () {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n\r\n if ($(this).val()?.toString().trim().length > 0) {\r\n if ($paramF.length > 0) { $paramF += \",\"; }\r\n $paramF += WordToUrl($(this).val()?.toString().trim());\r\n $countPar += 1;\r\n }\r\n });\r\n\r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n // razeni dole\r\n $('a', '#formSortBottom').each(function () {\r\n var $cl = $(this).attr('onclick');\r\n if ($cl != null) {\r\n $(this).attr('onclick', $cl.replace(\"document.getElementById('formSortBottom')\", \"$('#formSortBottom')\"));\r\n }\r\n });\r\n\r\n // strankovani\r\n $('a', '.pager-wrap').unbind('click').click(function (e) {\r\n e.preventDefault();\r\n $changeP = 1;\r\n var href = $(this).attr('href');\r\n $pagerElement = $(this);\r\n\r\n // staticke filtry (akcni, novinky...)\r\n PrepareStaticFiltr();\r\n\r\n if (href.indexOf('?search=') == -1 && href.indexOf('&search=') == -1) {\r\n var re1 = /\\/p(\\d+)\\//g;\r\n href = href.replace(re1, \"&page=$1&\");\r\n }\r\n\r\n if ($(this).hasClass('NextPageBtn')) {\r\n $nextPageOwner = $(this);\r\n // dalsi stranka\r\n $pnext = Number($(this).data(\"pnext\"));\r\n $page = Number($(this).data(\"page\"));\r\n $type = $(this).data(\"type\");\r\n\r\n if ($eventIds === \"\" && getParmFromHash(href, \"ids\") !== \"\") {\r\n $eventIds = getParmFromHash(href, \"ids\");\r\n }\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n // pridano kvuli nefunkcnosti tlacka dalsi u kategorie typ doplnkove parametry - prz\r\n if ($paramF === \"\") {\r\n $paramF = GetParam(\"par\");\r\n if ($paramF == \"\") {\r\n $paramF = decodeURIComponent(href.replace(new RegExp(\"^(?:.*[&\\\\?]\" + encodeURIComponent(\"par\").replace(/[\\.\\+\\*]/g, \"\\\\$&\") + \"(?:\\\\=([^&]*))?)?.*$\", \"i\"), \"$1\"));\r\n }\r\n }\r\n }\r\n else {\r\n $nextPageOwner = null;\r\n \r\n $type = $(this).data(\"type\");\r\n $page = Number($(this).data(\"page\"));\r\n \r\n if ($page == 0) $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n\r\n if ($eventIds === \"\" && getParmFromHash(href, \"ids\") !== \"\") {\r\n $eventIds = getParmFromHash(href, \"ids\");\r\n }\r\n\r\n if (features.SEOParam) {\r\n PrepareSeoUrl();\r\n }\r\n\r\n if ($paramF === \"\") {\r\n // pridano kvuli nefunkcnosti tlacka dalsi u kategorie typ doplnkove parametry - prz\r\n $paramF = decodeURIComponent(href.replace(new RegExp(\"^(?:.*[&\\\\?]\" + encodeURIComponent(\"par\").replace(/[\\.\\+\\*]/g, \"\\\\$&\") + \"(?:\\\\=([^&]*))?)?.*$\", \"i\"), \"$1\"));\r\n }\r\n\r\n $makeScroll = ($('.NavBar .p-number, .NavBar .p-button-number').parents('.pos-2,.pos-4').length > 0);\r\n }\r\n\r\n if ($search != '' || $tags != '') {\r\n if (href.indexOf('&sCat=1') != -1) { $searchAppend = '&filter=on&sCat=1'; }\r\n else if (href.indexOf('&sArt=30') != -1) { $searchAppend = '&filter=on&sArt=30'; }\r\n else if (href.indexOf('&sArt=20') != -1) { $searchAppend = '&filter=on&sArt=20'; }\r\n else if (href.indexOf('&sArt=10') != -1) { $searchAppend = '&filter=on&sArt=10'; }\r\n else if (href.indexOf('&sArt=1') != -1) { $searchAppend = '&filter=on&sArt=1'; }\r\n else if (href.indexOf('&sArt=2') != -1) { $searchAppend = '&filter=on&sArt=2'; }\r\n else if (href.indexOf('&sFor=1') != -1) { $searchAppend = '&filter=on&sFor=1'; }\r\n else if (href.indexOf('&sFile=1') != -1) { $searchAppend = '&filter=on&sFile=1'; }\r\n else if (href.indexOf('&sSeries=1') != -1) { $searchAppend = '&filter=on&sSeries=1'; }\r\n else { $searchAppend = '&filter=on&sProd=1'; }\r\n if (href.indexOf('&spcat=') !== -1) { $searchAppend += '&spcat=' + getParmFromUrlHash(href, \"spcat\"); }\r\n }\r\n\r\n // cenovy posuvnik\r\n $filterPrice = getPriceSliderValue();\r\n $sort = SortValGet();\r\n \r\n loadAjaxContent(false);\r\n });\r\n\r\n // pocet produktu na strance\r\n $('select[name=\"iop\"]', '.iop-wrap').unbind('change').removeAttr(\"onchange\").bind('change', function (event) {\r\n event.preventDefault();\r\n $changeP = 1;\r\n if ($search != '' || $tags != '') {\r\n $searchAppend = '&filter=on&sProd=1';\r\n }\r\n if ($(\"#vcp\").length > 0) {\r\n $vcp = $(\"#vcp\").val()?.toString();\r\n }\r\n\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $iop = $(this).val()?.toString();\r\n $sort = SortValGet();\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n // razeni, pokud je selectbox\r\n $('select[name=\"sort\"]', '.sort-wrap').unbind('change').removeAttr(\"onchange\").bind('change', function (event) {\r\n event.preventDefault();\r\n\r\n if ($search != '' || $tags != '') {\r\n $searchAppend = '&filter=on&sProd=1';\r\n }\r\n\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $changeP = 1;\r\n $sort = $(this).find(\"option:selected\").val()?.toString();\r\n bUseSort = true;\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n $('.FilterMobile .OpenFilter').unbind('click').click(function (e) {\r\n $('#formFiltersParam').addClass(\"FilterOpen\");\r\n $(\"#filterStatic\").addClass(\"FilterOpen\");\r\n return false;\r\n });\r\n\r\n $('.FilterMobile .CloseFilter').unbind('click').click(function (e) {\r\n $('#formFiltersParam').removeClass(\"FilterOpen\");\r\n $(\"#filterStatic\").removeClass(\"FilterOpen\");\r\n return false;\r\n });\r\n\r\n // typ zobrazeni v katalogu, dlazdice, seznamove zobrazeni\r\n $('.swith-views a').unbind('click').click(function (event) {\r\n event.preventDefault();\r\n if ($search != '' || $tags != '') {\r\n $searchAppend = '&filter=on&sProd=1';\r\n }\r\n\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $iop = '';\r\n $changeP = 1;\r\n $sort = SortValGet();\r\n $vcp = $(this).attr(\"rel\");\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n // šířka layoutu v katalogu\r\n if ($('.wide-selector').length) {\r\n var $wsa = $('.wide-selector a.wsa');\r\n var $wsb = $('.wide-selector');\r\n var $wsm = $('.wide-selector .wide-selector-menu');\r\n var $wsl = $('.wide-selector .wide-selector-menu .ws');\r\n var $wss = $('.wide-selector input[name=\"catwidth\"]');\r\n\r\n $wsa.unbind('click').click(function (event) {\r\n event.preventDefault();\r\n $wsb.toggleClass('collapsed');\r\n $wsm.toggle();\r\n });\r\n\r\n $wsl.unbind('click').click(function (event) {\r\n event.preventDefault();\r\n $wss.val($(this).data('ws'));\r\n $wsv = parseInt($(this).data('ws'));\r\n $('body').removeClass('catalog-extend catalog-wide').addClass($wsv == 1 ? \"catalog-extend\" : ($wsv == 2 ? \"catalog-wide\" : \"\"));\r\n $changeP = 1;\r\n\r\n loadAjaxContent(false);\r\n });\r\n }\r\n\r\n // filtry staticke (akcni, novinky...)\r\n if ($('#frmFilter').length) {\r\n $('#frmFilter input:checkbox, #tabFilterFlags input:checkbox').unbind('click').click(function (event) {\r\n PrepareStaticFiltr();\r\n $changeP = 0;\r\n\r\n loadAjaxContent(false);\r\n });\r\n }\r\n\r\n // filtry na dodavatele\r\n if ($('#formfilterContractorGroup').length) {\r\n $('#formfilterContractorGroup input:checkbox').unbind('click').click(function (event) {\r\n PrepareContractorFiltr();\r\n $changeP = 0;\r\n\r\n loadAjaxContent(false);\r\n });\r\n }\r\n\r\n // filtry uzivatelskych atributu\r\n if ($('#formFiltersCustomAttr').length || $('#formFiltersCustomAttrNegation').length) {\r\n $('#formFiltersCustomAttr input:checkbox, #formFiltersCustomAttrNegation input:checkbox').unbind('click').click(function (event) {\r\n event.preventDefault();\r\n PrepareCustomAttr();\r\n $changeP = 0;\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n });\r\n\r\n $('#formFiltersCustomAttr .linkCA, #formFiltersCustomAttrNegation .linkCA').unbind('click').click(function (event) {\r\n event.preventDefault();\r\n\r\n $page = 1;\r\n $changeP = 0;\r\n \r\n if ($(this).is(\"[id]\")) {\r\n var id = $(this).attr('id').replace('linkCA', 'chckCA');\r\n\r\n if ($('#' + id).is(':checked')) {\r\n $('#' + id).removeAttr('checked');\r\n }\r\n else {\r\n $('#' + id).attr('checked', 'checked').prop('checked', 'checked');\r\n }\r\n\r\n $('input[id!=\"' + id + '\"]').removeAttr('checked');\r\n }\r\n\r\n $(this).toggleClass('checked');\r\n PrepareCustomAttr();\r\n\r\n loadAjaxContent(false);\r\n });\r\n }\r\n\r\n if ($('#formFilters').length || $('.filters-tab-producer').length) {\r\n $('#formFilters input:checkbox, .filters-tab-producer input:checkbox').unbind('click').click(function () {\r\n // filtr na vyrobce\r\n ProducerFilter();\r\n $changeP = 0;\r\n\r\n loadAjaxContent(false);\r\n });\r\n }\r\n\r\n if ($('#FiltersAvailability').length || $('.filters-tab-avail').length) {\r\n $('#FiltersAvailability input:checkbox, .filters-tab-avail input:checkbox').unbind('click').click(function () {\r\n // Filtr na dostupnost\r\n AvailabilityFilter();\r\n $changeP = 0;\r\n\r\n loadAjaxContent(false);\r\n });\r\n }\r\n\r\n $('#hlProducerShowAll').unbind('click').click(function () {\r\n $(\"#formFilters div\").each(function (index) {\r\n if ($(this).attr(\"class\") == \"\") {\r\n $(this).addClass(\"hide\");\r\n\r\n _producerClose = true;\r\n }\r\n else if ($(this).attr(\"class\") == \"show\") {\r\n } else {\r\n $(this).removeClass(\"hide\");\r\n _producerClose = false;\r\n }\r\n });\r\n\r\n if (_producerClose) {\r\n $(this).text(\"Zobrazit vše\");\r\n }\r\n else {\r\n $(this).text(\"Skrýt\");\r\n }\r\n })\r\n\r\n if (bParWizard) { ParamControlWizard(); }\r\n\r\n $(\".labelRemoveAll\").unbind(\"click\").click(function () {\r\n RemoveAllFilter(false);\r\n });\r\n\r\n $(\".labelAddNext\").unbind(\"click\").click(function () {\r\n var object = $('.filters-tab-envelope');\r\n var display = object.css(\"display\");\r\n\r\n if (display == \"none\") {\r\n object.fadeIn('fast');\r\n _filterParamOpen = true;\r\n $(\"button[name=showFiltersData]\").addClass(\"active\");\r\n }\r\n\r\n openFilters();\r\n FloatingmenuheightGet();\r\n\r\n $('html, body').animate({ scrollTop: $(\".filters-tab-envelope\").offset().top - 20 - $floatingmenuheight }, 500);\r\n });\r\n}\r\n\r\nfunction ParamControlWizard() {\r\n var c = 0;\r\n var ch = false;\r\n $(\"#formFiltersParam .filterBody\").children(\"div\").each(function () {\r\n c += 1;\r\n var ch_Sub = ch;\r\n ch = true;\r\n var $o = $(this);\r\n $(this).find(\":checkbox\").each(function () {\r\n if (ch_Sub) { $(this).attr(\"disabled\", \"disabled\"); $(this).removeAttr(\"checked\"); $o.addClass(\"whide\"); }\r\n if ($(this).prop(\"checked\")) { ch = false; }\r\n });\r\n $(this).find(\"select\").each(function () {\r\n if (ch_Sub) { $(this).attr(\"disabled\", \"disabled\"); $(this).find(\"option:selected\").removeAttr('selected'); $o.addClass(\"whide\"); }\r\n if (typeof $(this).find(\"option:selected\").val() != 'undefined') {\r\n if ($(this).find(\"option:selected\").val()?.toString().length > 0) { ch = false; }\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction InitProducerFilter() {\r\n $filterProducer = \"\";\r\n $('input[name=' + sNameParZnacka + ']:checkbox:checked').each(function (index) {\r\n if ($filterProducer.length > 0) { $filterProducer += \",\" }\r\n $filterProducer += $(this).val();\r\n });\r\n}\r\n\r\nfunction ProducerFilter() {\r\n InitProducerFilter();\r\n $page = 1;\r\n}\r\n\r\nfunction InitAvailabilityFilter() {\r\n $('#FiltersAvailability').on('click', '#FiltersAvailabilityShowHide', function (e) {\r\n e.preventDefault();\r\n $('#FiltersAvailability .hide').toggle();\r\n });\r\n\r\n $filterAvail = \"\";\r\n $('input[name=' + queryStringAvail + ']:checkbox:checked').each(function (index) {\r\n if ($filterAvail.length > 0) { $filterAvail += \",\" }\r\n $filterAvail += $(this).val();\r\n });\r\n}\r\n\r\nfunction AvailabilityFilter() {\r\n InitAvailabilityFilter();\r\n $page = 1;\r\n}\r\n\r\nfunction unbind() {\r\n $('#ddCalendarYear').unbind('change');\r\n $('select[name=\"iop\"]', '.iop-wrap').unbind('change');\r\n $('.swith-views a').unbind('click');\r\n $('#frmFilter input:checkbox').unbind('click');\r\n $('#formfilterContractorGroup input:checkbox').unbind('click');\r\n $('#formFiltersCustomAttr input:checkbox').unbind('click');\r\n $('#formFiltersCustomAttrNegation input:checkbox').unbind('click');\r\n $('#formFiltersCustomAttr .linkCA').unbind('click');\r\n $('#formFiltersCustomAttrNegation .linkCA').unbind('click');\r\n $('a', '.pager-wrap').unbind('click');\r\n\r\n if ($(window).width() < 680 && $nextPageOwner == null) {\r\n $(\".CloseFilter\").click();\r\n\r\n $('.product-content', '.article-content').each(function (index) {\r\n if ($(this).length > 0) {\r\n $('html, body').animate({ scrollTop: $(this).offset().top }, 500);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction OnChangePriceSlider(frmUrl) {\r\n var $filterPrice = getPriceSliderValue();\r\n\r\n if (frmUrl != '') {\r\n $('#formPrice').attr('action', frmUrl);\r\n }\r\n $('input', '#formPrice').val($filterPrice);\r\n $('#formPrice').submit();\r\n}\r\n\r\nfunction getPriceSliderValue() {\r\n var filterPrice = '';\r\n if ($('#minPriceFilter').val() != $('#fromPriceFilter').val() || $('#maxPriceFilter').val() != $('#toPriceFilter').val()) {\r\n filterPrice = $('#fromPriceFilter').val() + \"/\" + $('#toPriceFilter').val();\r\n }\r\n return filterPrice;\r\n}\r\n\r\nfunction PreparePrice() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $filterPrice = getPriceSliderValue();\r\n if ($search != '' || $tags != '') { $searchAppend = '&filter=on&sProd=1'; }\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n}\r\n\r\nfunction getSerializedString() {\r\n var _search = $search.replace(/\\%25+/g, ' ');\r\n _search = decodeURI(NonDiacritic(_search)).replace(/\\s+/g, '+');\r\n\r\n let $fattrBuilder = '';\r\n if ($filterCustomAttr) {\r\n $fattrBuilder = $filterCustomAttr;\r\n }\r\n if ($attrF) {\r\n $fattrBuilder += $fattrBuilder ? ',' + $attrF : $attrF;\r\n }\r\n if ($filterHiddenAttr) {\r\n $fattrBuilder += $fattrBuilder ? ',' + $filterHiddenAttr : $filterHiddenAttr;\r\n }\r\n \r\n var sSerialize = \"page=\" + $page +\r\n ($pge > 0 ? \"&pge=\" + $pge : '') +\r\n ($search == '' ? '' : \"&search=\" + _search + $searchAppend + ($searchAction != \"\" ? \"&searchaction=\" + $searchAction : \"\")) +\r\n ($pnext > 0 ? \"&pnext=\" + $pnext : '') +\r\n ($tags == '' ? '' : \"&tags=\" + $tags + $searchAppend) +\r\n ($cat * 1 > 0 ? \"&cat=\" + $cat : '') + \r\n ($item != 0 ? \"&item=\" + $item : \"\") +\r\n ($producer > 0 ? \"&producer=\" + $producer : \"\") +\r\n ($pcat * 1 > 0 ? \"&pcat=\" + $pcat : '') +\r\n ($iop == '' ? '' : '&iop=' + $iop) +\r\n ($vcp == '' ? '' : '&vcp=' + $vcp) +\r\n ($b2bFilter == '' ? '' : '&B2BCtgr=' + $b2bFilter) +\r\n ($paramF == '' ? '' : '&par=' + $paramF) +\r\n //last vlozim pouze pokud je vice nez jeden parametr\r\n ($paramLastF == '' || $countPar < 2 ? '' : '&last=' + $paramLastF) +\r\n ($filter == '' ? '' : \"&filter=\" + $filter) +\r\n ($filterContractor == '' ? '' : '&fcon=' + $filterContractor) +\r\n ($fattrBuilder == '' ? '' : '&fattr=' + $fattrBuilder) +\r\n ($isExistAttrNeg == true ? '&fattrneg=1' : '') +\r\n ($filterProducer == '' ? '' : '&' + sNameParZnacka + '=' + $filterProducer.replace(\"@\", \"[at]\")) +\r\n ($filterOthers == '' ? '' : '&CalendarYear=' + $filterOthers) +\r\n ($filterYear == 0 ? '' : '&year=' + $filterYear) +\r\n ($filterMonth == 0 ? '' : '&month=' + $filterMonth) +\r\n ($filterPrice == '' ? '' : '&fPrice=' + $filterPrice) +\r\n ($filterAvail == '' ? '' : '&' + queryStringAvail + '=' + $filterAvail) +\r\n ($catsF == '' ? '' : '&fCats=' + $catsF) +\r\n ($prodF == '' ? '' : '&fProd=' + $prodF) +\r\n (bUseSort ? \"&sort=\" + $sort : '') +\r\n ($wsv > 0 ? '&catwidth=' + $wsv : '') +\r\n (gAllArticles ? \"&aa=1\" : \"\") +\r\n ($eventIds == '' || $eventIds == '&ids=' ? '' : '&ids=' + $eventIds.substring(0, $eventIds.length - 1)) +\r\n ($('.box-selector').length > 0 && _ajaxSearchBoxSelector && _boxSelectorParams.length > 0 ? \"&boxparams=\" + _boxSelectorParams : \"\") +\r\n ($series == '' || $search != '' ? '' : '&series=' + $series);\r\n \r\n // odstrani duplicity z url\r\n sSerialize = sSerialize.replace(/.*\\?/g, '').split('&').filter((e, i, a) => a.indexOf(e) === i).join('&');\r\n \r\n return sSerialize;\r\n}\r\n\r\nfunction loadAjaxContent(processOnlyFilterPart) {\r\n if (processOnlyFilterPart != true) {\r\n processOnlyFilterPart = false;\r\n }\r\n\r\n var sSerialize = getSerializedString();\r\n var $parentContent;\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n cache: false,\r\n url: \"/ajax/commodityContent.aspx\",\r\n data: sSerialize + (lang.length > 0 ? \"&lang=\" + lang : \"\") + (processOnlyFilterPart ? \"¶mFilterInit=1&ms=\" + $('.ajax-filter-init').data('ms') : \"\") + ($changeP === 1 ? \"&paging=1\" : \"\") + ($nextPageOwner != null ? \"&nextPage=1\" : \"\"),\r\n error: function (data) {\r\n ;\r\n },\r\n beforeSend: function () {\r\n if (!processOnlyFilterPart) preloader(true);\r\n if (typeof AjaxCatalogBeforeSend == 'function') { AjaxCatalogBeforeSend(); }\r\n },\r\n complete: function () {\r\n if (typeof AddToFavoritiesFromLocalStorage == \"function\") { AddToFavoritiesFromLocalStorage(); }\r\n\r\n if (!processOnlyFilterPart) {\r\n if (typeof ($(\"input.spinbutton\").stepper) == \"function\") {\r\n $(\"input.spinbutton\").stepper();\r\n }\r\n if (typeof AjaxAfter == 'function') {\r\n AjaxAfter($changeP == 1);\r\n }\r\n }\r\n\r\n // Tuto funkci nadefinovat site.js, tj. JS z Adminu, pokud je potřeba spouštět nějaké JS po ajaxovém stránkování\r\n if (typeof AjaxCatalogComplete == 'function') {\r\n AjaxCatalogComplete($changeP == 1);\r\n }\r\n\r\n if (typeof enhancedEcommerceEvent == \"function\") {\r\n enhancedEcommerceEvent();\r\n }\r\n\r\n if (typeof adviceJetInitCatalog === \"function\") {\r\n adviceJetInitCatalog();\r\n }\r\n\r\n if (!processOnlyFilterPart) {\r\n ProductPreview();\r\n availability();\r\n // Schoavani v ucFitlersParam\r\n if (typeof (arrParamTabFunction) == 'object') {\r\n var evalJs = \"\";\r\n // ReSharper disable once TsResolvedFromInaccessibleModule\r\n for (var i = 0; i < arrParamTabFunction.length; i++) {\r\n evalJs += arrParamTabFunction[i];\r\n }\r\n // Seznam fci musime spustit aby se to nabindovalo. Jkao ale bych brecel takova kravina kterou vyuzije a oceni 1 clovek :DD\r\n eval(evalJs);\r\n }\r\n }\r\n\r\n if (IsSafariBrowser()) {\r\n setTimeout(prepareLinks, 300);\r\n } else {\r\n prepareLinks();\r\n }\r\n\r\n $changeP = 0;\r\n $nextPageOwner = null;\r\n $backFromHistory = false;\r\n },\r\n success: function (data) {\r\n var aData = data.split('#end#');\r\n\r\n if ($nextPageOwner != null) {\r\n // tlacitko \"zobrazit dalsi produkty\"\r\n $.each(aData, function (index, value) {\r\n if ($.inArray(value.split('#begin#')[0].split(':')[0], $nextPageSelectors) == -1) {\r\n $(value.split('#begin#')[0]).empty();\r\n }\r\n });\r\n\r\n $.each(aData, function (index: number, value) {\r\n var selector = value.split('#begin#')[0];\r\n index = $.inArray(selector.split(':')[0], $nextPageSelectors);\r\n\r\n if (index >= 0) {\r\n var sDataHtml = $(value.split('#begin#')[1]).filter($nextPageItemsSelectors[index]).html();\r\n if (sDataHtml == undefined) { sDataHtml = $(value.split('#begin#')[1]).find($nextPageItemsSelectors[index]).html(); }\r\n\r\n // muze se stat, ze na strance mame vice univerzalnich vypisu\r\n if ($pagerElement != null && $(selector).length > 1) {\r\n selector = \".\" + $pagerElement.closest(selector).attr(\"class\").split(\" \").join(\".\");\r\n $parentContent = $pagerElement.closest(\".product-content, .article-content\");\r\n }\r\n else if ($(selector).length > 1) {\r\n // vicekrat muze byt pouze vypis 302\r\n // ten ktery nas zajima by mel mit pager\r\n $(selector).each(function (i, obj) {\r\n if ($(this).find(\".NavBar\").length) {\r\n selector = \".\" + $(this).attr(\"class\").split(\" \").join(\".\");\r\n }\r\n\r\n });\r\n }\r\n\r\n $(selector + \" \" + $nextPageItemsSelectors[index]).append(sDataHtml);\r\n $(selector + \" \" + $nextPageItemsSelectors[index]).find(\".spacer:first\").remove();\r\n\r\n sDataHtml = $(value.split('#begin#')[1]).filter(\".NavBar\").first().html();\r\n if (sDataHtml == undefined) { sDataHtml = $(value.split('#begin#')[1]).find(\".NavBar\").first().html(); }\r\n $(\".NavBar.pos-1\").html(sDataHtml);\r\n\r\n sDataHtml = $(value.split('#begin#')[1]).filter(\".NavBar\").last().html();\r\n if (sDataHtml == undefined) { sDataHtml = $(value.split('#begin#')[1]).find(\".NavBar\").last().html(); }\r\n $nextPageOwner.parent().parent(\".NavBar\").html(sDataHtml);\r\n\r\n // spusteni javasriptu v html\r\n parseScript(data);\r\n }\r\n else {\r\n $(selector).append(value.split('#begin#')[1]);\r\n }\r\n });\r\n\r\n if (!$backFromHistory) {\r\n var url = \"\";\r\n\r\n if (features.SEOParam && $cat > 0) {\r\n url = getClearUrl3(\"\");\r\n }\r\n else {\r\n url = getClearUrl3(getSerializedString());\r\n }\r\n window.history.pushState(sSerialize, document.title, url);\r\n }\r\n }\r\n else {\r\n // klasicke strankovani produktu\r\n $.each(aData, function (index, value) {\r\n var selector = value.split('#begin#')[0];\r\n // muze se stat, ze na strance mame vice univerzalnich vypisu\r\n if ($pagerElement != null && $(selector).length > 1) {\r\n selector = \".\" + $pagerElement.closest(selector).attr(\"class\").split(\" \").join(\".\");\r\n $parentContent = $pagerElement.closest(\".product-content, .article-content\");\r\n }\r\n else if ($(selector).length > 1) {\r\n // vicekrat muze byt pouze vypis 302\r\n // ten ktery nas zajima by mel mit pager\r\n $(selector).each(function (i, obj) {\r\n if ($(this).find(\".NavBar\").length) {\r\n selector = \".\" + $(this).attr(\"class\").split(\" \").join(\".\");\r\n }\r\n });\r\n }\r\n else if ($pagerElement != null && $(\".search-content\").length > 0 && $(\".resp-tabs-list\").length == 0 && $(selector).closest(\".search-content\").length) {\r\n // nejsou zalozky ve vyhledavani\r\n var c = \"#\" + $pagerElement.closest(\".search-content\").attr(\"id\");\r\n $parentContent = $(c);\r\n }\r\n \r\n $(selector).html(value.split('#begin#')[1]);\r\n });\r\n\r\n if (features.SEOParam && $search == \"\") {\r\n IsSafariBrowser() ? InnerSeoH1() : setTimeout(InnerSeoH1, 100);\r\n }\r\n else if (IsSafariBrowser()) {\r\n $backFromHistory = false;\r\n setTimeout(InnerH1, 100);\r\n }\r\n else {\r\n InnerH1();\r\n }\r\n\r\n if (!$backFromHistory) {\r\n var url = \"\";\r\n\r\n if (features.SEOParam && $cat > 0) {\r\n url = getClearUrl3(\"\");\r\n }\r\n else {\r\n url = getClearUrl3(getSerializedString());\r\n }\r\n\r\n if (bUseSort && $sort == '' && getParmFromHash(url, \"sort\") == \"\") {\r\n url = url.replace('?sort=', '').replace('&sort=', '');\r\n }\r\n\r\n var title = GetTitle();\r\n if (title == \"empty\" || title == \"\") title = document.title;\r\n\r\n history.pushState(sSerialize, title, url);\r\n }\r\n }\r\n\r\n preloader(false);\r\n\r\n unbind();\r\n toggleControlElement();\r\n ButtonBuy();\r\n FloatingmenuheightGet();\r\n\r\n if (!processOnlyFilterPart && $makeScroll && $parentContent != null && $parentContent.length > 0) {\r\n // muze se stat, ze na strance mame vice univerzalnich vypisu, ale zname pagera a tim padem i parenta\r\n $('html, body').animate({ scrollTop: $parentContent.offset().top - $floatingmenuheight }, 200);\r\n $makeScroll = false;\r\n }\r\n\r\n if (!processOnlyFilterPart && $makeScroll) {\r\n $('.product-content, .article-content').each(function (index) {\r\n if ($makeScroll && $(\".has-scroll-bar\").length) {\r\n // muze se stat, ze mam nastaven na katalog scollbar\r\n $(\".has-scroll-bar\").animate({ scrollTop: 0 }, 200);\r\n $makeScroll = false;\r\n }\r\n else if ($makeScroll && $(\"#formSort\").length) {\r\n $('html, body').animate({ scrollTop: $(\"#formSort\").offset().top - $floatingmenuheight }, 200);\r\n $makeScroll = false;\r\n }\r\n else if ($makeScroll && $(\"#formNavBar1\").length) {\r\n $('html, body').animate({ scrollTop: $(\"#formNavBar1\").offset().top - $floatingmenuheight }, 200);\r\n $makeScroll = false;\r\n }\r\n else if ($makeScroll && $(this).closest(\".block-book-mark\").length && !$(\"body\").hasClass(\"is-mobile\")) {\r\n // zalozky, vyhledavani, pro desktop, posuneme na zalozky\r\n $('html, body').animate({ scrollTop: $(this).closest(\".block-book-mark\").find(\".resp-tabs-list\").offset().top - $floatingmenuheight }, 200);\r\n $makeScroll = false;\r\n }\r\n else if ($makeScroll && $(this).closest(\".block-book-mark\").length && $(\"body\").hasClass(\"is-mobile\")) {\r\n // zalozky, vyhledavani, pro mobily, posuneme na obsah\r\n $('html, body').animate({ scrollTop: $(this).closest(\".resp-tabs-container\").offset().top - $floatingmenuheight }, 200);\r\n $makeScroll = false;\r\n }\r\n else if ($makeScroll && $(this).length > 0) {\r\n $('html, body').animate({ scrollTop: $(this).offset().top - 40 - $floatingmenuheight }, 200);\r\n $makeScroll = false;\r\n }\r\n });\r\n }\r\n\r\n if ($pagerElement != null) {\r\n $pagerElement = null;\r\n }\r\n\r\n $makeScroll = false;\r\n }\r\n });\r\n}\r\n\r\nfunction parseScript(_source) {\r\n var source = _source;\r\n var scripts = new Array();\r\n\r\n while (source.toLowerCase().indexOf(\" -1) {\r\n var s = source.toLowerCase().indexOf(\"\", e);\r\n\r\n var subsSourceJsonLd = source.substring(s, s_e);\r\n\r\n // Json LD nevkladame\r\n if (subsSourceJsonLd.indexOf(\"application/ld+json\") === -1) {\r\n scripts.push(source.substring(s_e + 1, e));\r\n } else {\r\n // Pro tlacko \"dalsich X\" je potreba json vlozit do page\r\n if ($nextPageOwner != null) {\r\n $(\"body\").append(subsSourceJsonLd + \">\" + source.substring(s_e + 1, e) + \"\");\r\n }\r\n }\r\n source = source.substring(0, s) + source.substring(e_e + 1);\r\n }\r\n\r\n for (var i = 0; i < scripts.length; i++) {\r\n try {\r\n if (scripts[i] != '') {\r\n try {\r\n execScript(scripts[i]);\r\n }\r\n catch (ex) {\r\n eval(scripts[i]);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n if (e instanceof SyntaxError) console.log(e.message + ' - ' + scripts[i]);\r\n }\r\n }\r\n}\r\n\r\nfunction InnerSeoH1() {\r\n var $sufix = \"\";\r\n var $perex = \"\";\r\n var $h1 = $h1Orig;\r\n var $title = $titleOrig;\r\n var $metaDesc = \"\";\r\n var $sWeb = gsNameWeb.length > 0 && gsNameWeb != \"empty\" ? \" | \" + gsNameWeb : \"\";\r\n var $sortSeo = $sort;\r\n if (!$sortSeo.length) { $sortSeo = $(\"#formSort a.active\").data(\"sort\"); }\r\n var sortAppend = GetTextDynamic(\"head_line_sort_\" + $sortSeo);\r\n\r\n if (typeof $seoParam !== 'undefined' && $seoParam != null && $seoParam && $seoParam.length) {\r\n ////////////////////////////////////////////\r\n // H1\r\n $.each($seoParam, function (i, item) {\r\n if (item.sH1Type == \"replace\" && item.sH1.length) {\r\n $h1 = item.sH1;\r\n }\r\n else if (item.sH1Type == \"sufix\" && item.sH1.length) {\r\n // pridat za\r\n $sufix = $sufix + (item.sH1.substring(0, 1) == \",\" ? \"\" : \" \") + item.sH1;\r\n }\r\n else if (item.sH1Type == \"perex\" && item.sH1.length) {\r\n // pridat pred\r\n $perex = $perex + \" \" + item.sH1;\r\n }\r\n });\r\n\r\n // pred H1\r\n if ($perex.length) { $perex = $perex.trim() + \" \"; }\r\n // za H1\r\n if ($sufix.length) { $sufix = ($sufix.substring(0, 1) == \",\" ? \"\" : \" \") + $sufix.trim(); }\r\n\r\n $h1 = $perex + $h1 + $sufix;\r\n $h1 = $h1.trim();\r\n\r\n if (sortAppend && sortAppend.length) {\r\n $h1 += sortAppend;\r\n }\r\n\r\n if ($h1 && $h1.length) {\r\n $h1 = $h1[0].toUpperCase() + $h1.slice(1).toLowerCase();\r\n $(\"h1:first\").html($h1);\r\n }\r\n\r\n $sufix = \"\";\r\n $perex = \"\";\r\n\r\n ////////////////////////////////////////////\r\n // title\r\n $.each($seoParam, function (i, item) {\r\n if (item.sTitleType == \"replace\" && item.sTitle.length) {\r\n $title = item.sTitle;\r\n }\r\n else if (item.sTitleType == \"sufix\" && item.sTitle.length) {\r\n // pridat za\r\n $sufix = $sufix + (item.sTitle.substring(0, 1) == \",\" ? \"\" : \" \") + item.sTitle;\r\n }\r\n else if (item.sTitleType == \"perex\" && item.sTitle.length) {\r\n // pridat pred\r\n $perex = $perex + \" \" + item.sTitle;\r\n }\r\n });\r\n\r\n // pred title\r\n if ($perex.length) { $perex = $perex.trim() + \" \"; }\r\n // za title\r\n if ($sufix.length) { $sufix = ($sufix.substring(0, 1) == \",\" ? \"\" : \" \") + $sufix.trim(); }\r\n\r\n $title = $perex + $title + $sufix;\r\n $title = $title.trim();\r\n\r\n if (sortAppend && sortAppend.length) {\r\n $title += sortAppend;\r\n }\r\n\r\n if ($title && $title.length) {\r\n $title = $title[0].toUpperCase() + $title.slice(1).toLowerCase() + $sWeb;\r\n $(\"title\").html($title);\r\n $(\"meta[name=title]\").attr(\"content\", $title);\r\n }\r\n\r\n $sufix = \"\";\r\n $perex = \"\";\r\n\r\n ////////////////////////////////////////////\r\n // meta description\r\n $.each($seoParam, function (i, item) {\r\n if (item.sMetaDescriptionType == \"replace\" && item.sMetaDescription.length) {\r\n $metaDesc = item.sMetaDescription;\r\n }\r\n else if (item.sMetaDescriptionType == \"sufix\" && item.sMetaDescription.length) {\r\n // pridat za\r\n $sufix = $sufix + (item.sMetaDescription.substring(0, 1) == \",\" ? \"\" : \" \") + item.sMetaDescription;\r\n }\r\n else if (item.sMetaDescriptionType == \"perex\" && item.sMetaDescription.length) {\r\n // pridat pred\r\n $perex = $perex + \" \" + item.sMetaDescription;\r\n }\r\n });\r\n\r\n // pred meta desc\r\n if ($perex.length) { $perex = $perex.trim() + \" \"; }\r\n // za meta desc\r\n if ($sufix.length) { $sufix = ($sufix.substring(0, 1) == \",\" ? \"\" : \" \") + $sufix.trim(); }\r\n\r\n $metaDesc = $perex + $metaDescOrig + $sufix;\r\n $metaDesc = shortenString($metaDesc, 160);\r\n\r\n if ($metaDesc && $metaDesc.length) {\r\n //$metaDesc = $metaDesc[0].toUpperCase() + $metaDesc.slice(1).toLowerCase();\r\n $(\"meta[name=description]\").attr(\"content\", $metaDesc);\r\n }\r\n }\r\n else {\r\n if ($h1Orig && $h1Orig.length) {\r\n $(\"h1:first\").html($h1Orig + sortAppend);\r\n }\r\n\r\n if ($titleOrig && $titleOrig.length) {\r\n $(\"title\").html($titleOrig + sortAppend);\r\n }\r\n }\r\n}\r\n\r\nfunction InnerH1() {\r\n if ($h1 == 'empty') { $h1 = $(\"h1:first\").html(); }\r\n if ($title == 'empty') { $title = $(document).attr('title'); }\r\n // parametry\r\n var action = 0;\r\n\r\n $(\"#formFiltersParam input[name=H1Add], #filters-tab input[name=H1Add], #formFiltersParam input[id=SpecParamH1], #filters-tab input[id=SpecParamH1]\").each(function () {\r\n // toto jsou predefinovane h1 u parametru\r\n if ($(this).attr(\"name\") == \"H1Add\" && $(this).val()?.toString().trim().length > 0) {\r\n $(\"h1:first\").html($(this).val()?.toString());\r\n action = 1;\r\n }\r\n\r\n if ($(this).attr(\"id\") == \"SpecParamH1\" && $(this).val()?.toString().trim().length > 0) {\r\n $(\"h1:first\").html($(this).val()?.toString());\r\n action = 1;\r\n }\r\n });\r\n\r\n // staticke filtry\r\n if ($countPar == 0 && $(\"#frmFilter input:checked\").length == 1) {\r\n $countPar = $(\"#frmFilter input:checked\").length;\r\n }\r\n\r\n if (($countPar == 1 || $countPar == 2) && action == 0) {\r\n $(\"h1:first\").html($h1 + PrepareParamText());\r\n $('title').html($title.replace(\"|\", PrepareParamText() + \" |\"));\r\n $(\"meta[name=title]\").attr(\"content\", $title.replace(\"|\", PrepareParamText() + \" |\"));\r\n }\r\n\r\n if (action == 0 && $countPar != 1 && $countPar != 2 && $(\"h1\").html() != $h1) {\r\n $(\"h1:first\").html($h1);\r\n $('title').html($title);\r\n $(\"meta[name=title]\").attr(\"content\", $title);\r\n }\r\n}\r\n\r\nfunction GetTitle() {\r\n var action = 0;\r\n var res = \"\";\r\n var sWeb = gsNameWeb.length > 0 && gsNameWeb != \"empty\" ? \" | \" + gsNameWeb : \"\";\r\n\r\n $(\"#formFiltersParam input:hidden, #filters-tab input:hidden\").each(function () {\r\n // toto jsou predefinovane h1 u parametru\r\n if ($(this).attr(\"name\") == \"Title\" && $(this).val()?.toString().length > 0) {\r\n res = $(this).val()?.toString();\r\n action = 1;\r\n }\r\n\r\n if ($(this).attr(\"id\") == \"SpecParamTitle\" && $(this).val()?.toString().length > 0) {\r\n res = $(this).val()?.toString();\r\n action = 1;\r\n }\r\n });\r\n\r\n if (action == 1) {\r\n return res + sWeb;\r\n }\r\n else if (PrepareParamText().length > 0) {\r\n return $h1 + PrepareParamText() + sWeb;\r\n }\r\n else {\r\n return $title;\r\n }\r\n}\r\n\r\nfunction preparePageVsHash() {\r\n if (location.hash.indexOf(\"#gallery\") >= 0) {\r\n // toto je fotogalerie fancyboxu, neni treba spoustet ajax na katalog\r\n return;\r\n }\r\n\r\n $sort = getParmFromHash(location.href.replace('#', '&'), \"sort\");\r\n $iop = getParmFromHash(location.href.replace('#', '&'), \"iop\");\r\n $vcp = getParmFromHash(location.href.replace('#', '&'), \"vcp\");\r\n $filterPrice = getParmFromHash(location.href.replace('#', '&'), \"fPrice\");\r\n\r\n var href = '';\r\n if (location.href.indexOf('?search=') == -1) {\r\n var re1 = /\\/p(\\d+)\\//g;\r\n href = location.href.replace(re1, \"&page=$1&\");\r\n }\r\n $page = parseInt(getParmFromHash(href, \"page\") !== \"\" ? getParmFromHash(href, \"page\") : \"1\");\r\n if ($page == 0) {\r\n $page = 1;\r\n }\r\n\r\n loadAjaxContent(false);\r\n}\r\n\r\nfunction getClearUrl3(s) {\r\n var p = \"\";\r\n var l = window.location.pathname;\r\n var q = window.location.search;\r\n var hash = \"\";\r\n var $pagerUrlPostfix = $urlPostfix;\r\n $search = getParmFromHash(q, 'search');\r\n \r\n if (features.SEOParam && typeof $urlOrig !== \"undefined\" && $urlOrig.length && !$search.length) {\r\n $pagerUrlPostfix = \"/\";\r\n if ($paramSeo.length || $filterCustomAttr.length || $sort.length || $page > 1 || $pnext > 0) {\r\n l = $urlOrig.replace($urlPostfix, \"/\") + $urlSeo;\r\n }\r\n else {\r\n l = $urlOrig;\r\n }\r\n\r\n if ($filterPrice != \"\") {\r\n s = \"fPrice=\" + $filterPrice;\r\n }\r\n }\r\n \r\n // odstrani z url strankovani\r\n l = l.replace(pattern, \"\");\r\n \r\n if ($sort) {\r\n s = s.replace('&page=' + $page, '');\r\n s = s.replace('page=' + $page, '');\r\n } \r\n else {\r\n s = s.replace('page=' + $page, '');\r\n }\r\n\r\n // atributy nastavene v Odkaz / parametry, nemusi byt v url\r\n if ($filterHiddenAttr != \"\" && $filterCustomAttr == \"\") {\r\n s = s.replace('&fattr='+ $filterHiddenAttr, '');\r\n }\r\n else if ($filterHiddenAttr != \"\" && $filterCustomAttr != \"\") {\r\n s = s.replace($filterHiddenAttr, '');\r\n }\r\n\r\n s = s.replace('&pnext=' + $pnext, '');\r\n s = s.replace('&cat=' + $cat, '');\r\n s = s.replace('&pcat=' + $pcat, '');\r\n // s = s.replace('&tags=' + $tags, '');\r\n s = s.replace('&item=' + $item, '');\r\n s = s.replace('&producer=' + $producer, '');\r\n s = s.replace($eventIds, '');\r\n s = s.replace('&aa=1', '');\r\n s = s.replace('&filter=on', '');\r\n s = s.replace('&sProd=1', '');\r\n s = s.replace('&series=1', '');\r\n s = s.replace('&sArt=10', '').replace('&sArt=20', '').replace('&sArt=30', '').replace('&sArt=1', '').replace('&sArt=2', '');\r\n\r\n if ($page == 1 && $pnext == 0) {\r\n //\r\n }\r\n else if ($producer > 0 && !features.PersonalUrl) {\r\n p = \"?page=\" + $page;\r\n }\r\n else if ($nextPageOwner && q.indexOf(\"search=\") == -1) \r\n {\r\n // klasicke strankovani v kategorii\r\n if ($pnext > 0 && ($pagerUrlPostfix == \"\" || l.lastIndexOf(\"/\") != l.length - 1)) { p = \"/p\" + $pnext + \"-\" + $page; }\r\n else { p = \"p\" + $pnext + \"-\" + $page; }\r\n \r\n p += $pagerUrlPostfix;\r\n }\r\n else if (q.indexOf(\"search=\") > 0) {\r\n s += (s.indexOf('page=') == -1 ? '&page=' + $page : \"\");\r\n }\r\n else {\r\n if ($pagerUrlPostfix == \"\") {\r\n p = \"/p\" + $page;\r\n }\r\n else {\r\n p = 'p' + $page;\r\n }\r\n p += $pagerUrlPostfix;\r\n }\r\n\r\n if (typeof $type != \"undefined\" && $type !== \"\" && $type !== \"pr\") {\r\n // pridavam si tam typ, abych pri nacteni stranky, ne ajax, vedel co mam strankovat\r\n s += \"&t=\" + $type;\r\n }\r\n\r\n if (s.substring(0, 1) == \"&\") { s = s.substring(1) };\r\n if (s.length > 0) { s = \"?\" + s; }\r\n\r\n if ($pagerUrlPostfix == \"\" && l.substr(-1) === \"/\") {\r\n l = l.slice(0, -1);\r\n }\r\n\r\n l = l + p + s + hash;\r\n\r\n l = l.replace(/,$/, ''); // odstran carku na konci retezce\r\n\r\n return l;\r\n}\r\n\r\nif (IsSafariBrowser()) {\r\n $paramF = GetParam(\"par\");\r\n\r\n bindForm();\r\n BindCategoriesFilter();\r\n BindAttributesFilter();\r\n BindProducersFilter();\r\n InitProducerFilter();\r\n InitAvailabilityFilter();\r\n BindSeries();\r\n PrepareHiddenAttr();\r\n\r\n if (location.hash.length > 1 && $search === ''\r\n && window.location.hash.indexOf('#step=') === -1) {\r\n preparePageVsHash();\r\n }\r\n\r\n ProductPreview();\r\n availability();\r\n setTimeout(prepareLinks, 300);\r\n\r\n // varianta AJAX catalogu -> dodatecne nacteni\r\n if ($(\".ajax-filter-init\").length) {\r\n RemoveAllFilter(true);\r\n }\r\n\r\n // zadám si aktuální URL\r\n history.replaceState(\"reload\", gsNameWeb, window.location.href);\r\n}\r\nelse {\r\n $(document).ready(function () {\r\n $paramF = GetParam(\"par\");\r\n\r\n bindForm();\r\n BindCategoriesFilter();\r\n BindAttributesFilter();\r\n BindProducersFilter();\r\n InitProducerFilter();\r\n InitAvailabilityFilter();\r\n BindSeries();\r\n\r\n if (location.hash.length > 1 && $search === ''\r\n && window.location.hash.indexOf('#bonuspage=') === -1\r\n && window.location.hash.indexOf('#step=') === -1) {\r\n preparePageVsHash();\r\n }\r\n\r\n ProductPreview();\r\n availability();\r\n prepareLinks();\r\n PrepareHiddenAttr();\r\n\r\n $filter = GetParam(\"filter\");\r\n $filterPrice = GetParam(\"fPrice\");\r\n $filterCustomAttr = GetParam(\"fattr\");\r\n $filterAvail = GetParam(\"dostupnost\");\r\n $catsF = GetParam(\"fCats\");\r\n\r\n //Varianta AJAX catalogu -> dodatecne nacteni\r\n if ($(\".ajax-filter-init\").length) {\r\n RemoveAllFilter(true);\r\n }\r\n\r\n // zadám si aktuální URL\r\n history.replaceState(\"reload\", gsNameWeb, window.location.href);\r\n\r\n if ($nextPageSelectors.length !== $nextPageItemsSelectors.length) {\r\n console.log(`Nesouhlasí délka prvků: $nextPageSelectors=${$nextPageSelectors.length} $nextPageItemsSelectors=${$nextPageItemsSelectors.length}`);\r\n }\r\n\r\n // toto potrebuji ulozit, abych po nacteni predchozi stranky nastavil pozici na ktere jsem byl\r\n $(window).on(\"scroll\", throttle(function () {\r\n AddItemToLocalStorage(\"bonusPage-previos-position\", Number($(window).scrollTop().toString()).toString());\r\n }, 200));\r\n });\r\n}\r\n\r\n////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n// Osetreni tlacitka zpet po ajaxu. \r\nwindow.addEventListener('popstate', function (event) {\r\n if (event == null && event.state === \"reload\") {\r\n // nemam zadnou historii, tak relodnem stranku\r\n window.location.href = window.location.href;\r\n }\r\n else if (event.state) {\r\n $backFromHistory = true;\r\n $makeScroll = true;\r\n\r\n var state = history.state;\r\n var hash = window.location.hash;\r\n \r\n if (state && state.length && state.substring(1) != \"&\") {\r\n // toto potrebuji, aby fungovala fn getParmFromHash\r\n state = \"&\" + state;\r\n }\r\n \r\n $paramF = getParmFromHash(state, \"par\");\r\n $sort = getParmFromHash(state, \"sort\");\r\n $filter = getParmFromHash(state, \"filter\");\r\n $filterPrice = getParmFromHash(state, \"fPrice\");\r\n $filterCustomAttr = getParmFromHash(state, \"fattr\");\r\n $filterProducer = getParmFromHash(state, sNameParZnacka);\r\n $vcp = getParmFromHash(state, \"vcp\");\r\n $iop = getParmFromHash(state, \"iop\");\r\n $page = parseInt(getParmFromHash(state, \"page\")) || 1;\r\n $pge = parseInt(getParmFromHash(state, \"pge\")) || 0;\r\n $pnext = parseInt(getParmFromHash(state, \"pnext\")) || 0;\r\n $tags = getParmFromHash(state, \"tags\");\r\n\r\n if (getParmFromHash(state, \"search\") != \"\") {\r\n if (state.indexOf('&sCat=1') != -1) { $searchAppend = '&filter=on&sCat=1'; }\r\n else if (state.indexOf('&sArt=30') != -1) { $searchAppend = '&filter=on&sArt=30'; }\r\n else if (state.indexOf('&sArt=20') != -1) { $searchAppend = '&filter=on&sArt=20'; }\r\n else if (state.indexOf('&sArt=10') != -1) { $searchAppend = '&filter=on&sArt=10'; }\r\n else if (state.indexOf('&sArt=1') != -1) { $searchAppend = '&filter=on&sArt=1'; }\r\n else if (state.indexOf('&sArt=2') != -1) { $searchAppend = '&filter=on&sArt=2'; }\r\n else if (state.indexOf('&sFor=1') != -1) { $searchAppend = '&filter=on&sFor=1'; }\r\n else if (state.indexOf('&sFile=1') != -1) { $searchAppend = '&filter=on&sFile=1'; }\r\n else if (state.indexOf('&sSeries=1') != -1) { $searchAppend = '&filter=on&sSeries=1'; }\r\n else { $searchAppend = '&filter=on&sProd=1'; }\r\n if (state.indexOf('&spcat=') !== -1) { $searchAppend += '&spcat=' + getParmFromUrlHash(state, \"spcat\"); }\r\n \r\n }\r\n\r\n loadAjaxContent(false);\r\n }\r\n}, false);\r\n\r\n\r\nfunction ProductPreview() {\r\n $('.product-preview').on('click', function (e) {\r\n e.preventDefault();\r\n var self = $(this);\r\n var id = self.data('i');\r\n var name = self.data('n');\r\n var moduleId = self.data('m');\r\n\r\n EshopService(\"QuickViewLoad\", { commodityId: id, commodityName: name, moduleId: moduleId }, true, function (result: InfoValueResult) {\r\n if (result.Value.length > 0) {\r\n $.fancybox.open(result.Value, {\r\n defaultType: 'inline',\r\n btnTpl:\r\n {\r\n close: '',\r\n arrowRight: '',\r\n arrowLeft: ''\r\n },\r\n hideScrollbar: true\r\n //autoCenter: false\r\n });\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction ClickHid(o) {\r\n var oP = $(o).closest(\"div\");\r\n //var oP = ($(o).parent(\"div\").first() as HTMLDivElement);\r\n\r\n if (oP.hasClass(\"open\")) {\r\n oP.removeClass(\"open\").addClass(\"close\");\r\n }\r\n else {\r\n oP.removeClass(\"close\").addClass(\"open\");\r\n\r\n if (oP.find('.with-slider .jqrangeslider').length) {\r\n // toto je input kde se zadaji hodnoty, nastaveni modulu (paramSliderEditInput)\r\n oP.find('.with-slider .jqrangeslider').editRangeSlider('resize');\r\n }\r\n\r\n if (oP.find('.with-slider .slider').length) {\r\n // toto je slider bez moznosti zadat hodnoty, nastaveni modulu (paramSliderEditInput)\r\n oP.find('.with-slider .slider').rangeSlider('resize');\r\n }\r\n\r\n if (oP.hasClass(\"priceSliderBox\")) {\r\n if (typeof SetSliderPrices === 'function') { SetSliderPrices(); }\r\n }\r\n }\r\n fn_GTM_sendFiltersPushState($(o));\r\n}\r\n\r\nfunction ParamSliderRemoveFiletr(slider) {\r\n var sMin = 'hdnsl_' + slider.replace(/-/g, \"\") + 'min';\r\n var sMax = 'hdnsl_' + slider.replace(/-/g, \"\") + 'max';\r\n\r\n // Zjistime default hodnoty at to muzeme naresetovat.\r\n var minVal = $(\"input[name='\" + sMin + \"']\").val();\r\n var maxVal = $(\"input[name='\" + sMax + \"']\").val();\r\n\r\n var defaultMinValue = slider + \"|\" + minVal;\r\n var defaultMaxValue = slider + \"|\" + maxVal;\r\n\r\n // Nastavime hodnoty inputu\r\n $(\"#minsl_\" + slider.replace(/-/g, \"\")).val(defaultMinValue).removeClass(\"paramUsed\").prop('checked', false);\r\n $(\"#maxsl_\" + slider.replace(/-/g, \"\")).val(defaultMaxValue).removeClass(\"paramUsed\").prop('checked', false);\r\n\r\n try { $(\"#sl_\" + slider.replace(\"-\", \"\")).editRangeSlider(\"destroy\"); } catch (ex) { ; }\r\n try { $(\"#sl_\" + slider.replace(\"-\", \"\")).rangeSlider(\"destroy\"); } catch (ex) { ; }\r\n\r\n PrepareParam();\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n}\r\n\r\nfunction InitAfterAjaxCatalogForSiteScript() {\r\n}\r\n\r\nfunction RemoveAllFilter(init) {\r\n if (init) {\r\n if (GetParam(\"par\") == \"\") {\r\n //temporary commented\r\n //ResetFilterVariables();\r\n }\r\n\r\n loadAjaxContent(true);\r\n } else {\r\n ResetFilterVariables();\r\n bindForm();\r\n loadAjaxContent(false);\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction ResetFilterVariables() {\r\n $page = 1;\r\n $pge = 0;\r\n $pnext = 0;\r\n $search = '';\r\n $tags = '';\r\n $cat = 0;\r\n $item = 0;\r\n $producer = 0;\r\n $pcat = 0;\r\n $iop = '';\r\n $vcp = '';\r\n $b2bFilter = '';\r\n $paramF = '';\r\n $urlSeo = '';\r\n $paramLastF = '';\r\n $filter = '';\r\n $filterContractor = '';\r\n $filterCustomAttr = '';\r\n $isExistAttrNeg = false;\r\n $filterProducer = '';\r\n $filterOthers = '';\r\n $filterPrice = '';\r\n $filterAvail = '';\r\n $sort = '';\r\n $wsv = 0;\r\n $eventIds = '';\r\n if (features.SEOParam && $paramSeo != null && $paramSeo.length) { \r\n $paramSeo.length = 0;\r\n }\r\n}\r\n\r\nfunction openFilters() {\r\n if ($(\"#filters-tab li:first\").length) {\r\n $(\"#filters-tab li:first\").trigger(\"click\");\r\n }\r\n}\r\n\r\nfunction initAjaxDater() {\r\n $('.dater-fb-info').unbind('click').click(function (e) {\r\n e.preventDefault();\r\n var attr = $(this).attr('data-id').replace('DaterDelivery-', '');\r\n EshopService(\"DaterInfo\", { stockRuleId: attr.split('-')[0], site: attr.split('-')[1], lang: attr.split('-')[2], codeLang: attr.split('-')[3], isOnStock: attr.split(\"-\")[4] }, true, function (result: InfoValueResult) {\r\n if (result.Value.length > 0) {\r\n var resValue = \"\" + result.Value + \"
\";\r\n $.fancybox.open(resValue, { defaultType: \"inline\" });\r\n }\r\n });\r\n });\r\n}\r\n\r\n//nacteni poradny - ajaxove\r\nfunction AdviceInCatalog() {\r\n if ($('.sort-advice').hasClass('active')) return;\r\n\r\n var t = GetTextDynamic(\"sort_title_type_advice\");\r\n if (t != '' && t != '#' && $('#formSort h2').length > 0) { $('#formSort h2').html(t); }\r\n\r\n var sSerialize = \"&type=184&cat=\" + $cat + (lang.length > 0 ? \"&lang=\" + lang : \"\");\r\n var $target = $('.content-19');\r\n\r\n $('a[class^=\"sort-\"][class*=\"active\"]').click(function () {\r\n $('#hiddensort').val($(this).data(\"sort\"));\r\n $('#formSort').submit();\r\n });\r\n $('a[class^=\"sort-\"][class*=\"active\"]').removeClass('active');\r\n $('.sort-advice').addClass('active');\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n cache: false,\r\n url: \"/ajax/layerContent.aspx\",\r\n data: sSerialize,\r\n error: function (data) {\r\n preloader(false);\r\n },\r\n beforeSend: function () {\r\n preloader(true);\r\n },\r\n success: function (data) {\r\n $target.html(data);\r\n preloader(false);\r\n }\r\n });\r\n}\r\n\r\nfunction fn_GTM_bindFilter() {\r\n if ($(\"#xformFiltersParam input[type=hidden], #xformFiltersParam select\").length > 0 && typeof dataLayer !== 'undefined') {\r\n $(\"#xformFiltersParam input[type=hidden], #xformFiltersParam select, #xformFiltersParam .ui-rangeSlider\").on(\"change valuesChanged\", function () { fn_GTM_sendFiltersPushState($(this)) })\r\n $(\"#xformFiltersParam input[type=hidden]\")\r\n .on(\"change\", function () { fn_GTM_sendFiltersPushState($(this)) })\r\n }\r\n}\r\n\r\n// pošle push state pro filtr do google GTM\r\nfunction fn_GTM_sendFiltersPushState(o) {\r\n if (typeof dataLayer !== 'undefined') {\r\n var fnm = o.parentsUntil(\".fltrSection\").parent().find(\"h3\").text().trim();\r\n if (fnm == \"\") { fnm = o.text().trim(); }\r\n\r\n dataLayer.push({\r\n 'event': 'GAevent', 'eventCategory': 'Filters', 'eventAction': fnm, 'eventLabel': location.href, 'eventNoninteraction': true\r\n })\r\n }\r\n}\r\n\r\nfunction InitParamSliderEasy(sliderHtmlId, arr, cv, filtervalue, baseName, disabled) {\r\n var minV = 0;\r\n var maxV = arr[arr.length - 1];\r\n var currentValue = arr.indexOf(cv);\r\n var $stopSlider = true;\r\n $('#min' + sliderHtmlId).prop('checked', (cv !== ''));\r\n $('#' + sliderHtmlId).slider({\r\n step: 0.1,\r\n min: minV,\r\n max: maxV,\r\n value: filtervalue,\r\n slide: function (event, ui) {\r\n var v = (ui.value === 0 ? '' : ui.value + '');\r\n if (arr.indexOf(v) === -1) { console.log('off- ' + ui.value); return false; }\r\n },\r\n create: function (event, ui) {\r\n $(\"#\" + sliderHtmlId + \" .dot span, #\" + sliderHtmlId + \" .last span\").each(function () {\r\n var s = (-1) * $(this).width() / 2;\r\n $(this).css(\"margin-right\", s)\r\n });\r\n },\r\n change: function (event, ui) {\r\n var v = (ui.value === 0 ? '' : ui.value + '');\r\n if (arr.indexOf(v) === -1) { console.log('off- ' + ui.value); return false; }\r\n $('#min' + sliderHtmlId).prop('checked', (v !== ''));\r\n if ((currentValue !== v) && !$stopSlider) {\r\n $('#min' + sliderHtmlId).val(baseName + '|' + v).data(\"value\", v);\r\n $('#max' + sliderHtmlId).val(baseName + '|' + v).data(\"value\", v);\r\n $paramLastF = getLastParamSlider(WordToUrl(baseName));\r\n\r\n PrepareParam();\r\n\r\n if (features.SEOParam) { PrepareSeoUrl(); }\r\n\r\n loadAjaxContent(false);\r\n }\r\n }\r\n });\r\n\r\n if (disabled)\r\n $('#' + sliderHtmlId).slider('disable');\r\n\r\n $stopSlider = false;\r\n}\r\n\r\nfunction FloatingmenuheightGet() {\r\n if ($(\".flow-menu, .floating-menu-wrap\").length) {\r\n // vyska plovouciho menu\r\n $floatingmenuheight = $(\".flow-menu, .floating-menu-wrap\").height();\r\n }\r\n}\r\n\r\nfunction PrepareSeoUrl() {\r\n $urlSeo = \"\";\r\n $paramSeo.length = 0;\r\n $paramF = \"\";\r\n $filterCustomAttr = \"\";\r\n\r\n // hodnoty parametru pro url\r\n $(\"#formFiltersParam input:checkbox:checked:not(:disabled), [class^=filters-tab-param] input:checkbox:checked:not(:disabled)\").each(function () {\r\n if ($(this).data(\"type\") == \"seourl\" && $(this).data(\"catparam\") != \"1\") {\r\n $paramSeo.push({ name: $(this).data(\"name\"), value: $(this).data(\"value\") });\r\n }\r\n\r\n if ($paramF.length > 0) { $paramF += \",\" }\r\n $paramF += WordToUrl($(this).val()?.toString().trim());\r\n });\r\n\r\n // vytvoreni url z parametru\r\n if ($paramSeo.length) {\r\n var $par = $paramSeo.filter(x => x.name).map(x => x.name);\r\n $par = $.grep($par, function (item, index) { return index === $.inArray(item, $par); });\r\n $par.forEach(function (item) {\r\n $urlSeo += ($urlSeo.length ? \"/\" : \"\") + item + \"_\" + $paramSeo.filter(x => x.name === item).map(x => x.value).join(\"+\");\r\n });\r\n }\r\n\r\n // atributy do url\r\n $(\"#formFiltersCustomAttr input:checkbox:checked\").each(function () {\r\n if ($(this).data(\"url\").length && !$(this).is(\":disabled\")) {\r\n $urlSeo += ($urlSeo.length ? \"/\" : \"\") + $(this).data(\"url\");\r\n }\r\n\r\n if ($filterCustomAttr.length > 0) {\r\n $filterCustomAttr += \",\"\r\n }\r\n $filterCustomAttr += $(this).val();\r\n });\r\n\r\n // razeni\r\n var $sortSeo = $sort ?? SortValGet();\r\n if ($sortSeo.length) {\r\n var sortUrl = GetTextDynamic(\"sort_type_\" + $sortSeo + \"_url\");\r\n\r\n if (sortUrl.length) {\r\n $urlSeo += ($urlSeo.length ? \"/\" : \"\") + sortUrl;\r\n }\r\n }\r\n\r\n // strankovani\r\n if ($page > 1 && $urlSeo.length && $urlSeo.substring($urlSeo.length - 1) != \"/\") {\r\n $urlSeo += \"/\";\r\n }\r\n}\r\n\r\nfunction SortValGet() {\r\n var $ret = \"\";\r\n\r\n if ($(\"select[name='sort']\").length > 0) {\r\n $ret = $(\"select[name='sort'] :selected\").val()?.toString();\r\n }\r\n else if ($(\".form-sort-link\").length) {\r\n $ret = $(\".form-sort-link .active[data-sort]\").data(\"sort\");\r\n }\r\n else if ($(\"#hiddensort\").length) {\r\n $ret = $(\"#hiddensort\").val()?.toString();\r\n }\r\n return $ret;\r\n}"]}