{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;AACuD;AACsD;AACrC;AAEvB;AACoC;AACA;AACA;;;AAErF,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,8FAAoB;QAC/B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2KAAqC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;SAChG;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,8FAAoB;QAC/B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,6UAAiD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;SACjH;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,8FAAoB;QAC/B,WAAW,EAAE,CAAC,0DAAS,CAAC;QACxB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;YACtF,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,sHAA0B,EAAE;YAC1D,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,+LAA+C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YACvH,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kOAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;YAC9G,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,8NAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;YACvG,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,s2BAAmD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE;YAC/H,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,oQAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YACnI,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,4RAAsE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE;YAC1J;gBACE,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,sQAA2D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;oBACjI,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,uNAA2D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;oBACjI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2NAA6D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;oBACrI,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2PAA6E,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE;oBACnK,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2MAAqD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;oBACrH,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,mNAAyD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;oBAC7H,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,+OAAuE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;iBACxJ;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2PAA6E,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE;oBACnK,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,sTAAmF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE;oBAC/K,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,iRAAiE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE;iBAC9I;aACF;YACD,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2LAA6C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YACnH;gBACE,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,uQAAmF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE;oBAC/K,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2NAA6D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;iBACtI;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kYAAuD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;oBACvH,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,iZAA+D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;iBACxI;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,qTAAgE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;oBACxI,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,8iBAAgF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE;iBACxK;aACF;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,sOAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;YAC/G,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2NAA6D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE;YAC/I,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,2NAA6D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE;YAClJ,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kQAAyD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;YAC1I,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,+OAAuE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE;YACrK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iFAAc,EAAE;SAC1C;KACF;IACD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iFAAc,EAAE;CAC1C,CAAC;AAMK,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAHjB,iEAAoB,CAAC,MAAM,CAAC,EAC5B,yDAAY;mIAEX,gBAAgB,oFAFjB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFxB,kEAAkE;AAM3D,MAAM,YAAY;IAEvB,YACS,cAA8B,EAC7B,QAAqB,EACrB,SAA2B;QAInC,6BAA6B;QAC7B,0DAA0D;QAC1D,iEAAiE;QACjE,4BAA4B;QAC5B,kBAAkB;QAClB,yEAAyE;QACzE,sBAAsB;QACtB,qEAAqE;QACrE,sBAAsB;QACtB,kCAAkC;QAClC,UAAU;QACV,MAAM;QACN,MAAM;QAlBC,mBAAc,GAAd,cAAc,CAAgB;QAC7B,aAAQ,GAAR,QAAQ,CAAa;QACrB,cAAS,GAAT,SAAS,CAAkB;QAkBnC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,IAAI,EAAE,GAAG,IAAI,UAAU,IAAI,IAAI,EAAE,GAAG,IAAI,UAAU,EAAE;gBACtD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACpD,IAAI,KAAK,GAAG,8BAA8B,CAAC;QAC3C,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,KAAK,GAAG,8BAA8B,CAAC;YACvC,GAAG,GAAG,KAAK,CAAC;SACb;QACD,IAAI,WAAW,GAAG,OAAO;QACzB,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5D,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;;wEAzCU,YAAY;0GAAZ,YAAY;QCbzB,2EAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACC2B;AAEF;AACT;AAEgC;AACQ;AAC6B;AACnD;AAImB;AAE9B;AAEK;AACI;AAEsB;AACA;AACJ;AACG;AAEC;AACb;AAClB;AACuD;AACC;;;;AAnBvG,SAAS,iBAAiB,CAAC,UAAsB;IACtD,OAAO,IAAI,4EAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAsBM,SAAS,iBAAiB,CAAC,mBAA4C;IAC5E,OAAO,GAAG,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;AACvD,CAAC;AA4CM,MAAM,SAAS;IACpB,YACU,cAA8B,EAC/B,SAA2B;QAD1B,mBAAc,GAAd,cAAc,CAAgB;QAC/B,cAAS,GAAT,SAAS,CAAkB;QAElC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACjD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE;gBACtD,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE;oBACvD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjD,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACnB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;kEAdU,SAAS;uGAAT,SAAS,cAFR,wDAAY;4GALb;QACT,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,oEAAc,EAAE,KAAK,EAAE,IAAI,EAAE;QACrE,EAAE,OAAO,EAAE,oEAAiB,EAAE,QAAQ,EAAE,wEAAgB,EAAE,KAAK,EAAE,IAAI,EAAE;QACvE,4GAA4G;KAC7G,YA1BC,qEAAa;QACb,iEAAgB;QAChB,0FAAuB;QACvB,mEAAgB;QAChB,+DAAY;QACZ,iEAAc;QACd,yEAAuB,CAAC;YACtB,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI;YACzD,MAAM,EAAE;gBACN,OAAO,EAAE,iEAAe;gBACxB,UAAU,EAAE,CAAC,iBAAiB,CAAC;gBAC/B,IAAI,EAAE,CAAC,6DAAU,CAAC;aACnB;YACD,yBAAyB,EAAE,EAAE,OAAO,EAAE,2EAAyB,EAAE,QAAQ,EAAE,6FAA2B,EAAE;SACzG,CAAC;oIAeO,SAAS,mBAxClB,wDAAY;QACZ,8FAAoB;QACpB,+FAAoB;QACpB,8FAAoB;QACpB,0FAAe;QACf,6FAAgB;QAChB,kFAAc;QACd,uHAA0B;QAC1B,wHAAoB,aAGpB,qEAAa;QACb,iEAAgB;QAChB,0FAAuB;QACvB,mEAAgB;QAChB,+DAAY;QACZ,iEAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDkD;AACK;AAEM;AACZ;AACf;AAIrB;;;;;;;;;;;;;;;;;;;ICV/B,yEAA6C;IAC3C,4EAAwD;IAC1D,4DAAM;;;IAmBY,qEAAqC;;;IAAhC,4IAAe;;;IAa5B,wEAA2C;IAAA,uDAAqC;;IAAA,4DAAI;;IAAzC,0DAAqC;IAArC,qJAAqC;;;IAChF,wEAA2C;IAAA,uDAChB;;;IAAA,4DAAI;;;IADY,0DAChB;IADgB,2QAChB;;;IAOzB,4EAAiD;IAAA,uDAAkC;;IAAA,4DAAY;;IAA9C,0DAAkC;IAAlC,kJAAkC;;;IAOnF,4EAAiD;IAAA,uDAAkC;;IAAA,4DAAY;;IAA9C,0DAAkC;IAAlC,kJAAkC;;;IAgBnF,4EAAiD;IAAA,uDAAkC;;IAAA,4DAAY;;IAA9C,0DAAkC;IAAlC,kJAAkC;;;IACnF,4EAAgD;IAAA,uDAAuC;;IAAA,4DAAY;;IAAnD,0DAAuC;IAAvC,uJAAuC;;;IAMrF,iFAA+E;IACvE,uDAAoB;IAAA,4DAAO;;;IADvB,qFAAwB;IAC5B,0DAAoB;IAApB,qFAAoB;;;IAG9B,4EAAyD;IACvD,uDACF;;IAAA,4DAAY;;IADV,0DACF;IADE,6JACF;;;IAeE,uFAA4E;IAAA,uDAAa;IAAA,4DAAmB;;;IAA1D,sFAAyB;IAAC,0DAAa;IAAb,8EAAa;;;;;IA3FvG,wEAAmC;IACjC,yEAAsB;IAChB,uDAAsC;;IAAA,4DAAK;IAC/C,4EAAuF;IAA/D,6SAAS,qFAAmB,KAAC;IACnD,0EAAyB;IAAA,iEAAO;IAAA,4DAAO;IAG3C,0EAA8B;IAS8B,qTAAU,4FAA0B,KAAC;IADnF,4DACoF;IACpF,2EAAiC;IAC/B,kIAAqC;IACvC,4DAAM;IAGV,uEAAK;IACI,wDAA8C;;IAAA,4DAAQ;IAC7D,qEAAG;IACD,wDACA;;IAAA,wEAAM;IAAA,wDAA8C;;IAAA,4DAAO;IAKjE,8HAAoF;IACpF,8HAC+B;IACjC,4DAAM;IAEN,0EAA0B;IAEX,wDAAkC;;IAAA,4DAAY;IACzD,wEAAuD;IACvD,6IAA+F;IAEjG,4DAAiB;IAEjB,sFAAsD;IACzC,wDAAiC;;IAAA,4DAAY;IACxD,wEAAuD;IACvD,6IAA+F;IAEjG,4DAAiB;IAEjB,mFAOmB;IAEnB,sFAAmC;IACtB,wDAA6B;;IAAA,4DAAY;IACpD,wEAAuD;IACvD,6IAA+F;IAC/F,6IAAmG;IACrG,4DAAiB;IAEjB,sFAAsD;IACzC,wDAAqC;;IAAA,4DAAY;IAC5D,kFAA4C;IAC1C,gJAEa;IACf,4DAAa;IACb,6IAEY;IACd,4DAAiB;IAEjB,sFAM2E;IAAzE,wVAAuB,qFAAmB,WAAW,kBAAkB,KAAC;;IAC1E,4DAAiB;IAEjB,2EAAwB;IACG,wDAA8B;;IAAA,4DAAM;IAC7D,uFAA0C;IACxC,4JAA4G;IAC9G,4DAAkB;IAM1B,sFAAoB;IACe,8SAAS,qFAAmB,KAAC;IAAkB,wDAA8B;;IAAA,4DAAS;IAEvH,8EAAiH;IAAzG,8SAAS,+EAAa,KAAC;IAC7B,wDACF;;IAAA,4DAAS;IAGf,qEAAe;;;IAxGP,0DAAsC;IAAtC,yJAAsC;IAKtC,0DAAuB;IAAvB,uFAAuB;IAOV,0DAAyB;IAAzB,kFAAyB;IACQ,0DAAwB;IAAxB,iFAAwB;IAGtC,0DAAa;IAAb,gFAAa;IAKhC,0DAA8C;IAA9C,gKAA8C;IAEnD,0DACA;IADA,oKACA;IAAM,0DAA8C;IAA9C,wOAA8C;IAKpC,0DAAmB;IAAnB,sFAAmB;IACnB,0DAAmB;IAAnB,sFAAmB;IAM5B,0DAAkC;IAAlC,sJAAkC;IAEjC,0DAAmC;IAAnC,sGAAmC;IAKpC,0DAAiC;IAAjC,qJAAiC;IAEhC,0DAAmC;IAAnC,sGAAmC;IAK/C,0DAAuB;IAAvB,uFAAuB;IASZ,0DAA6B;IAA7B,iJAA6B;IAE5B,0DAAmC;IAAnC,sGAAmC;IACnC,0DAAkC;IAAlC,qGAAkC;IAInC,0DAAqC;IAArC,uJAAqC;IAEe,0DAAgB;IAAhB,yFAAgB;IAInE,0DAA2C;IAA3C,8GAA2C;IAMvD,0DAA2C;IAA3C,2JAA2C;IASlB,0DAA8B;IAA9B,kJAA8B;IAElB,0DAAa;IAAb,sFAAa;IAQwB,0DAA8B;IAA9B,kJAA8B;IAEvB,0DAAyB;IAAzB,oFAAyB;IAA9C,oFAAoB;IACpF,0DACF;IADE,qKACF;;ADtFC,MAAM,oBAAqB,SAAQ,yFAAc;IAwBtD,YACW,SAA6C,EACtB,IAAgB,EACxC,WAAwB,EACxB,OAA8B,EAC/B,cAA8B,EACrC,SAA2B;QACzB,KAAK,CAAC,SAAS,CAAC,CAAC;QANV,cAAS,GAAT,SAAS,CAAoC;QACtB,SAAI,GAAJ,IAAI,CAAY;QACxC,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAuB;QAC/B,mBAAc,GAAd,cAAc,CAAgB;QA3BvC,gBAAW,GAAG,KAAK,CAAC;QACpB,YAAO,GAAG,KAAK,CAAC;QAChB,gBAAW,GAAG,KAAK,CAAC;QAEpB,YAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAE5B,kBAAa,GAAa,EAAE,CAAC;QAC7B,eAAU,GAAa,EAAE,CAAC;QAE1B,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,YAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAOrB,gBAAW,GAAG,GAAG,CAAC;QAElB,kBAAa,GAAG,KAAK,CAAC;QACtB,kBAAa,GAAG,KAAK,CAAC;IASA,CAAC;IAEvB,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,CAAC;IAAA,CAAC;IAEF,SAAS;QACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,KAAK,EAAE,CAAC,IAAI,EAAE;oBACZ,0FAA4B;oBAC5B,gEAAoB,CAAC,EAAE,CAAC;oBACxB,6CAA6C;oBAC7C,+DAAmB;iBACpB,CAAC;YACF,KAAK,EAAE,CAAC,IAAI,EAAE;oBACZ,0FAA4B;oBAC5B,gEAAoB,CAAC,EAAE,CAAC;oBACxB,6CAA6C;oBAC7C,+DAAmB;iBACpB,CAAC;YACF,WAAW,EAAE,CAAC,IAAI,EAAE,+DAAmB,CAAC;YACxC,KAAK,EAAE,CAAC,IAAI,EAAE;oBACZ,0FAA4B;oBAC5B,gEAAoB,CAAC,EAAE,CAAC;oBACxB,8DAAkB,CAAC,oEAAc,CAAC;iBACnC,CAAC;YACF,aAAa,EAAE,CAAC,IAAI,EAAE,+DAAmB,CAAC;YAC1C,SAAS,EAAE,CAAC,IAAI,EAAE,+DAAmB,CAAC;YACtC,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACnF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,QAAQ,CAAC,WAAmB,EAAE,SAAiB;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAGD,gBAAgB;QACd,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;aACnC,SAAS,CACR,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,aAAa,GAAG,IAAU,CAAC;QAClC,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACT,CAAC;IACD,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;aAC5B,SAAS,CACR,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,UAAU,GAAG,IAAU,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5E,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACT,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAEvE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACnE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,uDAAS,CAAC;oBACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC/C,IAAI,EAAE,KAAK,CAAC,MAAM;oBAClB,IAAI,EAAE,OAAO;oBACb,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,aAAa,CAAC,QAAa;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;YAC3D,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACpC,YAAY,GAAG,IAAI,CAAC;SACrB;QACD,uDAAS,CAAC;YACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAChD,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;SACxD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACvB;QACH,CAAC,CAAC;IACJ,CAAC;IAGD,+BAA+B;IAC/B,kBAAkB,CAAC,MAAW;QAC5B,MAAM,IAAI,GAAS,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACvB;IACH,CAAC;IACD,QAAQ,CAAC,IAAU;QACjB,MAAM,QAAQ,GAAe,IAAI,UAAU,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAgB,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IACD,YAAY,CAAC,IAAU;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACnD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,CAAC,QAAgB;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,SAAS,EAAE;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;;wFA/LU,oBAAoB,wMA0BrB,sEAAe;kHA1Bd,oBAAoB;QCpBjC,gHAEM;QACN,oIA0Ge;;QA7GT,iFAAiB;QAGR,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACE4C;;;;;;;;;;;ICJ3E,yEAA6C;IAC3C,4EAAwD;IAC1D,4DAAM;;;;IAYU,0EACwC;IAAtC,6SAAS,0FAAyB,EAAE,KAAC;IADvC,4DACwC;;;IADJ,2JAA8B;;;IAElE,uEAAsC;IAAA,uDAA8B;;IAAA,4DAAO;;;IAArC,0DAA8B;IAA9B,qJAA8B;;;IAQxE,oEAAmB;IAAA,4DAAC;IAAA,4DAAI;;;IAD1B,uEAAqD;IACnD,iIAAwB;IAAC,uDAAa;IAAA,4DAAO;;;;IAAzC,0DAAa;IAAb,4EAAa;IAAQ,0DAAa;IAAb,uFAAa;;;;IArBlD,yEAA+C;IAEnC,0SAAS,4EAAU,KAAC;IAC1B,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IAE3B,yEAAuB;IAMX,+HACwC;IACxC,iIAA2E;IAC7E,4DAAM;IAIZ,yEAAwC;IAAA,wDAAgB;IAAA,4DAAI;IAC5D,yEAAsD;IACpD,iIAC+C;IACjD,4DAAI;IAKR,2EAA+B;IAEsB,wDAA4C;;IAAA,4DAAM;IAErG,2EAAsB;IAG0B,wDAA6B;;IAAA,4DAAI;IAC3E,yEAA0F;IAAA,wDAAiB;IAAA,4DAAI;IAGnH,2EAAqD;IAEP,wDAAoC;;IAAA,4DAAI;IAClF,yEAAiG;IAC/F,wDAAmD;IAAA,4DAAI;IAW7D,2EAAqD;IAEP,wDAA8B;;IAAA,4DAAI;IAC5E,4EAAkC;IAAA,wDAAuB;IAAA,4DAAO;IAIpE,2EAAqD;IAEP,wDAAqC;;IAAA,4DAAI;IACnF,4EAAkC;IAChC,wDACF;;IAAA,4DAAO;IAGX,2EAAqD;IAEP,wDAAmC;;IAAA,4DAAI;IACjF,4EAAkC;IAChC,wDACF;IAAA,4DAAO;;;IAvEwE,0DAAoC;IAApC,+FAAoC;IASzG,0DAA4B;IAA5B,+FAA4B;IAE3B,0DAA6B;IAA7B,gGAA6B;IAKJ,0DAAgB;IAAhB,oFAAgB;IAE/B,0DAAkB;IAAlB,yFAAkB;IASM,0DAA4C;IAA5C,gKAA4C;IAK/C,0DAA6B;IAA7B,iJAA6B;IAChB,0DAAkC;IAAlC,+JAAkC;IAAC,0DAAiB;IAAjB,qFAAiB;IAKjE,0DAAoC;IAApC,wJAAoC;IAC/C,0DAAiE;IAAjE,qMAAiE;IAC9F,0DAAmD;IAAnD,wIAAmD;IAaX,0DAA8B;IAA9B,kJAA8B;IACtC,0DAAuB;IAAvB,2FAAuB;IAMf,0DAAqC;IAArC,yJAAqC;IAE7E,0DACF;IADE,yKACF;IAK0C,0DAAmC;IAAnC,uJAAmC;IAE3E,0DACF;IADE,sGACF;;ADlEP,MAAM,0BAA0B;IAIrC,YACS,MAAiB,EAChB,OAA8B,EAC/B,SAA2B;QAF3B,WAAM,GAAN,MAAM,CAAW;QAChB,YAAO,GAAP,OAAO,CAAuB;QAC/B,cAAS,GAAT,SAAS,CAAkB;QANpC,gBAAW,GAAG,KAAK,CAAC;IAOhB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAGD,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAChD,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACnD;QACH,CAAC,EACC,CAAC,KAAU,EAAE,EAAE;YACb,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,yBAAyB;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sFAAoB,EAAE;gBACvD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aAChC,CAAC,CAAC;YACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACzC,IAAI,MAAM,EAAE;oBACV,IAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;oGA7CU,0BAA0B;wHAA1B,0BAA0B;QCXvC,yEAAmD;QACjD,sHAEM;QACN,wHA+EM;QACR,4DAAM;;QAnFE,0DAAiB;QAAjB,iFAAiB;QAGI,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;;;;;ACFR;AACoB;;;AAMpD,MAAM,mBAAmB;IAI9B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAFpC,gBAAW,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;IAEV,CAAC;IAEzC,MAAM,CAAC,MAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IACD,UAAU,CAAC,QAAa,EAAE,MAAe;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,+BAA+B,QAAQ,WAAW,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC;;sFAXU,mBAAmB;oHAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACDb,MAAM,cAAc;IAEzB,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;4EALU,cAAc;4GAAd,cAAc;QCN3B,yEAAwB;QACtB,4EAE+D;;QACjE,4DAAM;;QAFF,0DAA2C;QAA3C,oGAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDqB;AACK;AACM;AAGhD;AACoC;AACP;;;;;;;;;;;;;;ICR5D,yEAA6C;IAC3C,4EAAwD;IAC1D,4DAAM;;;IAyBM,4EAA2D;IAAA,uDAAkC;;IAAA,4DAAY;;IAA9C,0DAAkC;IAAlC,kJAAkC;;;;IAxBzG,wEAAmC;IACjC,yEAAsB;IAChB,uDAA0C;;IAAA,4DAAK;IACnD,4EAAuF;IAA/D,wTAAS,oFAAmB,KAAC;IACnD,0EAAyB;IAAA,iEAAO;IAAA,4DAAO;IAG3C,0EAA8B;IAKE,wDAA2E;;IAAA,4DAAK;IACxG,uFAA+F;IAC1D,wDAAiC;;IAAA,4DAAmB;IACvF,wFAAmC;IAAA,wDAAmC;;IAAA,4DAAmB;IAI7F,0EAA0B;IACA,wDAAqC;;IAAA,4DAAK;IAClE,kFAAgB;IACH,wDAA6B;;IAAA,4DAAY;IACpD,2EAAgF;IAChF,0JAAyG;IAC3G,4DAAiB;IAMvB,sFAAoB;IACe,yTAAS,oFAAmB,KAAC;IAC5D,wDAA8B;;IAAA,4DAAS;IAEzC,8EACiD;IADzC,yTAAS,6EAAY,KAAC;IAE5B,wDACF;;IAAA,4DAAS;IAGf,qEAAe;;;IAvCP,0DAA0C;IAA1C,6JAA0C;IAK1C,0DAAuB;IAAvB,uFAAuB;IAKG,0DAA2E;IAA3E,+LAA2E;IAE/E,0DAAgB;IAAhB,yEAAgB;IAAC,0DAAiC;IAAjC,qJAAiC;IAClD,0DAAgB;IAAhB,yEAAgB;IAAC,0DAAmC;IAAnC,uJAAmC;IAKhD,0DAAqC;IAArC,yJAAqC;IAEhD,0DAA6B;IAA7B,iJAA6B;IAE5B,0DAA6C;IAA7C,gHAA6C;IAS7D,0DAA8B;IAA9B,4JAA8B;IAGT,0DAAyB;IAAzB,oFAAyB;IAA9C,oFAAoB;IACpB,0DACF;IADE,wKACF;;ADxBC,MAAM,iCAAkC,SAAQ,yFAAc;IAOnE,YACW,SAA0D,EACnC,IAAgB,EACxC,WAAwB,EACxB,OAA6B,EACrC,SAA2B;QACzB,KAAK,CAAC,SAAS,CAAC,CAAC;QALV,cAAS,GAAT,SAAS,CAAiD;QACnC,SAAI,GAAJ,IAAI,CAAY;QACxC,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAsB;QATvC,gBAAW,GAAG,KAAK,CAAC;QACpB,YAAO,GAAG,KAAK,CAAC;QAEhB,aAAQ,GAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAQ7C,CAAC;IAEvB,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAGD,SAAS;QACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,YAAY,EAAE,CAAC,sEAAiB,CAAC;YACjC,eAAe,EAAE,CAAC,IAAI,EAAE;oBACtB,0FAA4B;oBAC5B,gEAAoB,CAAC,GAAG,CAAC;iBAC1B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,WAAmB,EAAE,SAAiB;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;YAC7D,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,iBAAiB;SACtE,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;gBAC3D,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK;aAClE,CAAC;YAEF,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;gBAC3C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,uDAAS,CAAC;oBACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAChD,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,SAAS;oBACf,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;iBACxD,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,uDAAS,CAAC;oBACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC/C,IAAI,EAAE,KAAK,CAAC,MAAM;oBAClB,IAAI,EAAE,OAAO;oBACb,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;kHA5EU,iCAAiC,uMASlC,qEAAe;+HATd,iCAAiC;QCjB9C,6HAEM;QACN,iJAyCe;;QA5CT,iFAAiB;QAGR,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;;;;;;;ACH1B,MAAM,QAAQ;CAsBpB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa;IACb,6BAAa;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AACM,MAAM,aAAa;CAiCzB;AAEM,MAAM,UAAU;CAWtB;AACD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2CAAyB;IACzB,uCAAqB;AACvB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uDAAgB;IAChB,uDAAgB;AAClB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+DAAc;IACd,2DAAY;AACd,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;;;;;;;;;;;;;;;;;;;;ACtFsC;AACoB;;;AAKpD,MAAM,oBAAoB;IAI/B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAFpC,gBAAW,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;IAEV,CAAC;IAEzC,MAAM,CAAC,MAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;IACD,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,kCAAkC,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,UAAU,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,4BAA4B,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;;wFAjBU,oBAAoB;qHAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN2D;AAE9B;AAKlB;AACoI;;;;;;;;;;;;;;ICKzJ,0EAA6C;IACzC,6EAAwD;IAC5D,4DAAM;;;IAUsB,uEAAiC;IAAA,uDAAmC;;IAAA,4DAAO;;;IAA1C,0DAAmC;IAAnC,0JAAmC;;;;IACpE,0EACqC;IAAjC,yTAAS,sFAAoB,EAAE,KAAC;IADpC,4DACqC;;;IADN,sJAAyB;;;IAOhE,0EAA6E;IAErE,uDACJ;;IAAA,4DAAI;;IADA,0DACJ;IADI,0KACJ;;;IAgBM,uEAAkC;IAAA,uDAAoC;;IAAA,4DAAO;;;IAA3C,0DAAoC;IAApC,4JAAoC;;;;IACtE,0EACsC;IAAlC,yUAAS,uFAAqB,EAAE,KAAC;IADrC,4DACsC;;;IADN,wJAA0B;;;IAY9D,2EAAyE;IACrE,uDACJ;;IAAA,4DAAO;;IADH,0DACJ;IADI,+JACJ;;;IAEA,2EAA2E;IACvE,uDACJ;;IAAA,4DAAO;;IADH,0DACJ;IADI,+JACJ;;;IARF,wEAAqC;IAEnC,0KAEO;IAEP,0KAEO;IACT,qEAAe;;;IAPmB,0DAAuC;IAAvC,2GAAuC;IAIrC,0DAAuC;IAAvC,2GAAuC;;;IAMzE,2EAAyF;IACrF,uDACJ;IAAA,4DAAO;;;IADH,0DACJ;IADI,uHACJ;;;IAEA,2EAA6D;IACzD,uDACJ;;IAAA,4DAAO;;IADH,0DACJ;IADI,6JACJ;;;IARF,wEAA4C;IAE1C,0KAEO;IAEP,0KAEO;IACT,qEAAe;;;IAPoB,0DAAsD;IAAtD,6KAAsD;IAI/C,0DAAmB;IAAnB,uFAAmB;;;IAhCrE,wEAAmD;IAC/C,oEAAiB;IACjB,0EAA+D;IAGrD,yJAA6E;IAC7E,wJACsC;IAC1C,4DAAM;IACN,0EAAkB;IAC2B,uDAAwB;IAAA,4DAAI;IACrE,yEAAuC;IAAA,wDAAwB;IAAA,4DAAI;IAI3E,uEAAK;IACH,2KASe;IACf,2KASe;IACjB,4DAAM;IAEZ,qEAAe;;;IAjCM,0DAAyB;IAAzB,4FAAyB;IAC1B,0DAAwB;IAAxB,2FAAwB;IAIW,0DAAwB;IAAxB,4FAAwB;IAC1B,0DAAwB;IAAxB,4FAAwB;IAKtD,0DAAoB;IAApB,uFAAoB;IAUpB,0DAA2B;IAA3B,8FAA2B;;;IAyC5C,wEAAsD;IACpD,qEAAkD;IAClD,2EAAuD;IACnD,uDACJ;IAAA,4DAAO;IACT,qEAAe;;;IAFT,0DACJ;IADI,oGACJ;;;IAEoB,uDAAmC;;;IAAnC,mJAAmC;;;IAcvD,uEAAoC;IAAA,uDAAqC;;IAAA,4DAAO;;;IAA5C,0DAAqC;IAArC,yJAAqC;;;;IACzE,0EACwC;IAApC,0VAAS,qFAAuB,EAAE,KAAC;IADvC,4DACwC;;;IADN,sJAA4B;;;IAHtE,0EAAwE;IAEhE,+JAAgF;IAChF,8JACwC;IAC5C,4DAAM;IACN,2EAAiD;IAAA,uDAAuB;IAAA,4DAAO;IAC/E,qEAAkF;IAClF,2EAAiD;IAC7C,uDACJ;IAAA,4DAAO;;;IARI,0DAA2B;IAA3B,2FAA2B;IAC5B,0DAA0B;IAA1B,0FAA0B;IAGa,0DAAuB;IAAvB,wFAAuB;IAGpE,0DACJ;IADI,mGACJ;;;IAfZ,wEAAkD;IAC9C,0EAAmB;IACZ,uDAAwC;;IAAA,4DAAI;IAEnD,0EAAyB;IACrB,wJAWM;IAiCV,4DAAM;IACV,qEAAe;;;IAhDJ,0DAAwC;IAAxC,0JAAwC;IAGK,0DAAsB;IAAtB,+FAAsB;;;IAiE1D,2EAAiE;IAAA,uDACzB;;IAAA,4DAAO;;;IADkB,0DACzB;IADyB,2JACzB;;;;IACxC,0EACyC;IAArC,4WAAS,sFAAwB,EAAE,KAAC;IADxC,4DACyC;;;IADN,uJAA6B;;;IAKpE,wEAA+D;IAC3D,qEAAkF;IAClF,2EAAiD;IAAA,uDAAyB;IAAA,4DAAO;IACnF,qEAAe;;;IADoC,0DAAyB;IAAzB,0FAAyB;;;IAG1E,wEAA6C;IAAA,uDAAmC;;IAAA,4DAAI;;IAAvC,0DAAmC;IAAnC,mJAAmC;;;IAdxF,wEAAgE;IAC5D,0EAAsB;IAClB,+KAC+C;IAC/C,6KACyC;IAE7C,4DAAM;IACN,2EAAiD;IAAA,uDAAyB;IAAA,4DAAO;IACjF,+LAGiB;IACf,yQAEc;IACpB,qEAAe;;;;IAdA,0DAA4B;IAA5B,4FAA4B;IAE7B,0DAA2B;IAA3B,2FAA2B;IAIY,0DAAyB;IAAzB,0FAAyB;IAC3D,0DAAkC;IAAlC,gGAAkC;;;;;IAiB3C,wEAA8E;IAC5E,mEAC6D;IAC/D,4DAAI;;;IAHY,uKAA6D;IAClD,0DAAsB;IAAtB,iFAAsB;IAC7C,uKAAsD;;;;IANhE,wEAA+D;IAC3D,iFAC4B;IADN,4YAAU,6FAA6B,IAAP;IAEtD,yRAKc;IAChB,4DAAa;IACb,2EAAsD;IAAA,uDAAyB;IAAA,4DAAO;IACtF,qEAAe;;;;IAVD,0DAAS;IAAT,kEAAS;IAS+B,0DAAyB;IAAzB,0FAAyB;;;IAG7E,wEAA6C;IAAA,uDAAmC;;IAAA,4DAAI;;IAAvC,0DAAmC;IAAnC,mJAAmC;;;IAlBxF,wEAAgE;IAC5D,0EAAsB;IAClB,qEAAmC;IACvC,4DAAM;IACN,2EAAiD;IAAA,uDAAyB;IAAA,4DAAO;IACjF,+LAWiB;IACf,yQAEc;IACpB,qEAAe;;;;IAlBF,0DAA6B;IAA7B,uJAA6B;IAEW,0DAAyB;IAAzB,0FAAyB;IAC3D,0DAAkC;IAAlC,gGAAkC;;;IAvBzD,0EAAuE;IACnE,+KAgBe;IACf,+KAoBe;IACnB,4DAAM;;;IAtCa,0DAA+C;IAA/C,+GAA+C;IAiB/C,0DAA+C;IAA/C,+GAA+C;;;IAhC1E,wEAA+C;IAC3C,0EAAmB;IACZ,uDAAoC;;IAAA,4DAAI;IAW/C,0EAAyB;IACrB,wJAuCM;IAyBV,4DAAM;IACV,qEAAe;;;IA7EJ,0DAAoC;IAApC,sJAAoC;IAYW,0DAAmB;IAAnB,6FAAmB;;;IAyErE,0EAAoE;IAE5D,qEAA0D;IAC9D,4DAAI;;;IAFgB,0DAAa;IAAb,uIAAa;IACc,0DAAY;IAAZ,sIAAY;;;IAG/D,0EAAoE;IAE5D,uEAA4B;IAChC,4DAAI;;;IAFgC,0DAA0B;IAA1B,iFAA0B;IACnD,0DAAY;IAAZ,sIAAY;;;IAczB,uEAAuD;IAAA,uDAAyD;;IAAA,4DAAO;;;IAAhE,0DAAyD;IAAzD,iLAAyD;;;;IAChH,0EAA4J;IAAvD,iUAAS,wFAAsB,CAAC,mBAAmB,EAAE,KAAC;IAA3J,4DAA4J;;;IAAvG,6KAA+C;;;IAmCpG,wEAAmC;IACjC,uDACF;;IAAA,qEAAe;;IADb,0DACF;IADE,2KACF;;;IACA,wEAAkC;IAChC,uDACF;;IAAA,qEAAe;;IADb,0DACF;IADE,2KACF;;;;IARN,0EAA8F;IACxD,6aAAoC;IACtE,2EAAmB;IACjB,uKAEe;IACf,uKAEe;IACjB,4DAAO;;;IANU,0DAAkB;IAAlB,sFAAkB;IAGlB,0DAAiB;IAAjB,qFAAiB;;;IAgB5B,uEAAuC;IAAA,uDAAyC;;IAAA,4DAAO;;;IAAhD,0DAAyC;IAAzC,6JAAyC;;;;IAChF,0EAA4G;IAAvC,oWAAS,wFAA0B,EAAE,KAAC;IAA3G,4DAA4G;;;IAAvE,yJAA+B;;;IAR5E,0EAA2F;IACzF,oEAA0B;IAE1B,sEAAK;IAC2B,uDAAqC;;IAAA,4DAAI;IACvE,0EAAmC;IAE/B,sKAAuF;IACvF,qKAA4G;IAC9G,4DAAM;IACN,2EAAkB;IACyB,wDAA2B;IAAA,4DAAI;IAK9E,iEAAI;IAEJ,uEAAK;IAC2B,wDAAoC;;IAAA,4DAAI;IACtE,yEAAyC;IAAA,wDAAuB;IAAA,4DAAI;IAGtE,iEAAI;IAEJ,uEAAK;IAC2B,wDAAqC;;IAAA,4DAAI;IACvE,yEAAyC;IAEvC,wDACF;;;;IAAA,4DAAI;IAGN,iEAAI;IAEJ,uEAAK;IAC2B,wDAA6B;;IAAA,4DAAI;IAC/D,yEAAyC;IAAA,wDAA8B;IAAA,4DAAI;;;IAjC7C,0DAAqC;IAArC,wJAAqC;IAGxD,0DAA8B;IAA9B,8FAA8B;IAC/B,0DAA6B;IAA7B,6FAA6B;IAGM,0DAA2B;IAA3B,4FAA2B;IAQ1C,0DAAoC;IAApC,wJAAoC;IACzB,0DAAuB;IAAvB,wFAAuB;IAMlC,0DAAqC;IAArC,yJAAqC;IAGjE,0DACF;IADE,yXACF;IAM8B,0DAA6B;IAA7B,iJAA6B;IAClB,0DAA8B;IAA9B,+FAA8B;;;IAtC7E,wEAAkC;IAChC,iKAyCM;;IACR,qEAAe;;;IA1Ca,0DAAoC;IAApC,sKAAoC;;;IAxDpE,0EAA4D;IACnC,uDAAoC;;IAAA,4DAAM;IACjE,0EAA0B;IAGQ,uDAAqC;;IAAA,4DAAI;IACvE,0EAAmC;IAE/B,kJAAuH;IACvH,iJAA4J;IAC9J,4DAAM;IACN,2EAAkB;IACyB,wDAA2C;IAAA,4DAAI;IAK9F,iEAAI;IAEJ,uEAAK;IAC2B,wDAAoC;;IAAA,4DAAI;IACtE,yEAAyC;IAAA,wDAAuC;IAAA,4DAAI;IAGtF,iEAAI;IAEJ,uEAAK;IAC2B,wDAAqC;;IAAA,4DAAI;IACvE,yEAAyC;IAEvC,wDACF;;;;IAAA,4DAAI;IAGN,iEAAI;IAEJ,uEAAK;IAC2B,wDAA6B;;IAAA,4DAAI;IAC/D,yEAAyC;IAAA,wDAA8C;IAAA,4DAAI;IAG7F,iJAWM;IAGN,kKA2Ce;IACjB,4DAAM;;;IAlGiB,0DAAoC;IAApC,uJAAoC;IAIzB,0DAAqC;IAArC,wJAAqC;IAGxD,0DAA8C;IAA9C,kHAA8C;IAC/C,0DAA6C;IAA7C,iHAA6C;IAGV,0DAA2C;IAA3C,gHAA2C;IAQ1D,0DAAoC;IAApC,wJAAoC;IACzB,0DAAuC;IAAvC,4GAAuC;IAMlD,0DAAqC;IAArC,yJAAqC;IAGjE,0DACF;IADE,iaACF;IAM8B,0DAA6B;IAA7B,iJAA6B;IAClB,0DAA8C;IAA9C,mHAA8C;IAGnC,0DAAsC;IAAtC,0GAAsC;IAc7E,0DAAiB;IAAjB,qFAAiB;;;IAuDlC,uEAAqC;IAAA,uDAA0C;;IAAA,4DAAO;;IAAjD,0DAA0C;IAA1C,4JAA0C;;;IAC/E,uEAAoC;IAAA,uDAAyC;;IAAA,4DAAO;;IAAhD,0DAAyC;IAAzC,2JAAyC;;;;IANnF,0EAA8C;IAGxC,6TAAS,mFAAiB,KAAC;IAE3B,gJAAsF;IACtF,gJAAoF;IACtF,4DAAS;;;IAFA,0DAA4B;IAA5B,gGAA4B;IAC5B,0DAA2B;IAA3B,+FAA2B;;;IAOpC,0EAC+C;IAEvC,uDACJ;;IAAA,4DAAI;;IADA,0DACJ;IADI,uPACJ;;;IAKA,uEAA8B;IAC1B,mEAAiE;IACjE,uDACJ;;IAAA,4DAAO;;IADH,0DACJ;IADI,kKACJ;;;IACA,uEAA6B;IACzB,mEAA2D;IAC3D,uDACJ;;IAAA,4DAAO;;IADH,0DACJ;IADI,oKACJ;;;;IAnBR,0EAAkD;IAG9C,+IAKM;IACN,6EAEqE;IAApC,6TAAS,mGAAyB,KAAC;IAChE,gJAGO;IACP,gJAGO;IACX,4DAAS;;;IAhBJ,0DAAwC;IAAxC,6IAAwC;IAOzC,0DAA4B;IAA5B,wFAA4B;IAD9B,qIAA4D;IAEnD,0DAAqB;IAArB,0HAAqB;IAIrB,0DAAoB;IAApB,uHAAoB;;;IA1YvC,wEAA6C;IAEzC,0EAA+B;IAMP,yIAA2E;IAC3E,wIACqC;IACzC,4DAAM;IACN,0EAAkB;IAC2B,wDAAqB;IAAA,4DAAI;IAG1E,0IAIM;IAEV,4DAAM;IACN,iEAAI;IACJ,yEAA0C;IAAA,wDAAoC;;IAAA,4DAAI;IAClF,yEAAyC;IACrC,wDACJ;;;;IAAA,4DAAI;IAGJ,4JAsCe;IACnB,4DAAM;IAEN,2EAAgC;IAExB,wDACA;;IAAA,4EAA4C;IACxC,wDACJ;IAAA,4DAAO;IAcf,2EAAoB;IAGR,wDACJ;;IAAA,4DAAO;IAEP,2EAAqB;IACnB,4JAKe;IACf,sOAAuE;IACzE,4DAAM;IAMlB,2JAkDe;IAGf,2JA+Ee;IAEf,sEAAmC;IAEnC,2EAA0B;IACS,wDAAwB;IAAA,4DAAI;IAE3D,oFAAwE;IACpE,0IAIM;IACN,0IAIM;IACV,4DAAe;IAGnB,4IAoGM;IAEV,4DAAM;IAGN,0IASM;IACN,0IAsBM;IACV,qEAAe;;;;IAzYoB,0DAAwB;IAAxB,2FAAwB;IACzB,0DAAuB;IAAvB,0FAAuB;IAIY,0DAAqB;IAArB,yFAAqB;IAG3B,0DAAgC;IAAhC,mGAAgC;IAQrC,0DAAoC;IAApC,wJAAoC;IAE1E,0DACJ;IADI,uXACJ;IAGe,0DAAkC;IAAlC,4GAAkC;IA2C7C,0DACA;IADA,wKACA;IACI,0DACJ;IADI,2GACJ;IAiBI,0DACJ;IADI,0LACJ;IAGiB,0DAAyB;IAAzB,0FAAyB;IAavC,0DAAiC;IAAjC,+IAAiC;IAqDjC,0DAA8B;IAA9B,yIAA8B;IAoFV,0DAAwB;IAAxB,4FAAwB;IAEL,0DAAqB;IAArB,qFAAqB;IACxB,0DAAuB;IAAvB,8HAAuB;IAKvB,0DAAuB;IAAvB,8HAAuB;IAQ3C,0DAA2B;IAA3B,8FAA2B;IAyGlC,0DAAgB;IAAhB,mFAAgB;IAUhB,0DAAoB;IAApB,uFAAoB;;;AD1XvD,MAAM,2BAA2B;IAkCtC,YACU,SAA2B,EAC3B,OAAsB,EACtB,oBAA0C,EAC1C,mBAAwC,EACxC,MAAiB;QAJjB,cAAS,GAAT,SAAS,CAAkB;QAC3B,YAAO,GAAP,OAAO,CAAe;QACtB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAW;QAjC3B,eAAU,GAAG,KAAK,CAAC;QAEnB,yCAAyC;QAChC,eAAU,GAAG,KAAK,CAAC;QAG5B,gBAAW,GAAG,KAAK,CAAC;QACV,UAAK,GAAG,IAAI,uDAAY,EAAW,CAAC;QAK9C,gBAAW,GAAG,GAAG,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;QACtB,kBAAa,GAAG,KAAK,CAAC;QAEtB,aAAQ,GAAG,KAAK,CAAC;QAEjB,aAAQ,GAAG;YACT,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,kEAAO,CAAC;YAClB,QAAQ,EAAE,WAAW;SACtB,CAAC;QAIF,gBAAW,GAAG,KAAK,CAAC;QASlB,6BAA6B;IAC/B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxC,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzC,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW;QACT,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CACzE,CAAC,IAAS,EAAE,EAAE;gBACZ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,MAAM,GAAG,IAAc,CAAC;iBAC9B;YACH,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;gBACb,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAGD,SAAS,CAAC,IAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,IAAI,CAAC,QAAQ;oBACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS;iBACvD;aACF;YACD,YAAY,EAAE;gBACZ,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,IAAI;aACjB;SACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,MAAe;QACxB,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC;QAEvB,uDAAS,CAAC;YACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACnD,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;YACxD,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;SACvD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;oBAC1F,IAAI,GAAG,GAAG,EAAE;oBACZ,IAAI,MAAM,EAAE;wBACV,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,8CAA8C,CAAC;qBAC7E;yBAAM;wBACL,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,CAAC;qBAC3E;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,uDAAS,CAAC;wBACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;wBAChD,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,SAAS;wBACf,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;qBACxD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAEjB,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClD,CAAC,CAAC;gBACJ,CAAC,EACC,CAAC,KAAU,EAAE,EAAE;oBACb,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,uDAAS,CAAC;wBACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC/C,IAAI,EAAE,KAAK,CAAC,MAAM;wBAClB,IAAI,EAAE,OAAO;wBACb,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;qBACxD,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IAEJ,CAAC;IAID,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6KAAiC,EAAE;YACpE,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SAC9B,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;sGA5JU,2BAA2B;yHAA3B,2BAA2B;QCjBxC,yEAAiE;QAGtC,gJAAS,gBAAY,IAAC;QAAC,4DAAM;QAElD,yEAA6B;QAEF,uDAAyC;;QAAA,4DAAM;QAElE,4EAA6D;QAAvB,mJAAS,gBAAY,IAAC;QACxD,oEAAkD;QACtD,4DAAS;QAEb,yHAEM;QAEN,6IAiZe;QAEnB,4DAAM;;QApaY,gKAAwC;QAO/B,0DAAyC;QAAzC,2JAAyC;QAM1D,0DAAiB;QAAjB,iFAAiB;QAIR,0DAA4B;QAA5B,gGAA4B;;;;;;;;;;;;;;;;;;;;;ACfd;AACoB;;;AAMpD,MAAM,aAAa;IAKtB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAHpC,gBAAW,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;QAClD,iBAAY,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;QACnD,wBAAmB,GAAG,IAAI,iDAAe,CAAc,IAAI,CAAC,CAAC;IACrB,CAAC;IAEzC,aAAa,CAAC,MAAkB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IACD,gBAAgB;IAChB,sBAAsB,CAAC,YAAiB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,8CAA8C,YAAY,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,UAAU,CAAC,EAAU,EAAE,YAAoB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,gCAAgC,EAAE,iBAAiB,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IACxH,CAAC;IACD,MAAM,CAAC,MAAkB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,yBAAyB,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;;0EAnBQ,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAFV,MAAM;;;;;;;;;;;;;;;;;;ACCf,MAAM,eAAe;IAE1B,aAAa,CACX,SAAyB,EACzB,IAA4B,EAC5B,KAA0B;QAE1B,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE;YAC7B,OAAO,SAAS,CAAC,iBAAiB,EAAE,CAAC;SACtC;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;;8EAZU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;ACN6D;AAIlD;;;AAOxB,MAAe,cAAc;IAOlC,YACS,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QAHpC,UAAK,GAAG,IAAI,uDAAY,EAAW,CAAC;IAIhC,CAAC;IAEL,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,iBAAiB;QACf,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,OAAO,uDAAS,CAAC;gBACf,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACnD,yEAAyE;gBACzE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBACvE,mBAAmB;gBACnB,kEAAkE;gBAClE,QAAQ,EAAE,sCAAsC;gBAChD,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;gBACxD,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;gBACtD,cAAc;gBACd,iBAAiB;gBACjB,+BAA+B;gBAC/B,IAAI;aACL,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC;iBACb;qBACI;oBACH,OAAO,KAAK,CAAC;iBACd;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;SACzB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEgD,kBAAkB,CAAC,MAAW;QAC7E,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;;4EApDmB,cAAc;4GAAd,cAAc;0JAAd,8BACd;;;;;;;;;;;;;;;;;;ACZuD;AAE/D,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;AAEtC,SAAS,eAAe;IAE7B,MAAM,mBAAmB,GAAG,IAAI,yEAAgB,EAAE,CAAC;IAEnD,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC/F,mBAAmB,CAAC,aAAa,GAAG,UAAU,CAAC;IAE/C,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IACpE,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;KAAE;IAE9F,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;IAEnC,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,UAAU,GAAG,QAAQ,CAAC;IAE1B,OAAO,GAAG,UAAU,GAAG,CAAC,MAAM,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;AACnF,CAAC;;;;;;;;;;;;;;;;;;AC1B0C;;AAG3C,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAExJ,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAEpL,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AAKnD,MAAM,aAAa;IACxB,SAAS,CAAC,IAAyB,EAAE,OAAoB,IAAI;QAC3D,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;QACzB,MAAM,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,MAAM,IAAI,IAAI,qDAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;aAC5E;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE;gBACpC,MAAM,IAAI,KAAK,CAAC;aACjB;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACxF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aACtE;iBAAM;gBACL,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAC1D;SACF;QAED,IAAI,IAAI,EAAE;YACR,MAAM;gBACJ,IAAI,qDAAQ,CAAC,QAAQ,CAAC;qBACnB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;SACpF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;0EA/BU,aAAa;0HAAb,aAAa;;;;;;;;;;;;;;;;;;ACRnB,MAAM,iBAAiB;IAC5B,SAAS,CAAC,IAAU,EAAE,IAAY;QAChC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,8CAA8C;QAC9C,OAAO,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;IAChC,CAAC;;kFANU,iBAAiB;wHAAjB,iBAAiB;;;;;;;;;;;;;;;;ACHvB,MAAM,2BAA2B;IACpC,MAAM,CAAC,MAAuC;QAC1C,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;ACDM,MAAM,SAAS;IACpB,YACU,MAAc,EACd,qBAA4C;QAD5C,WAAM,GAAN,MAAM,CAAQ;QACd,0BAAqB,GAArB,qBAAqB,CAAuB;IAClD,CAAC;IAEL,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;QAChE,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAO,EAAE;gBAC5D,IAAI,IAAI,EAAE;oBACR,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,EAAE;wBAC7B,IAAI,SAAS,GAAG,EAAE,CAAC;wBACnB,IAAI,SAAS,GAAG,KAAK,CAAC;wBACtB,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;wBACtB,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;wBAChC,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,gBAAgB,EAAC,CAAC,CAAC;wBACxC,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,uBAAuB,EAAC,CAAC,CAAC;wBAC/C,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,kBAAkB,EAAC,CAAC,CAAC;wBAC1C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gCACpC,SAAS,GAAG,IAAI,CAAC;6BAClB;iCAAM;gCACL,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oCACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;wCACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;4CACrC,SAAS,GAAG,IAAI,CAAC;yCAClB;oCACH,CAAC,CAAC,CAAC;iCACJ;6BACF;wBACH,CAAC,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE;4BACb,OAAO,IAAI,CAAC;yBACb;wBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAClC;iBACF;YACH,CAAC,CAAC,CAAC;YACH,4BAA4B;YAC5B,OAAO,IAAI,CAAC;SACb;QAED,8DAA8D;QAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;;kEA9CU,SAAS;0GAAT,SAAS,WAAT,SAAS,mBADI,MAAM;;;;;;;;;;;;;;;;ACFzB,MAAM,eAAe;IAC1B,MAAM,CAAC,YAAY,CAAC,OAAwB;QAC1C,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7B,IAAI,QAAQ,EAAE;YAAE,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;SAAE;QAC7C,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAAE;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,MAAc;QAClD,OAAO,CAAC,OAAwB,EAA2B,EAAE;YAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEvC,OAAO,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK;gBACtE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACpB,CAAC,CAAC,IAAI,CAAC;QACX,CAAC,CAAC;IACJ,CAAC;CACF;;;;;;;;;;;;;;;;;ACZwB;;AAKlB,MAAM,YAAY;IAHzB;QAImC,aAAQ,GAAY,KAAK,CAAC;QAC/C,gBAAW,GAAG,IAAI,uDAAY,EAAO,CAAC;KA0BnD;IAxBG,oBAAoB;IACkB,UAAU,CAAC,GAAQ;QACvD,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,qBAAqB;IACyB,WAAW,CAAC,GAAQ;QAChE,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,gBAAgB;IACyB,MAAM,CAAC,GAAQ;QACtD,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;;wEA3BQ,YAAY;0GAAZ,YAAY;gJAAZ,sBACX,sFADW,uBACV,4EADU,kBAAc;;;;;;;;;;;;;;;;;;;;;ACPpB,MAAM,iBAAiB;IAG5B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF3B,cAAS,GAAY,KAAK,CAAC;QAIP,WAAM,GAAG,KAAK,CAAC;IAFJ,CAAC;IAKzC,QAAQ,CAAC,KAAU;QACjB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAClD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;IACH,CAAC;;kFAdU,iBAAiB;+GAAjB,iBAAiB;+IAAjB,oBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;ACHiB;AACF;;;;;AAOrC,MAAM,gBAAgB;IAC3B,YACU,qBAA4C,EAC5C,MAAc,EACd,QAAqB;QAFrB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;IAC3B,CAAC;IAEL,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAU,CAAC,GAAG,CAAC,EAAE;YAChD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE;gBAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAClE,kDAAkD;iBACnD;aACF;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,UAAU;gBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE;oBAC3C,kBAAkB,EAAE,QAAQ;oBAC5B,gBAAgB,EAAE,KAAK;iBACxB,CAAC,CAAC;aACJ;YAED,qDAAqD;YACrD,OAAO,gDAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;;gFA3BU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB;;;;;;;;;;;;;;;;;;ACLtB,MAAM,UAAU;IAErB,SAAS,CAAC,KAAY,EAAE,UAAkB;QACxC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QACD,UAAU,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAE5C,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACvB,OAAO,EAAE,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;;oEAdU,UAAU;oHAAV,UAAU;;;;;;;;;;;;;;;;;;ACLoD;AACpE,MAAM,cAAe,SAAQ,qEAAiB;IAC1C,MAAM,CAAC,IAAU,EAAE,aAAqB;QAC/C,IAAI,GAAG,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5C,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,IAAI,KAAK,GAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrD,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,aAAa,KAAK,OAAO,EAAE;YAC7B,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;SAClC;QACD,OAAO,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;QAC1B,8BAA8B;IAChC,CAAC;CACF;AACM,MAAM,gBAAgB,GAAmB;IAC9C,KAAK,EAAE;QACL,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;KAC/D;IACD,OAAO,EAAE;QACP,SAAS,EAAE,OAAO;QAClB,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACrD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;SAC/C;QACD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;KACvD;CACF,CAAC;;;;;;;;;;;;;;;;;;ACxBK,MAAM,MAAM;IAGjB,YACU,KAAuB,EACvB,MAAwB;QADxB,UAAK,GAAL,KAAK,CAAkB;QACvB,WAAM,GAAN,MAAM,CAAkB;IAC9B,CAAC;IAEL,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW;QAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;YAClD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,QAAa;QAC1B,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;IACH,CAAC;IAED,iBAAiB,CAAC,EAAe;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;QACvC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAC3C,CAAC;;4DAlCU,MAAM;oGAAN,MAAM;;;;;;;;;;;;;;;;;;;;ACIZ,MAAM,cAAc;IACzB,YAAoB,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAI,CAAC;IAErE,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,uDAAuD;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;QAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAE1D,MAAM,aAAa,GAAG;YACpB,iBAAiB,EAAE,QAAQ;YAC3B,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,QAAQ;SACR,CAAC;QAET,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;YACpC,aAAa,CAAC,aAAa,GAAG,UAAU,WAAW,CAAC,KAAK,EAAE;SAC5D;QACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,GAAQ;QACnB,IAAI,GAAG,EAAE;YACP,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;gBACnB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE;wBAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpC;oBACD,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE;wBAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBACpC;iBACF;aACF;YACD,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;;4EApCU,cAAc;+GAAd,cAAc,WAAd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNkB;AAC7C,0DAA0D;AACJ;AACL;AACM;AACD;AACJ;AACF;AACqB;AACd;AACa;AACX;AACa;AACjB;AACQ;AACN;AACI;AACM;AACoB;AAC1B;AACI;AACD;AACT;AACE;AACF;AACA;AACsD;AAC5C;AACK;AACQ;AACrB;AACE;AACE;AACF;AACW;AACN;AACT;AACE;AACF;AACM;AACA;AACN;AACyB;AACP;AACN;;AAwD1D,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;gHAPd;QACT,EAAE,OAAO,EAAE,wFAA8B,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QAChF,EAAE,OAAO,EAAE,+DAAW,EAAE,QAAQ,EAAE,8DAAc,EAAE;QAClD,EAAE,OAAO,EAAE,oEAAgB,EAAE,QAAQ,EAAE,gEAAgB,EAAE;QACzD,EAAE,OAAO,EAAE,gFAA0B,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;KAC1E,YAlDC,yDAAU;QACV,mBAAmB;QACnB,kEAAgB;QAChB,8DAAc;QACd,4DAAa;QACb,kEAAc;QACd,kFAAqB;QACrB,oEAAc;QACd,iFAAoB;QACpB,sEAAe;QACf,mFAAqB;QACrB,kEAAa;QACb,0EAAiB;QACjB,oEAAc;QACd,wEAAgB;QAChB,8EAAmB;QACnB,qEAAe;QACf,wEAAgB;QAChB,4EAAkB;QAClB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,kEAAa;QACb,uEAAmB;QACnB,4EAAkB;QAClB,iFAAoB;QACpB,yFAAwB;QACxB,oEAAc;QACd,mEAAe;QACf,sEAAe;QACf,wEAAgB;QAChB,sEAAe;QACf,iFAAoB;QACpB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,wEAAgB;QAChB,wEAAgB;QAChB,kEAAa;QACb,8DAAY;QACZ,oEAAe;QACf,4EAAgB;mIASP,cAAc,cApDvB,yDAAU;QACV,mBAAmB;QACnB,kEAAgB;QAChB,8DAAc;QACd,4DAAa;QACb,kEAAc;QACd,kFAAqB;QACrB,oEAAc;QACd,iFAAoB;QACpB,sEAAe;QACf,mFAAqB;QACrB,kEAAa;QACb,0EAAiB;QACjB,oEAAc;QACd,wEAAgB;QAChB,8EAAmB;QACnB,qEAAe;QACf,wEAAgB;QAChB,4EAAkB;QAClB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,kEAAa;QACb,uEAAmB;QACnB,4EAAkB;QAClB,iFAAoB;QACpB,yFAAwB;QACxB,oEAAc;QACd,mEAAe;QACf,sEAAe;QACf,wEAAgB;QAChB,sEAAe;QACf,iFAAoB;QACpB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,wEAAgB;QAChB,wEAAgB;QAChB,kEAAa;QACb,8DAAY;QACZ,oEAAe;QACf,4EAAgB;;;;;;;;;;;;;;;;;;;;;;;;AC5F+C;AAEpC;AAG+B;AACP;;;;AAIhD,MAAM,yBAAyB;IAClC,YAAoB,QAA2C;QAA3C,aAAQ,GAAR,QAAQ,CAAmC;IAC/D,CAAC;IACD,YAAY,CAAC,OAA2B,EAAE,IAAwC;QAC9E,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SACxD;aAAM;YACH,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1F;IACL,CAAC;CACJ;AAOM,MAAM,iCAAiC;IA0D1C,YACY,IAAuB,EACJ,SAAoB,EAC3B,WAAmB,EACnB,gBAAoC;QAExD,+EAA+E;QAC/E,2BAA2B;QAC3B,gCAAgC;QAChC,MAAM;QACN,8EAA8E;QAC9E,4BAA4B;QAC5B,gCAAgC;QAChC,MAAM;QAZE,SAAI,GAAJ,IAAI,CAAmB;QACJ,cAAS,GAAT,SAAS,CAAW;QAC3B,gBAAW,GAAX,WAAW,CAAQ;QACnB,qBAAgB,GAAhB,gBAAgB,CAAoB;QA5DpC,OAAE,GAAG,aAAa,iCAAiC,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,gBAAW,GAAG,EAAE,CAAC;QAQvD,eAAU,GAAG,KAAK,CAAC;QAEX,8BAAyB,GAAsB,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC3F,wBAAwB;QACxB,wBAAwB;QAExB,iBAAY,GAAG,IAAI,yCAAO,EAAQ,CAAC;QACnC,YAAO,GAAG,KAAK,CAAC;QAoBR,cAAS,GAAG,KAAK,CAAC;QAQlB,cAAS,GAAY,KAAK,CAAC;QA4B/B,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,qEAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACnE,MAAM,QAAQ,GAAG,CAAC,KAAK,UAAU,CAAC;gBAClC,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;oBAC7B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;oBAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;iBAC5B;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,qEAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAClE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,qEAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAvFD,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;eACnD,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAUD,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClG,CAAC;IAED,IACI,WAAW,KAAa,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,KAAa;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAGD,IACI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,KAAc;QACvB,IAAI,CAAC,SAAS,GAAG,4EAAqB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAGD,IACI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,KAAc;QACvB,IAAI,CAAC,SAAS,GAAG,4EAAqB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAGD,IACI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,CAAM;QACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAyCD,WAAW,KAAK,CAAC;IAEjB,SAAS;QAEL,sFAAsF;QACtF,uFAAuF;QACvF,6FAA6F;QAC7F,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE5B,CAAC;IAED,gBAAgB;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,yBAAyB,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvD,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC5B;IACL,CAAC;IAED,iBAAiB,CAAC,GAAa;QAC3B,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpC;IACL,CAAC;IAED,gBAAgB,CAAC,KAAiB;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACpB;IAEL,CAAC;;AApIM,wCAAM,GAAG,CAAC,CAAC;kHADT,iCAAiC;+HAAjC,iCAAiC;;;2OAF/B,CAAC,EAAE,OAAO,EAAE,6EAAmB,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;;;;;;;;;;;;;;;;;ACpB1F,MAAM,mBAAmB;IAkB9B,yDAAyD;IACzD,YAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAjBxB,aAAQ,GAAQ,IAAI,CAAC;QAEtB,mBAAc,GAAG;YACvB,WAAW;YACX,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,KAAK;YACL,WAAW;YACX,YAAY;YACZ,OAAO;YACP,MAAM;YACN,OAAO;SACR,CAAC;QAGA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;YAAC,OAAO;SAAE;QAG7B,wCAAwC;IAC1C,CAAC;IAGD,SAAS,CAAC,CAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;YAAC,OAAO;SAAE;QAC7B,IACE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,yDAAyD;YACpG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACzD,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACzD,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACzD,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YACzD,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAC9D,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAC9D,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAC9D,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,qBAAqB;UAC3D;YACA,mCAAmC;YACnC,OAAO;SACR;QACD,mDAAmD;QACnD,IACE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,EACnC;YACA,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;IAGD,OAAO,CAAC,KAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;YAAC,OAAO;SAAE;QAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,WAAW,GAAW,KAAK,CAAC,aAAc;aAC7C,OAAO,CAAC,YAAY,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;QACjD,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAGD,MAAM,CAAC,KAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;YAAC,OAAO;SAAE;QAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,6BAA6B;QAC7B,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;;sFArEU,mBAAmB;iHAAnB,mBAAmB;qJAAnB,qBAAiB,qFAAjB,mBAAe,mFAAf,kBAAc;;;;;;;;;;;;;;;;;ACLpB,MAAM,QAAQ;;AACZ,cAAK,GAAG,uDAAuD;AAC/D,cAAK,GAAG,cAAc,CAAC;AACvB,cAAK,GAAG,0CAA0C,CAAC;AACnD,sBAAa,GAAG,iBAAiB,CAAC;AAClC,qBAAY,GAAG,2BAA2B,CAAC;AAC3C,eAAM,GAAG,UAAU,CAAC;AACpB,cAAK,GAAG,gCAAgC,CAAC;AACzC,iBAAQ,GAAG,8DAA8D,CAAC;AAC1E,sBAAa,GAAG,+BAA+B,CAAC;AAChD,sBAAa,GAAG,+BAA+B,CAAC;AAChD,gBAAO,GAAG,mFAAmF,CAAC;AAC9F,yBAAgB,GAAG,8CAA8C;AACjE,yBAAgB,GAAG,+EAA+E;AAClG,cAAK,GAAG,gDAAgD;AACxD,qBAAY,GAAG,4DAA4D;AAC3E,oBAAW,GAAG,SAAS;;;;;;;;;;;;;;;;;;ACXzB,MAAM,cAAc;IAEzB;QADS,SAAI,GAAW,EAAE,CAAC;IACX,CAAC;IAEkB,OAAO,CAAC,MAAW;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,IAAI,KAAK,GAAG,QAAQ,GAAG,wBAAwB,CAAC;QAChD,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACtD,uBAAuB;QACvB,sDAAsD;QACtD,iBAAiB;QACjB,IAAI;QACJ,MAAM,QAAQ,GAAQ,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACxE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,GAAG;;oDAEE,GAAG,KAAK,GAAG;cACjD,GAAG,QAAQ,CAAC,KAAK,GAAI,UAAU,CAAC,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,SAAS,CAAC,CAAC;QACvE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;QACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,2BAA2B;QAE7C,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;QACF,oBAAoB;QAEpB,eAAe;IAEjB,CAAC;;4EApCU,cAAc;4GAAd,cAAc;4IAAd,mBAAe;;;;;;;;;;;;;;;;;;;;;ACCrB,MAAM,oBAAoB;IAE/B,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAC5C,CAAC;IAED,SAAS,CAAC,CAAS;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;;wFAPU,oBAAoB;oIAApB,oBAAoB;;;;;;;;;;;;;;;;;;ACD1B,MAAM,aAAa;IAExB,SAAS,CAAC,IAAY,EAAE,MAAe;QACrC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC;QACtB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;QAEzB,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;YACnC,yCAAyC;YACzC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC;YAEhD,4CAA4C;YAC5C,OAAO,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE;gBACjD,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,SAAS,KAAK,CAAC,CAAC;oBAAE,MAAM;gBAC5B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;aACpE;YACD,SAAS,IAAI,OAAO,CAAC;SACtB;aAAM;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACf,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C;YACD,IAAI,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACnC,SAAS,IAAI,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC1C,SAAS,IAAI,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,CAAS;QACb,MAAM,QAAQ,GAAG,yEAAyE,GAAG,yCAAyC,CAAC;QACvI,MAAM,QAAQ,GAAG,yCAAyC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;QAC1E,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;;0EAzCU,aAAa;0HAAb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACH+F;AAEtD;;;;;;;;;;;;ICFjE,iFAAgF;;;ADU3E,MAAM,oBAAoB;IAQ/B,YACS,UAA6B,EAC5B,qBAA4C,EAC5C,QAAqB,EACrB,SAA2B,EAC5B,MAAc;QAJd,eAAU,GAAV,UAAU,CAAmB;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,aAAQ,GAAR,QAAQ,CAAa;QACrB,cAAS,GAAT,SAAS,CAAkB;QAC5B,WAAM,GAAN,MAAM,CAAQ;QAZvB,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAG,KAAK,CAAC;QAIpB,kBAAa,GAAmB,EAAE,CAAC;QASjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YACrC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,wCAAwC;QACxC,yBAAyB;QACzB,kBAAkB;QAClB,iCAAiC;QACjC,QAAQ;QACR,QAAQ;IAEV,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CAAC,4CAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,0DAAa,CAAC,CAAC;aACrD,SAAS,CAAC,WAAW,CAAC,EAAE;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,GAAG,KAAK,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;QAGL,IAAI,CAAC,WAAW,GAAG,+CAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,+CAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACrD,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBAC7H,kBAAkB,EAAE,QAAQ;gBAC5B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YACH,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACpC,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;oBACnC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;iBACzB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBAC3G,kBAAkB,EAAE,QAAQ;gBAC5B,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;IACnE,CAAC;IAED,uEAAuE;IACvE,qBAAqB,CAAC,KAAkB;QACtC,IAAI,KAAK,YAAY,4DAAe,EAAE;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,KAAK,YAAY,0DAAa,EAAE;YAClC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QAED,2GAA2G;QAC3G,IAAI,KAAK,YAAY,6DAAgB,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QACD,IAAI,KAAK,YAAY,4DAAe,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,GAAG,KAAK,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;SACjD;IACH,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;;wFAzGU,oBAAoB;kHAApB,oBAAoB;oJAApB,oBAAgB;;QCX7B,yEAA2B;QACzB,0IAAgF;QAClF,4DAAM;QAEN,yEAA0B;QAKlB,4EAAmD;QACrD,4DAAM;QAEN,yEAA8B;QAE5B,wEAAyB;QACzB,yEAAiC;QAC/B,4EAA+B;QACjC,4DAAM;;QAhB4B,0DAAmB;QAAnB,mFAAmB;QAKtB,0DAAgE;QAAhE,oLAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPvB;AAKhC;AAC+B;AAKhD;;;;;;;;;;;;;;;;ICgBjB,0EAAmD;IACjD,6EAAwD;IAC1D,4DAAM;;;IAEJ,0EAA6E;IAC3E,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,iLACF;;;;;IAWM,wEAA4D;IAC1D,uEAAmG;IACrG,4DAAI;;;;;IAFsB,6IAAiC;IAC3C,0DAAiC;IAAjC,iFAAiC;;;;IAEjD,wEAA0G;IACxG,uEAAmG;IACrG,4DAAI;;;;;IAF4B,4KAAyE;IACzF,0DAAiC;IAAjC,iFAAiC;;;;IAEjD,wEAA+D;IAC7D,uEAAmG;IACrG,4DAAI;;;;;IAF2B,6IAA+B;IAC9C,0DAAiC;IAAjC,iFAAiC;;;;;IAEjD,wEAC2D;IACzD,uEAAmG;IACrG,4DAAI;;;;;IAH+B,6IAA0C;IAE7D,0DAAiC;IAAjC,iFAAiC;;;IAEjD,oEAAoB;IAClB,uEAAmG;IACrG,4DAAI;;;;;IADY,0DAAiC;IAAjC,iFAAiC;;;;;IAjBrD,0EAAiH;IAAnC,yXAA4B,KAAK,KAAC;IAE9G,4EAAkD;IAChD,qHAEI;IACJ,qHAEI;IACJ,qHAEI;IACJ,qHAGI;IACJ,qHAEI;IACN,qEAAe;IAEjB,4DAAM;;;IArBuC,4JAAgC;IAE7D,0DAAmC;IAAnC,+FAAmC;IAC3C,0DAAoB;IAApB,gFAAoB;IAGpB,0DAA0B;IAA1B,sFAA0B;IAG1B,0DAAyB;IAAzB,qFAAyB;IAGzB,0DAA6B;IAA7B,yFAA6B;;;;IAnBvC,0EAM6B;IAA3B,mSAAY,+EAAa,KAAC;IAC1B,mHAqBM;IACR,4DAAM;;;IA1BJ,+EAAsB;IAIC,0DAAoB;IAApB,6FAAoB;;;;IAiC/C,0EAA2G;IAAxC,oSAAS,2FAAyB,EAAE,KAAC;IAAxG,4DAA2G;;;IAAvE,4JAA8B;;;IAClE,sEAA4F;;;;IAAtD,kOAA8C;;;;;;IAJ1F,0EAAqG;IAG/F,mHAA2G;IAC3G,qHAA4F;IAC9F,4DAAM;IACN,0EAAuB;IACD,uDAA2D;;IAAA,4DAAO;IAI1F,0EAAsD;IAG9C,8DAAgD;IAAhD,2EAAgD;IAC9C,uEAEmB;IACrB,4DAAM;IAAA,wDACR;;IAAA,4DAAI;IACN,+DAAW;IAAX,0EAAW;IACP,8DAAgD;IAAhD,2EAAgD;IAC9C,uEAEmB;IACrB,4DAAM;IAAA,wDACR;;IAAA,4DAAI;IACN,+DAAI;IAAJ,sEAAI;IACC,4RAAS,0EAAQ,KAAC;IACnB,8DAAgE;IAAhE,2EAAgE;IAC9D,uEAEoD;IACtD,4DAAM;IAAA,wDACR;;IAAA,4DAAI;;;IA/BA,0DAA4B;IAA5B,+FAA4B;IAC3B,0DAA6B;IAA7B,gGAA6B;IAGhB,0DAA2D;IAA3D,8LAA2D;IAMxE,0DAA0B;IAA1B,8IAA0B;IAKvB,0DACR;IADQ,kKACR;IACY,0DAAiC;IAAjC,8IAAiC;IAKrC,0DACR;IADQ,uKACR;IAOQ,0DACR;IADQ,8JACR;;;IAWd,wEAAiB;IAAA,uDAA0B;IAAA,4DAAI;IAAA,2EAAmB;IAChE,uDACF;;IAAA,4DAAO;;;IAFU,0DAA0B;IAA1B,2FAA0B;IACzC,0DACF;IADE,4LACF;;;ADrGK,MAAM,eAAe;IAsB1B,YACU,MAAc,EACf,SAA2B,EAC1B,QAAqB,EACtB,SAAoB,EACpB,UAA6B,EAC5B,qBAA4C,EAC5C,oBAA0C,EAC1C,cAA8B;QAP9B,WAAM,GAAN,MAAM,CAAQ;QACf,cAAS,GAAT,SAAS,CAAkB;QAC1B,aAAQ,GAAR,QAAQ,CAAa;QACtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAmB;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;QA7BxC,aAAQ,GAAG,KAAK,CAAC;QAEP,mBAAc,GAAG,IAAI,uDAAY,EAAE,CAAC;QAC9C,uBAAkB,GAAW,CAAC,CAAC;QAC/B,gBAAW,GAAc,IAAI,0DAAI,EAAE,CAAC;QACpC,aAAQ,GAAG,KAAK,CAAC;QACjB,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,KAAK,CAAC;QACrB,eAAU,GAAG,CAAC,CAAC;QACf,aAAQ,GAAG,EAAE,CAAC;QACd,cAAS,GAAW,CAAC,CAAC;QACtB,qBAAgB,GAAG,KAAK,CAAC;QACzB,wBAAmB,GAAQ;YACzB,wBAAwB,EAAE,CAAC;YAC3B,UAAU,EAAE,CAAC;SACd,CAAC;QACF,sBAAiB,GAAmB,EAAE,CAAC;QACvC,uBAAkB,GAAG,IAAI,2EAAkB,EAAE,CAAC;QAC9C,iBAAY,GAAG,EAAE,CAAC;QAYhB,yCAAyC;QACzC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;QAC/D,8EAA8E;QAC9E,iDAAiD;IACnD,CAAC;IACD,MAAM,CAAC,OAAwB;QAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,uDAAS,CAAC;YACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,CAAC;YACzD,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IAER,CAAC;IACD,WAAW;IAEX,CAAC;IACD,UAAU;IACV,kBAAkB,CAAC,OAAwB;QACzC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,YAAY,CAAC,GAAW;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,UAAU;IACV,cAAc;QACZ,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAC7C,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACxC;aAAM;YACL,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACxC;QACD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB;IAChB,0BAA0B;QACxB,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAC,SAAS,CAC9D,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,GAAG,MAAM,CAAC;QAC7D,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,6BAA6B;QAC3B,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,EAAE,CAAC,SAAS,CACjE,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACxD,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,qBAAqB;QACnB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,yDAAyD;QACzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IACD,gBAAgB,CAAC,MAAM,GAAG,IAAI;QAC5B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAC3E,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5F,CAAC,EAAE,GAAG,CAAC,EAAE;YACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC3C,KAAK,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;IACzC,CAAC;;8EAlIU,eAAe;6GAAf,eAAe;QCjB5B,yEAA6B;QAEA,oIAAS,mBAAe,IAAC;QAChD,oEAA2D;QAC7D,4DAAM;QACN,yEAAyB;QACvB,oEAA6C;QAC/C,4DAAM;QACN,yEAA4B;QACF,kIAAS,oBAAgB,IAAC;QAChD,uDACF;;QAAA,4DAAI;QAEN,0EAA+B;QAGnB,sIAAS,2BAAuB,IAAC;QACrC,4EAAiC;QAAA,wDAAkD;QAAA,4DAAO;QAC1F,sEACoE;QACtE,4DAAO;QACP,2EAAoD;QAE5C,wDAAwC;;QAAA,4DAAK;QAGnD,2EAAmC;QACjC,8GAEM;QACN,2EAA6B;QAC3B,8GAEM;QACN,8GA6BM;QACR,4DAAM;QAMd,0EAAwC;QACtC,gHAsCM;QACR,4DAAM;QAKZ,0MAIc;;QA7GN,0DACF;QADE,+JACF;QAMuC,0DAAkD;QAAlD,iHAAkD;QAEjF,0DAAiE;QAAjE,6LAAiE;QAI7D,0DAAwC;QAAxC,0JAAwC;QAItC,0DAAkB;QAAlB,kFAAkB;QAGnB,0DAAuB;QAAvB,oFAAuB;QACkB,0DAA+B;QAA/B,+FAA+B;QAIxE,0DAA8B;QAA9B,8FAA8B;QAoCnC,0DAAiB;QAAjB,iFAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEkD;;;;;;;;;;ICMvE,wEAAsF;IAElF,qEAAkD;;IAClD,0EAA0B;IAClB,uDAAc;IAAA,4DAAO;IAC3B,2EAAmB;IAAA,uDAAoB;IAAA,4DAAO;;;IALjD,gGAA2B;IAErB,0DAAsC;IAAtC,kNAAsC;IAEnC,0DAAc;IAAd,8EAAc;IACD,0DAAoB;IAApB,oFAAoB;;;IAiBzC,wEAA4C;IAE1C,yEAAqB;IAEO,uDAAa;IAAA,4DAAO;IAIlD,qEAAe;;;IALR,0DAA0B;IAA1B,+FAA0B;IACH,0DAAa;IAAb,6EAAa;;;;IAjB/C,wEAA+C;IAC7C,wEAAwD;IAArD,0YAAS,oFAAgB,KAAC;IAC3B,0EAAwB;IACtB,qEAAkD;;IAClD,0EAA0B;IAClB,uDAAc;IAAA,4DAAO;IAC3B,2EAAmB;IAAA,uDAAoB;IAAA,4DAAO;IAGlD,yEAA0B;IAAA,uEAAW;IAAA,4DAAI;IAE3C,0EAAqB;IAEnB,8JAQe;IAEjB,4DAAK;IACP,qEAAe;;;IArBJ,0DAAsC;IAAtC,kNAAsC;IAEnC,0DAAc;IAAd,8EAAc;IACD,0DAAoB;IAApB,oFAAoB;IAOb,0DAAY;IAAZ,yGAAY;;;IAxBlD,wEAAuC;IACrC,qEAA6D;IAC3D,uHAQI;IACJ,8IAwBe;IACjB,4DAAK;IACP,qEAAe;;;;IApCT,0DAAwD;IAAxD,yHAAwD;IAC1B,0DAA0B;IAA1B,yFAA0B;IAS3C,0DAA8B;IAA9B,6FAA8B;;;ADChD,MAAM,gBAAgB;IAI3B,YACS,UAA6B,EAC7B,cAA8B,EAC9B,qBAA4C,EAC5C,MAAc;QAHd,eAAU,GAAV,UAAU,CAAmB;QAC7B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAQ;QAPvB,QAAG,GAAU,EAAE,CAAC;QAChB,iBAAY,GAAmB,IAAI,CAAC;IAOhC,CAAC;IAEL,QAAQ;QACN,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC1C,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;YACnB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAGD,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,SAAS,CACrC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,GAAG,GAAG,IAAa,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,GAAG,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBACrC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;wBAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;wBACzB,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;wBACpB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;wBACvB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;oBAC1B,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;YACb,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,IAAe;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,iBAAiB,CAAC,IAAe;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,aAAa;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC9C,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC/C,CAAC;;gFA1EU,gBAAgB;8GAAhB,gBAAgB;QCnB7B,yEAAmF;QAE/E,oEAAiE;QAEnE,4DAAM;QACN,yEAA+B;QAE3B,8HAqCe;QACjB,4DAAK;QAEP,yEAA4B;QAErB,gFAAe;QAAA,4DAAI;QACtB,wDACF;;QAAA,4DAAI;QAGR,0EAA+G;QAA1B,sIAAS,mBAAe,IAAC;QAAC,4DAAM;;QAtD1F,mLAAuD;QAO7C,0DAAM;QAAN,4EAAM;QA2CrC,0DACF;QADE,2KACF;QAGC,0DAAuD;QAAvD,mLAAuD;wfD5C9C;YACV,4DAAO,CAAC,kBAAkB,EAAE;gBAC1B,0DAAK,CAAC,UAAU,EAAE,0DAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5E,0DAAK,CAAC,WAAW,EAAE,0DAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9E,+DAAU,CAAC,wBAAwB,EACjC,4DAAO,CAAC,sCAAsC,CAAC,CAAC;aACnD,CAAC;SACH;;;;;;;;;;;;;;;;;;;;AEhBsI;;;;;AAMlI,MAAM,oBAAoB;IAI/B,YACS,MAAc,EACb,cAA8B;QAD/B,WAAM,GAAN,MAAM,CAAQ;QACb,mBAAc,GAAd,cAAc,CAAgB;QALxC,aAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACpD,kBAAa,GAAY,KAAK,CAAC;QAM7B;;eAEO;IACT,CAAC;IAED,QAAQ;IACR,CAAC;IAED,uEAAuE;IACvE,qBAAqB,CAAC,KAAkB;QACtC,IAAI,KAAK,YAAY,4DAAe,EAAE;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,KAAK,YAAY,0DAAa,EAAE;YAClC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QAED,2GAA2G;QAC3G,IAAI,KAAK,YAAY,6DAAgB,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QACD,IAAI,KAAK,YAAY,4DAAe,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IACH,CAAC;IAED,cAAc;QACZ,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjF,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;QACrB,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,EAAE,EACF;YACE,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,WAAW,EAAE,MAAM;YACnB,mBAAmB,EAAE,OAAO,EAAE,iDAAiD;SAChF,CAAC,CAAC;QACL,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;;wFAvDU,oBAAoB;kHAApB,oBAAoB;QCPjC,yEAA2E;QAChC,4IAAS,oBAAgB,IAAC;QACjE,uDACF;;QAAA,4DAAS;QACT,yEAAkB;QAEd,oEAAiD;QACnD,4DAAM;QACN,yEAA0B;QACxB,2EAA+B;QACjC,4DAAM;;QARN,0DACF;QADE,+JACF;;;;;;;;;;;;;;;;;;;ACFuH;;;AAMlH,MAAM,oBAAoB;IAI/B,YACS,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAJvB,aAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACpD,kBAAa,GAAY,KAAK,CAAC;QAK7B;;eAEO;IACT,CAAC;IAED,QAAQ;IACR,CAAC;IAED,uEAAuE;IACvE,qBAAqB,CAAC,KAAkB;QACtC,IAAI,KAAK,YAAY,4DAAe,EAAE;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,KAAK,YAAY,0DAAa,EAAE;YAClC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QAED,2GAA2G;QAC3G,IAAI,KAAK,YAAY,6DAAgB,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;QACD,IAAI,KAAK,YAAY,4DAAe,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IACH,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACxC;aAAM;YACL,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACxC;QACD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;;wFA9CU,oBAAoB;kHAApB,oBAAoB;QCPjC,2EAA+B;;;;;;;;;;;;;;;;;;ACAxB,MAAM,eAAe;CAM3B;AAEM,MAAM,UAAU;CAKtB;;;;;;;;;;;;;;;;;;;;ACbM,MAAM,MAAM;CAUlB;AACM,MAAM,QAAQ;CAapB;AAEM,MAAM,SAAS;CAMrB;AAEM,MAAM,YAAY;CAMxB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,wCAAuB;IACvB,sCAAqB;AACvB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;;;;;;;;;;;;;;;;;;AC7CM,MAAM,YAAY;CAQxB;AACM,MAAM,kBAAkB;CAM9B;AACD,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,iCAAa;IACb,6CAAyB;IACzB,uDAAmC;IACnC,2CAAuB;IACvB,uCAAmB;IACnB,uCAAmB;IACnB,+CAA2B;IAC3B,mCAAe;IACf,iDAA6B;AAC/B,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;;;;;;;;;;;;;;;;AC1BM,MAAM,IAAI;CAQhB;;;;;;;;;;;;;;;;;;;ACP8B;AACQ;;AAKhC,MAAM,cAAc;IAIzB;QAHQ,cAAS,GAAG,IAAI,yCAAO,EAA+B,CAAC;QACxD,YAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,qDAAK,EAAE,CAAC,CAAC;QAG3D,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,GAAW,EAAE,IAAS;QACjC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,GAAQ;QACnB,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK;QACX,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,oBAAoB,CAAC,KAAmB;QAC9C,IAAI,KAAK,CAAC,WAAW,IAAI,YAAY,EAAE;YACrC,IAAI,CAAC,CAAC;YACN,IAAI;gBAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAAE;YAC7D,OAAO,CAAC,EAAE;gBAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;aAAE;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACpE;IACH,CAAC;IAEO,IAAI;QACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;;4EAtCU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;ACHmB;AACF;AAGsB;AAChB;;;;AAIpC,MAAM,qBAAqB;IAOhC,YACU,IAAgB,EAChB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAQ;QAPxB,eAAU,GAAG,IAAI,iDAAe,CAAM,KAAK,CAAC,CAAC;QAC7C,0BAAqB,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;QAErD,uBAAkB,GAAiC,IAAI,iDAAe,CAAc,IAAI,CAAC,CAAC;QAM/F,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClC;IACH,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,QAAgB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,GAAG,4EAAkB,qBAAqB,EAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aACnB,IAAI,CAAC,mDAAG,CAAC,IAAI,CAAC,EAAE;YACf,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,aAAa;QACX,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,qCAAqC,GAAG,KAAK,CAAC,CAAC;IAC3F,CAAC;IACD,gBAAgB,CAAC,MAAc,EAAE,KAAa;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,gCAAgC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,aAAa,CAAC,MAAc,EAAE,KAAa,EAAE,WAAmB,EAAE,SAAkB;QAClF,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,iCAAiC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;SAC/G;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,6BAA6B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;SAC3G;IACH,CAAC;IACD,cAAc,CAAC,WAAmB,EAAE,WAAmB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,8BAA8B,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,sBAAsB,CAAC,MAAc,EAAE,KAAa;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,2BAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,cAAc,CAAC,MAAc,EAAE,KAAa;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,8BAA8B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,qBAAqB;IACrB,sDAAsD;IACtD,+FAA+F;IAC/F,mCAAmC;IACnC,qCAAqC;IACrC,6BAA6B;IAC7B,4CAA4C;IAC5C,8DAA8D;IAC9D,yBAAyB;IACzB,2BAA2B;IAC3B,eAAe;IACf,kBAAkB;IAClB,qBAAqB;IACrB,QAAQ;IACR,IAAI;IACJ,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,GAAG,4EAAkB,6BAA6B,EAAE,EAAE,CAAC;aACtD,IAAI,CAAC,mDAAG,CAAC,UAAU,CAAC,EAAE;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,mDAAI,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;IAER,CAAC;IACD,gBAAgB,CAAC,KAAa,EAAE,SAAS,GAAG,KAAK;QAC/C,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,2BAA2B,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC;SAC5G;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,2BAA2B,GAAG,KAAK,CAAC,CAAC;SAChF;IACH,CAAC;IACD,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,GAAG,4EAAkB,2BAA2B,CAAC,CAAC;IAClF,CAAC;IACD,iBAAiB,CAAC,IAAS,EAAE,KAAU;QACrC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;YACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,+BAA+B,EAAE,QAAQ,CAAC,CAAC;IACxF,CAAC;;0FApHU,qBAAqB;sHAArB,qBAAqB,WAArB,qBAAqB,mBADR,MAAM;;;;;;;;;;;;;;;;;;;;ACR2B;AACpB;;;AAIhC,MAAM,cAAc;IAEzB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QADpC,gBAAW,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;IAElD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IACD,uBAAuB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,sBAAsB,CAAC,CAAC;IACpE,CAAC;IACD,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,0CAA0C,SAAS,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,mBAAmB,CAAC,CAAC;IACjE,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,uBAAuB,CAAC,CAAC;IACrE,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,aAAa,CAAC,CAAC;IAC3D,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,yBAAyB,CAAC,CAAC;IACvE,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,0BAA0B,CAAC,CAAC;IACxE,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,wBAAwB,CAAC,CAAC;IACtE,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,wBAAwB,CAAC,CAAC;IACtE,CAAC;IACD,yBAAyB,CAAC,YAAiB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,kDAAkD,YAAY,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IACD,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,GAAG,4EAAkB,6BAA6B,CAAC,CAAC;IACrF,CAAC;IACD,sBAAsB,CAAC,YAAoB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,sDAAsD,YAAY,EAAE,CAAC,CAAC;IAClH,CAAC;;4EAvDU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBADD,MAAM;;;;;;;;;;;;;;;;;;ACLO;;AA0BhC,MAAM,iBAAiB;IA0R5B,yDAAyD;IACzD,8CAA8C;IAE9C;QA5RO,iBAAY,GAAkB;YACnC,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,gBAAW,GAAgB;YACzB;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;;;;KAUP;gBACC,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;;aAQC;gBACL,KAAK,EAAE,kBAAkB;aAC5B;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;;;;OAUL;gBACD,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;;aAQC;gBACP,KAAK,EAAE,oBAAoB;aAC5B;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;;;OASL;gBACD,KAAK,EAAE,mBAAmB;aAC3B;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;;;;;;;;OAcL;gBACD,KAAK,EAAE,wBAAwB;aAChC;YACD;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;;;;;;;OAOL;gBACD,KAAK,EAAE,sBAAsB;gBAC7B,GAAG,EAAE;oBACH,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC7E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC3E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC3E,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE;oBACrE,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;oBAClF,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;iBAC5F;aACF;YACD;gBACE,KAAK,EAAE,2BAA2B;gBAClC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;;;;;;;;;OASL;gBACD,KAAK,EAAE,yBAAyB;gBAChC,GAAG,EAAE;oBACH,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE;oBACzG,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;oBACpF,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;iBAChG;aACF;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;OAML;gBACD,KAAK,EAAE,iBAAiB;aACzB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBL;gBACD,KAAK,EAAE,sBAAsB;gBAC7B,GAAG,EAAE;oBACH,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnG,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE;iBACtF;aACF;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;;;;;;;OAOL;gBACD,KAAK,EAAE,wBAAwB;gBAC/B,GAAG,EAAE;oBACH,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;oBACvE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE;iBAChF;aACF;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;;;mBAGO;gBACb,KAAK,EAAE,gBAAgB;gBACvB,GAAG,EAAE;oBACH,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnG,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAC,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC9F,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAC,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;oBACzG,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAC,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC5F,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAC,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC7F,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;iBAC3G;aACF;YACD;gBACE,KAAK,EAAE,8BAA8B;gBACrC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;;;;;;;;;;mBAUO;gBACb,KAAK,EAAE,uBAAuB;gBAC9B,GAAG,EAAE;oBACH,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;iBAC1F;aACF;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;mBAOO;gBACb,KAAK,EAAE,yBAAyB;aACjC;YACD;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;mBAOO;gBACb,KAAK,EAAE,6BAA6B;aACrC;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;;;;;;mBAOO;gBACb,KAAK,EAAE,uBAAuB;aAC/B;SACF,CAAC;QAEF,4BAA4B;QAC5B,cAAS,GAAG,IAAI,iDAAe,CAAc,IAAI,CAAC,WAAW,CAAC,CAAC;IAI/C,CAAC;;kFA7RN,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;ACvBuC;;;AAMpD,MAAM,oBAAoB;IAE/B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAEzC,0BAA0B;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,0CAA0C,CAAC,CAAC;IACxF,CAAC;IACD,gBAAgB,CAAC,IAAwB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,4EAAkB,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,6BAA6B;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,4EAAkB,6CAA6C,CAAC,CAAC;IAC3F,CAAC;;wFAZU,oBAAoB;qHAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;;;;;;;;;ACL0B;AACa;;;AAMpD,MAAM,cAAc;IAGzB,YAAoB,WAAkC;QAAlC,gBAAW,GAAX,WAAW,CAAuB;QAE/C,oBAAe,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,oEAA4B,EAAE;iBACtD,OAAO,CAAC,6EAAmB,EAAE;gBAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAiB,CAAC,KAAK;gBAClE,SAAS,EAAE,4EAAoC,IAAI,6EAAqC;aACzF,CAAC;iBACD,KAAK,EAAE,CAAC;YAEX,IAAI,CAAC,aAAa;iBACf,KAAK,EAAE;iBACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;iBACjD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC,CAAC;QAElF,CAAC;QAUD,iEAAiE;QACjE,wEAAwE;QACxE,kCAAkC;QAClC,QAAQ;QACR,IAAI;QACJ,WAAM,GAAG,CAAC,OAAY,EAAE,UAAe,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE;gBAC9C,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,kBAAa,GAAG,CAAC,OAAY,EAAE,UAAe,EAAE,EAAE;YAChD,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,KAAa,EAAE,EAAU,EAAE,EAAE;gBACpE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,8BAAyB,GAAG,CAAC,OAAY,EAAE,UAAe,EAAE,EAAE;YAC5D,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,2BAA2B,EAAE,CAAC,KAAU,EAAE,EAAE;gBACjE,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;IA5CyD,CAAC;IAgB3D,cAAc;QACZ,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa;iBACf,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;iBACjD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC,CAAC;SACnF;IACH,CAAC;;4EA1BU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;ACNqF;AAC9D;AACsC;AAGrB;;;;;;;;;;ICAtD,uEAA+F;;;IAAtD,+FAA+B;;;;IACxE,4EAAmE;IAAzB,+YAAwB;IAAlE,4DAAmE;;;IAAzB,sFAAwB;;;;IAGhE,wEAA8B;IAC5B,yFAOsC;IAFpC,2aAA4B,yRAET,iFAAe,KAFN;IAEQ,4DAAqB;IAC7D,qEAAe;;;IAPX,0DAAqB;IAArB,qFAAqB;;;;IAwBjB,6EAAkI;IAArC,ucAAS,8BAAc,SAAE,sEAAU,KAAC;IAAC,uDAAiC;;IAAA,4DAAS;;;IAArG,sFAAqB;IAAsC,0DAAiC;IAAjC,iJAAiC;;;;IAFrK,oEAAiB;IACjB,0EAAmE;IACjE,mJAA4K;IAC5K,6EAA6G;IAAhC,6bAAS,iBAAS,SAAE,sEAAU,KAAC;IAAC,uDAAiC;;IAAA,4DAAS;;;IAD/G,0DAAe;IAAf,mFAAe;IACA,0DAAqB;IAArB,sFAAqB;IAAiC,0DAAiC;IAAjC,iJAAiC;;;;;IAhBtJ,wEAA+B;IAC7B,gFAQ6E;IAJ3E,6ZAA0B,6PACZ,wFAAsB,KADV,8TAIiB,8EAAY,aAAW,GAAG,IAAI,KAJ/C;IAJ5B,4DAQ6E;IAC3E,4EAAgD;IAAzC,sXAAS,8EAAY,aAAW,GAAG,IAAI,KAAC;IAAC,uDAAS;IAAA,4DAAQ;IAEjE,2NAMc;IAClB,qEAAe;;;;IAjBX,0DAAqB;IAArB,qFAAqB;IAQ2B,0DAAS;IAAT,6EAAS;;;IAuBjE,wEAA2F;IACzF,uDACF;;IAAA,4DAAI;;;IAFiD,gGAAqC;IACxF,0DACF;IADE,6JACF;;;IACA,wEAAyF;IACvF,uDACF;;IAAA,4DAAI;;;IAFgD,+FAAoC;IACtF,0DACF;IADE,sLACF;;;AD9CG,MAAM,mBAAmB;IAgC9B,YACU,QAAqB,EACrB,SAA2B,EAC3B,oBAA0C;QAF1C,aAAQ,GAAR,QAAQ,CAAa;QACrB,cAAS,GAAT,SAAS,CAAkB;QAC3B,yBAAoB,GAApB,oBAAoB,CAAsB;QAlC3C,UAAK,GAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACrD,cAAS,GAAc,IAAI,qDAAS,CAAC,EAAE,CAAC,CAAC;QAQzC,cAAS,GAAG,IAAI,CAAC;QAGhB,wBAAmB,GAAG,IAAI,uDAAY,EAAO,CAAC;QAC9C,aAAQ,GAAG,IAAI,uDAAY,EAAO,CAAC;QAe7C,UAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjC,cAAS,GAAG,KAAK,CAAC;IAMd,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;SAAE;QACnD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAAE;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;YACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;SACrF;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,sEAAU,EAAE,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACvC,uDAAuD;QACvD,uDAAuD;QACvD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG;QACtC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAClF,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3E,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAClF,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QAC7D,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,CAAC,OAAO,EAAE;gBAAE,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAAE;YAC/E,MAAM,IAAI,GAAG,IAAI,+DAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;aACtE;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC3D;SACF;IACH,CAAC;IAED,SAAS,CAAC,IAAS;QACjB,IAAI,OAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;YAAE,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;SAAE;QACzD,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC/G;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,cAAc,CAAC,OAAgB;QAC7B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAEvB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;gBAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC1E;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC9E;gBACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,WAA4B,IAAI;QACtC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,QAAQ,CAAC,YAAyB,IAAI;QACpC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,SAAS,EAAE;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;iBAAE;qBACxE;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;iBAAE;aAC/E;iBACI;gBAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;aAAE;SACpC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY;QACV,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,WAAW,EAAE;YACf,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACxE;YACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;;sFA9JU,mBAAmB;iHAAnB,mBAAmB;QCZhC,2EAAsC;QAEpC,yEAA4B;QACiE,8JAAwB,IAAI,IAAC;QAEtH,mHAA+F;QAC/F,mHAAmE;QAEnE,yEAAqB;QACnB,iIASe;QAEf,iIAmBe;QACjB,4DAAM;QAEN,yEAAyB;QAGrB,2IAAS,mBAAe,IAAI,CAAC,IAAC;QAAC,wDAA2B;;QAAA,4DAAS;QAErE,6EAEkC;QAAhC,4IAAS,mBAAe,KAAK,CAAC,IAAC;QAAC,wDAA2B;;QAAA,4DAAS;QAI1E,6GAEI;QACJ,6GAEI;QACN,4DAAM;QAER,qEAAe;;QA7DD,oFAAuB;QAGJ,0DAA6D;QAA7D,yKAA6D;QAElE,0DAAiB;QAAjB,iFAAiB;QACjB,0DAAkB;QAAlB,kFAAkB;QAGvB,0DAAa;QAAb,6EAAa;QAWb,0DAAc;QAAd,8EAAc;QAwB3B,0DAAwB;QAAxB,gFAAwB;QACO,0DAA2B;QAA3B,+IAA2B;QAG1D,0DAAyB;QAAzB,iFAAyB;QACO,0DAA2B;QAA3B,+IAA2B;QAIxC,0DAA0B;QAA1B,0FAA0B;QAG1B,0DAAyB;QAAzB,yFAAyB;;;;;;;;;;;;;;;;;;;;;;;ACxDqC;AAC4B;;;;;;;;ICarH,mEAAiB;IACjB,yEAAmE;IACU,+WAAS,4BAAc,SAAE,qEAAU,KAAC;IAAC,uDAAiC;;IAAA,4DAAS;IAC1J,4EAA6G;IAAhC,+WAAS,gBAAS,SAAE,qEAAU,KAAC;IAAC,uDAAiC;;IAAA,4DAAS;;;IADlG,0DAAqB;IAArB,qFAAqB;IAAsC,0DAAiC;IAAjC,iJAAiC;IAC1F,0DAAqB;IAArB,qFAAqB;IAAiC,0DAAiC;IAAjC,iJAAiC;;ADdlJ,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChF,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/D,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACxJ,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACpL,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AAC1D,MAAM,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAExD,MAAM,WAAY,SAAQ,yEAAiB;IAChD,iBAAiB,CAAC,KAAa;QAC7B,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,mBAAmB,CAAC,OAAe;QACjC,OAAO,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,IAAmB;QACjC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;;0PAlBU,WAAW,SAAX,WAAW;4GAAX,WAAW,WAAX,WAAW;AA8BjB,MAAM,sBAAsB;IAcjC,YACU,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAVrB,oBAAe,GAAG,IAAI,uDAAY,EAAO,CAAC;QAOpD,UAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAI7B,CAAC;IAVL,IAAa,SAAS,CAAC,KAAU;QAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAUD,QAAQ;IACR,CAAC;IAED,OAAO,CAAC,WAAgB,IAAI;QAC1B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;;4FAxBU,sBAAsB;oHAAtB,sBAAsB,8SANtB;YACT,EAAC,OAAO,EAAE,mEAAW,EAAE,QAAQ,EAAE,kFAA0B,EAAC;YAC5D,EAAC,OAAO,EAAE,yEAAiB,EAAE,QAAQ,EAAE,WAAW,EAAC;SACpD;;QCtCH,8EAS2C;QAHzC,gMAA0B,qGACZ,gCAA4B,IADhB,iOAGjB,0EAAY,YAAW,GAAG,IAAI,KAHb;QAN5B,4DAS2C;QAC3C,2EAAgD;QAAzC,yRAAS,0EAAY,YAAW,GAAG,IAAI,KAAC;QAAC,uDAAS;QAAA,4DAAQ;QAGjE,8MAMc;;;QAlBZ,kFAAqB;QASyB,0DAAS;QAAT,0EAAS;;;;;;;;;;;;;;;;;;;;;;;;IERvD,0EAAwD;;;IAAhC,mFAAmB;;;IAE3C,oEAAoC;;;IAA/B,wIAAW;;;IAEhB,qEAAkB;IAAA,uDAAS;IAAA,4DAAK;;;IAAd,0DAAS;IAAT,6EAAS;;;IAC3B,oEAAgB;IAAA,uDAAQ;IAAA,4DAAI;;;IAAZ,0DAAQ;IAAR,4EAAQ;;ADAnB,MAAM,mBAAmB;IAS9B;QAPS,UAAK,GAAW,EAAE,CAAC;QACnB,SAAI,GAAW,EAAE,CAAC;QAClB,QAAG,GAAW,EAAE,CAAC;QACjB,kBAAa,GAAW,EAAE,CAAC;QAC3B,cAAS,GAAW,EAAE,CAAC;QAChC,YAAO,GAA0B,IAAI,CAAC;IAEtB,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,sCAAsC;YAClE,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;;sFAhBU,mBAAmB;iHAAnB,mBAAmB;QCPhC,sEAAsC;QAEpC,2HAAwD;QAExD,+GAAoC;QAEpC,6GAAgC;QAChC,2GAA4B;QAC9B,4DAAM;;QARD,sGAAgC;QAEvB,0DAAU;QAAV,0EAAU;QAEJ,0DAAS;QAAT,yEAAS;QAEtB,0DAAW;QAAX,2EAAW;QACZ,0DAAU;QAAV,0EAAU;;;;;;;;;;;;;;;;;;;;;;ACP6D;;;;;;;;ICC3E,4EAA6D;IAC3D,oEAA8D;IAC9D,gFAQE;IANA,8SAAU,2FAAyB,KAAC;IAFtC,4DAQE;;;IAJA,0DAAuB;IAAvB,uFAAuB;IADvB,qGAAyC;;;IAyCzC,wEAA6C;IAC3C,uEAAM;IAAA,uDAAc;IAAA,4DAAO;IAM7B,qEAAe;;;IANP,0DAAc;IAAd,mFAAc;;;IAOtB,uEAAsC;IAAA,iFAAsB;IAAA,4DAAO;;;;;IA1CvE,0EAOC;IANC,mTAAe,uFAAqB,KAAC;IAQrC,gFAOE;IALA,2SAAU,2FAAyB,KAAC;IAFtC,4DAOE;IACF,sEAAK;IACH,8DAAgD;IAAhD,0EAAgD;IAC9C,sEAKE;IACJ,4DAAM;IAER,+DAAI;IAAJ,qEAAI;IAAA,uDAA+D;;IAAA,4DAAK;IACxE,sEAAK;IACG,wDAA0F;;IAAA,4DAAO;IACvG,yEAAkD;IAAA,wDAA+C;;IAAA,4DAAQ;IAE3G,2EAAkB;IAChB,wDACA;;IAAA,2IAOe;IACf,2HAAmE;IACrE,4DAAM;IACN,4EAA2B;IAAA,wDAA2E;;IAAA,4DAAO;;;IAzC7G,oFAAyB;IACzB,wFAAwB;IAStB,0DAAuB;IAAvB,uFAAuB;IADvB,qGAAyC;IAevC,0DAA+D;IAA/D,4LAA+D;IAE3D,0DAA0F;IAA1F,iNAA0F;IACzF,0DAA0C;IAA1C,sGAA0C;IAAC,0DAA+C;IAA/C,mKAA+C;IAGjG,0DACA;IADA,+KACA;IAAe,0DAA4B;IAA5B,+FAA4B;IAQpC,0DAA6B;IAA7B,gGAA6B;IAEX,0DAA2E;IAA3E,2PAA2E;;;;IAaxG,0EAA6E;IAC3E,uDACF;;IAAA,4DAAM;;;IADJ,0DACF;IADE,2QACF;;;IACA,0EAA+E;IAC7E,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,mLACF;;;IACA,0EAA0C;IAAA,uDAAqD;;IAAA,4DAAM;;IAA3D,0DAAqD;IAArD,uKAAqD;;;IAC/F,0EAAgD;IAAA,uDAA2E;;IAAA,4DAAM;;;IAAjF,0DAA2E;IAA3E,wPAA2E;;;IAC3H,qEAA0D;;;IAC1D,0EAA0E;IACxE,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,6JACF;;;IACA,0EAAyE;IACnE,uDAAsC;;IAAA,4DAAK;;;IADtB,uFAAuB;IAC5C,0DAAsC;IAAtC,wJAAsC;;;IAYhC,qEAGE;;;IACF,qEAGE;;;IACF,qEAGE;;;IACF,qEAGE;;;IACF,qEAGE;;;IACF,qEAGE;;;IAEF,qEAGE;;;IACF,qEAGE;;;;IAnCR,0EAAoC;IAG9B,8HAGE;IACF,8HAGE;IACF,8HAGE;IACF,8HAGE;IACF,8HAGE;IACF,8HAGE;IAEF,8HAGE;IACF,gIAGE;IAEJ,4DAAM;IACN,uEAAK;IACyB,wDAAgB;IAAA,4DAAQ;IACpD,wEAAM;IAAA,wDAA6B;IAAA,4DAAO;IAG9C,2EAAsB;IAWlB,4bAAS,gGAAsB,KAAC;IAGhC,8DAAgD;IAAhD,2EAAgD;IAC9C,uEAKE;IACJ,4DAAM;;;;IA5DH,0DAAiC;IAAjC,yGAAiC;IAIjC,0DAAiC;IAAjC,yGAAiC;IAIjC,0DAAiC;IAAjC,yGAAiC;IAIjC,0DAAiC;IAAjC,yGAAiC;IAIjC,0DAAkC;IAAlC,0GAAkC;IAIlC,0DAAiC;IAAjC,yGAAiC;IAKjC,0DAAiC;IAAjC,yGAAiC;IAIjC,0DAAmC;IAAnC,2GAAmC;IAM/B,0DAAoB;IAApB,0GAAoB;IAAC,0DAAgB;IAAhB,wGAAgB;IACtC,0DAA6B;IAA7B,6HAA6B;;;;IA7C3C,0EAIC;IACC,0HAmEM;IACR,4DAAM;;;;IAvEJ,4JAAqC;IAG/B,0DAAU;IAAV,0EAAU;;;ADtFjB,MAAM,oBAAoB;IA8C/B;QA7CU,kBAAa,GAAG,IAAI,uDAAY,EAAM,CAAC;QACvC,qBAAgB,GAAG,IAAI,uDAAY,EAAM,CAAC;QAE3C,UAAK,GAAQ,EAAE,CAAC;QAChB,iBAAY,GAAG,IAAI,CAAC;QACpB,aAAQ,GAAG,CAAC,CAAC;QACb,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAQ,GAAG,CAAC,CAAC,8CAA8C;QAEvE,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QACnB,SAAI,GAAG,CAAC,CAAC;QAET,eAAU,GAAU;YAC3B,KAAK;YACL,MAAM;YACN,KAAK;YACL,KAAK;YACL,KAAK;YACL,MAAM;YACN,KAAK;YACL,KAAK;YACL,KAAK;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QAEO,cAAS,GAAG,KAAK,CAAC;QAC3B,WAAW;QACF,eAAU,GAAG,KAAK,CAAC;QACnB,iBAAY,GAAG,CAAC,CAAC;QAC1B,YAAO,GAAG,KAAK,CAAC;QAChB,qBAAgB,GAAQ,EAAE,CAAC;QAE3B,KAAK;QACL,uBAAkB,GAAG,CAAC,CAAC;QACvB,iBAAY,GAAQ,EAAE,CAAC;QACvB,cAAS,GAAG,IAAI,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QACzB,yBAAoB,GAAG,KAAK,CAAC;IAEb,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ;QAC3B,CAAC,CAAC,CAAC;QACH,8CAA8C;QAC9C,iCAAiC;QACjC,mCAAmC;QACnC,6BAA6B;QAC7B,+BAA+B;QAC/B,UAAU;QACV,QAAQ;QACR,oDAAoD;QACpD,IAAI;IACN,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAEhE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE;YACtF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,QAAgB;QACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3D,QAAQ,SAAS,EAAE;YACjB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAU;QAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa,EAAE,EAAO;QAC/B,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;YACtG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAChD;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,KAAiB;QAChC,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC3C,OAAO;SACR;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEzB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrC;gBAED,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;oBACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBAC/B;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;oBAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;iBAC9B;aACF;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,gEAAgE;QAChE,oBAAoB;QACpB,4BAA4B;QAC5B,6BAA6B;QAC7B,iDAAiD;QACjD,sDAAsD;QACtD,OAAO;QACP,eAAe;QACf,4BAA4B;QAC5B,6BAA6B;QAC7B,MAAM;QACN,KAAK;IACP,CAAC;;wFAtNU,oBAAoB;kHAApB,oBAAoB;QCNjC,yEAA0E;QACxE,sHAWS;QACT,kHAiDM;QAQN,gHAEM;QACN,gHAEM;QACN,gHAAqG;QACrG,gHAAiI;QACjI,gHAA0D;QAC1D,gHAEM;QACN,gHAEM;QACN,0EAAwB;QAEpB,kHAyEM;QACR,4DAAM;;QAjKL,6JAAoC;QAC9B,0DAAe;QAAf,+EAAe;QAcrB,0DAAgB;QAAhB,gFAAgB;QAuDb,0DAAmD;QAAnD,2HAAmD;QAGnD,0DAAqD;QAArD,6HAAqD;QAGrD,0DAAgB;QAAhB,gFAAgB;QAChB,0DAAsB;QAAtB,sFAAsB;QACtB,0DAA0B;QAA1B,0FAA0B;QAC1B,0DAAgD;QAAhD,wHAAgD;QAGhD,0DAAmB;QAAnB,mFAAmB;QAMF,0DAAU;QAAV,8EAAU;;;;;;;;;;;;;;;;;;;;;;;;;ACxFe;AAEuB;;;;;;;;;;ICSrE,0EAAmD;IACjD,6EAAwD;IAC1D,4DAAM;;ADLH,MAAM,sBAAsB;IAYjC,YACU,SAA+C;QAA/C,cAAS,GAAT,SAAS,CAAsC;QAZzD,SAAI,GAGA,qDAAM,CAAC,qEAAe,CAAC,CAAC;QAE5B,gBAAW,GAAG,KAAK,CAAC;QACpB,UAAK,GAAG,CAAC,CAAC;QACV,cAAS,GAAmB;YAC1B,aAAa,EAAE,IAAI;SACpB,CAAC;IAIE,CAAC;IAEL,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,YAAY,CAAC,KAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,IAAI,CAAC,SAAS;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,IAAI,CAAC,SAAS;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;;4FAzCU,sBAAsB;oHAAtB,sBAAsB;QCRnC,yEAAsB;QAChB,uDAAoC;;QAAA,4DAAK;QAE7C,4EAA0E;QAC5C,gEAAK;QAAA,4DAAW;QAIhD,qFAAoB;QAGhB,kHAEM;QAEN,0EAA6B;QAOzB,0MAAyB,kHACT,wBAAoB,IADX,0GAEV,iBAAa,IAFH;QAG1B,4DAAgB;QAEjB,0EAA8B;QACJ,+IAAS,aAAS,IAAC;QAAC,4EAAU;QAAA,oEAAQ;QAAA,4DAAW;QACzE,6EAA2C;QAAnB,+IAAS,YAAQ,IAAC;QAAC,4EAAU;QAAA,mEAAO;QAAA,4DAAW;QAO/E,sFAAoB;QACmC,wDAA8B;;QAAA,4DAAS;QAC5F,8EAA2E;QAAxD,+IAAS,eAAW,IAAC;QACtC,wDACF;;QAAA,4DAAS;;QAvCL,0DAAoC;QAApC,uJAAoC;QAUhC,0DAAkB;QAAlB,kFAAkB;QAInB,0DAAuB;QAAvB,oFAAuB;QAExB,0DAA4B;QAA5B,qFAA4B;QAoBmB,2DAA8B;QAA9B,kJAA8B;QAEjF,0DACF;QADE,2JACF;;;;;;;;;;;;;;;;;;;;;ACxC6E;AAEI;;;;AAQ5E,MAAM,qBAAqB;IAahC,YACS,MAAiB,EAChB,SAAuB;QADxB,WAAM,GAAN,MAAM,CAAW;QAChB,cAAS,GAAT,SAAS,CAAc;QAbxB,UAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAEb,eAAU,GAAG,IAAI,uDAAY,EAA+B,CAAC;QAE9D,YAAO,GAAG,CAAC,CAAC;QACrB,eAAU,GAAG;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ,CAAC;QACQ,WAAM,GAAG,IAAI,uDAAY,EAAO,CAAC;IAKvC,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAAsB,EAAE;gBACzD,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBACxC,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAyB,EAAE,EAAE;gBAC9D,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;oBACzB,IAAI,CAAC,GAAG;wBACN,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;oBACjF,IAAI,IAAI,GAAQ,MAAM,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;oBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;iBACrD;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,IAAU;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC5B,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,CAAC,QAAgB;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,SAAS,EAAE;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;;0FAnEU,qBAAqB;mHAArB,qBAAqB;;QCVlC,yEAA8B;QAIxB,oJAAU,wBAAoB,IAAC,gOAAU,sEAAmB,EAAE,KAA/B;QADjC,4DACoE;QAEpE,yEAA2B;QACzB,oEAAwB;QAC1B,4DAAM;;QADC,0DAAW;QAAX,qIAAW;;;;;;;;;;;;;;;;;;;;;ACPyD;;;;;;ICwBzE,wEAA4C;IAC1C,gEACF;IAAA,4DAAK;;;;IACL,wEAA8C;IAClB,4VAAS,gFAAY,KAAC;IAC9C,uDACF;IAAA,4DAAS;;;;IAFwC,0DAA+B;IAA/B,6FAA+B;IAC9E,0DACF;IADE,oFACF;;;IAEF,wEAAkD;IAChD,gEACF;IAAA,4DAAK;;;;IAlCX,yEAA+D;IAOrD,6RAAS,8FAAsB,CAAC,CAAC,KAAC;;IAClC,0EAA6B;IAC3B,uDACF;IAAA,4DAAO;IAGX,wEAA2B;IAIvB,6RAAS,8FAAsB,CAAC,CAAC,KAAC;;IAClC,2EAA6B;IAC3B,wDACF;IAAA,4DAAO;IAIX,iHAEK;IACL,iHAIK;IACL,iHAEK;IAEL,yEAA2B;IAIvB,+RAAS,gGAAsB,CAAC,CAAC,KAAC;;IAClC,2EAA6B;IAC3B,wDACF;IAAA,4DAAO;IAGX,yEAAsB;IAIlB,+RAAS,gGAAsB,CAAC,CAAC,KAAC;;IAClC,2EAA6B;IAC3B,wDACF;IAAA,4DAAO;;;IAhDP,0DAAkD;IAAlD,iKAAkD;IAIhD,0DACF;IADE,4HACF;IAKA,0DAAgD;IAAhD,gKAAgD;IAI9C,0DACF;IADE,qIACF;IAImB,0DAAmB;IAAnB,sFAAmB;IAGN,0DAAQ;IAAR,iFAAQ;IAKrB,0DAAyB;IAAzB,mGAAyB;IAM5C,0DAA4C;IAA5C,4JAA4C;IAI1C,0DACF;IADE,qIACF;IAKA,0DAAiD;IAAjD,iKAAiD;IAI/C,0DACF;IADE,4HACF;;AD/CH,MAAM,eAAe;IAc1B;QAZS,cAAS,GAAW,CAAC,CAAC;QACtB,cAAS,GAAW,CAAC,CAAC;QACrB,SAAI,GAAG,IAAI,uDAAY,EAAU,CAAC;QAE5C,cAAS,GAAG,CAAC,CAAC;QACd,YAAO,GAAG,CAAC,CAAC;QACZ,aAAQ,GAAG,CAAC;QACZ,UAAK,GAAa,EAAE,CAAC;QAErB,SAAI,GAAG,IAAI,CAAC,CAAC,4CAA4C;IAGzC,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE7B,IAAI,WAAW,GAAG,CAAC,EAAE;YACjB,WAAW,GAAG,CAAC,CAAC;SACnB;aAAM,IAAI,WAAW,GAAG,UAAU,EAAE;YACjC,WAAW,GAAG,UAAU,CAAC;SAC5B;QAED,IAAI,UAAU,IAAI,QAAQ,EAAE;YACxB,8CAA8C;YAC9C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;SAC7B;aAAM;YACH,6DAA6D;YAC7D,IAAI,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,WAAW,IAAI,yBAAyB,EAAE;gBAC1C,8BAA8B;gBAC9B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;aAC3B;iBAAM,IAAI,WAAW,GAAG,wBAAwB,IAAI,UAAU,EAAE;gBAC7D,4BAA4B;gBAC5B,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;gBACvC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;aAC7B;iBAAM;gBACH,uCAAuC;gBACvC,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,yBAAyB,CAAC;gBACzD,IAAI,CAAC,OAAO,GAAG,WAAW,GAAG,wBAAwB,CAAC;aACzD;SACJ;QAED,6DAA6D;QAC7D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACpG,CAAC;;8EAxDU,eAAe;6GAAf,eAAe;QCN5B,6GA2DM;;QA3DoC,mFAAmB;;;;;;;;;;;;;;;;;;;;;;;;;ACAqC;AACvD;;;;;;;;;;ICa3B,0EAA2B;IAAA,qEAAqC;IAAA,4DAAM;IACtE,uDACF;;;IAFkC,0DAAwB;IAAxB,iJAAwB;IACxD,0DACF;IADE,8FACF;;;IAGE,2EAAwB;IAAA,qEAAqC;IAAA,4DAAO;IACpE,uDACA;IAAA,2EAAyB;IAAA,uDAAoB;IAAA,4DAAO;;;IAFvB,0DAAwB;IAAxB,iJAAwB;IACrD,0DACA;IADA,wFACA;IAAyB,0DAAoB;IAApB,mFAAoB;;;IAcvD,uEAAyE;;;IAAhC,+FAA+B;;;IACxE,uEAA0C;;;IAE9C,wEAA2F;IACvF,uDACJ;;IAAA,4DAAI;;;IAFiD,gGAAqC;IACtF,0DACJ;IADI,6JACJ;;;IACA,wEAC6D;IACzD,uDACJ;;IAAA,4DAAI;;;IAFA,0HAAwD;IACxD,0DACJ;IADI,kKACJ;;;;ADlCK,MAAM,oBAAoB;IAyB/B,YACU,GAAsB,EACvB,SAA2B,EAC3B,aAA6B;QAF5B,QAAG,GAAH,GAAG,CAAmB;QACvB,cAAS,GAAT,SAAS,CAAkB;QAC3B,kBAAa,GAAb,aAAa,CAAgB;QA3B7B,cAAS,GAAc,IAAI,qDAAS,CAAC,EAAE,CAAC,CAAC;QAGzC,aAAQ,GAAG,KAAK,CAAC;QAEjB,cAAS,GAAW,CAAC,CAAC;QACtB,cAAS,GAAW,EAAE,CAAC;QACvB,UAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAMrD,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAG,KAAK,CAAC;QACf,iBAAY,GAAG,IAAI,uDAAY,EAAW,CAAC;QAIrD,mBAAc,GAAG,KAAK,CAAC;QACvB,gBAAW,GAAgB,EAAE;QAE7B,wBAAmB,GAAQ,EAAE;IAMzB,CAAC;IACH,kBAAkB;QAClB,+BAA+B;QAC/B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;YACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACxE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAI,MAAM,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,IAAI,EAAE;oBACR,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE;wBAChC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;wBACjC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;qBAClD;yBAAM;wBACL,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;wBAC1B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBAChD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;qBACvB;iBACF;qBAAM;oBACL,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;oBACnB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC3C;gBAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;gBAEvC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC7B;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACxD,IAAI,CAAC,cAAc,GAAG,KAAK;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC3F,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;QACH,CAAC,EAAE,CAAC,GAAQ,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE;YACjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;mBAC5C,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;mBAC7C,CAAC,IAAI,CAAC,cAAc,EAAE;gBACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACzE;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;aAC1D;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;aAC1E;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;YACnD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;oBACjD,MAAM,EAAE,IAAI,CAAC,gBAAgB;oBAC7B,WAAW,EAAE,IAAI,CAAC,cAAc;oBAChC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU;iBACtF,CAAC,CAAC;aACJ;SACF;QACD,4BAA4B;IAC9B,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;YACtC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAChD,IAAI,CAAC,SAAS,EAAE;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;iBAAE;qBACxE;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;iBAAE;aAC/E;iBACI;gBACH,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBACrE,OAAO,IAAI;iBACZ;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAiB,CAAC,QAAa,IAAI;QACjC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;YAAE,KAAK,CAAC,cAAc,EAAE,CAAC;SAAE;QACnD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B;IACH,CAAC;;wFA5IU,oBAAoB;kHAApB,oBAAoB;QCVjC,2EAAsC;QACpC,yEAAoF;QAEhF,+JAAwB,IAAI,IAAC;QAE7B,yEAAsC;QAE9B,oMAA4B,+FAGlB,6BAAyB,IAHP,uGAIX,0BAAsB,IAJX;QAK5B,gIAIc;QACd,gIAKc;QAClB,4DAAY;QAIhB,2EAM8D;QAL1D,kMAA8B,mGAEb,0BAAsB,IAFT,2FAGpB,6BAAyB,IAHL,yGAIb,6BAAyB,IAJZ;QADlC,4DAM8D;QAE9D,oHAAyE;QACzE,oHAA0C;QAC9C,4DAAM;QACN,+GAEI;QACJ,+GAGI;QACJ,4DAAM;QAER,qEAAe;;QA/CD,oFAAuB;QACD,0DAAiD;QAAjD,6GAAiD;QACtD,0DAAwE;QAAxE,gMAAwE;QAIlF,0DAAqB;QAArB,kFAAqB;QAqBG,0DAAqB;QAArB,kFAAqB;QAQtC,0DAAiB;QAAjB,iFAAiB;QACjB,0DAAkB;QAAlB,kFAAkB;QAEnB,0DAA0B;QAA1B,0FAA0B;QAG1B,0DAA6C;QAA7C,iHAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCe;AAC5C;AAEyB;AACrC;;;;;;;;;;ICH7B,yEAOC;IANC,oTAAe,uFAAqB,KAAC;IAOrC,8EAGiD;IAF/C,4SAAU,2FAAyB,KAAC;IADtC,4DAGiD;IACjD,sEAAK;IACH,8DAAgD;IAAhD,0EAAgD;IAC9C,sEAKE;IACJ,4DAAM;IAER,+DAAI;IAAJ,qEAAI;IAAA,uDAA+D;;IAAA,4DAAK;IACxE,sEAAK;IACG,wDAA0F;;IAAA,4DAAO;IACvG,yEAAmD;IAAA,wDAA+C;;IAAA,4DAAQ;IAE5G,2EAAkB;IAChB,wDACA;;IAAA,wEAAM;IAAA,wDAAc;IAAA,4DAAO;IAE7B,4EAA2B;IAAA,wDAA2E;;IAAA,4DAAO;;;IA5B7G,oFAAyB;IACzB,wFAAwB;IAOtB,0DAAuB;IAAvB,uFAAuB;IADvB,sGAA0C;IAYxC,0DAA+D;IAA/D,4LAA+D;IAE3D,0DAA0F;IAA1F,iNAA0F;IACzF,0DAA2C;IAA3C,uGAA2C;IAAC,0DAA+C;IAA/C,mKAA+C;IAGlG,0DACA;IADA,+KACA;IAAM,0DAAc;IAAd,kFAAc;IAEK,0DAA2E;IAA3E,2PAA2E;;;;IAGxG,0EAA6E;IAC3E,uDACF;;IAAA,4DAAM;;;IADJ,0DACF;IADE,2QACF;;;IACA,0EAA+E;IAC7E,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,mLACF;;;IACA,0EAA0C;IAAA,uDAAqD;;IAAA,4DAAM;;IAA3D,0DAAqD;IAArD,uKAAqD;;;IAC/F,0EAAgD;IAAA,uDAA2E;;IAAA,4DAAM;;;IAAjF,0DAA2E;IAA3E,wPAA2E;;;IAC3H,qEAA0D;;;IAC1D,0EAA0E;IACxE,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,6JACF;;;IACA,0EAAyE;IACnE,uDAAsC;;IAAA,4DAAK;;;IADtB,uFAAuB;IAC5C,0DAAsC;IAAtC,wJAAsC;;;;IAOtC,0EAAoC;IAG9B,qEAA8B;IAChC,4DAAM;IACN,sEAAK;IAC8B,uDAAqB;IAAA,4DAAQ;IAC9D,uEAAM;IAAA,uDAAkC;IAAA,4DAAO;IAGnD,0EAAwE;;IAGpE,4EAAU;IAAA,+EAAmB;IAAA,4DAAW;IACxC,6EAE8C;IAA5C,uYAAU,oGAA8B,KAAC;IAF3C,4DAE8C;IAGhD,8EAGC;IAFC,6bAAS,gGAAsB,KAAC;IAGhC,8DAAgD;IAAhD,2EAAgD;IAC9C,uEAKE;IACJ,4DAAM;;;;;;IA3BD,0DAAsB;IAAtB,yKAAsB;IAGpB,0DAAyB;IAAzB,oHAAyB;IAAC,0DAAqB;IAArB,kHAAqB;IAChD,0DAAkC;IAAlC,uIAAkC;IAIlB,0DAAyD;IAAzD,wKAAyD;IAG7C,0DAAuC;IAAvC,kHAAuC;;;IAfjF,0EAA8D;IAC5D,0HAiCM;IAiCR,4DAAM;;;IAlEE,0DAAU;IAAV,0EAAU;;;AD7CjB,MAAM,qBAAqB;IA+BhC,YAC4B,QAAkB,EACpC,SAA2B;QADT,aAAQ,GAAR,QAAQ,CAAU;QACpC,cAAS,GAAT,SAAS,CAAkB;QAhC3B,kBAAa,GAAG,IAAI,uDAAY,EAAM,CAAC;QACvC,qBAAgB,GAAG,IAAI,uDAAY,EAAM,CAAC;QAE3C,UAAK,GAAQ,EAAE,CAAC;QAChB,iBAAY,GAAG,IAAI,CAAC;QACpB,aAAQ,GAAG,CAAC,CAAC;QACb,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAQ,GAAG,CAAC,CAAC,8CAA8C;QAEvE,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QACnB,SAAI,GAAG,CAAC,CAAC;QAET,eAAU,GAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3C,cAAS,GAAG,KAAK,CAAC;QAC3B,WAAW;QACF,eAAU,GAAG,KAAK,CAAC;QACnB,iBAAY,GAAG,CAAC,CAAC;QAC1B,YAAO,GAAG,KAAK,CAAC;QAChB,qBAAgB,GAAQ,EAAE,CAAC;QAE3B,KAAK;QACL,uBAAkB,GAAG,CAAC,CAAC;QACvB,iBAAY,GAAQ,EAAE,CAAC;QACvB,cAAS,GAAG,IAAI,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QACzB,yBAAoB,GAAG,KAAK,CAAC;IAKzB,CAAC;IAEL,QAAQ,KAAK,CAAC;IAEd,aAAa,CAAC,QAAgB;QAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAEhE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE;YACtF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,QAAgB;QACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3D,QAAQ,SAAS,EAAE;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAU;QAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa,EAAE,EAAO;QAC/B,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,KAAiB;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC3C,OAAO;SACR;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExC,IAAI,OAAO,GAAG;oBACZ,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,0EAAuB;iBACnB,CAAC;gBAElB,MAAM,QAAQ,GAAe,IAAI,UAAU,EAAE,CAAC;gBAC9C,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7B,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;oBACzB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wBAC7D,OAAO,CAAC,QAAQ,GAAG,KAAK;wBACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;oBAC3C,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;oBACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBAC/B;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;oBAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;iBAC9B;aACF;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,iBAAiB,CAAC,GAAW;QAClC,MAAM,MAAM,GAAsB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,OAAO,GAAoC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEzE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAG,MAAM,CAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAEhB,KAAK,CAAC,MAAM,GAAG;gBAGb,IAAI,iBAAiB,GAAG,GAAG,CAAC;gBAC5B,IAAI,kBAAkB,GAAG,GAAG,CAAC;gBAE7B,IAAI,cAAc,GAChB,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,GAAG,kBAAkB,CAAC;oBACvE,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC;gBACxE,wBAAwB;gBACxB,IAAI,cAAc,GAAG,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC;gBAClD,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gBAEpD,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC;gBAC9B,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;gBAEhC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;gBACjE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,aAAa,CAAC,OAAe;QAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACzC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAS,IAAI,CAAC;QAC7B,MAAM,SAAS,GAAW,YAAY,CAAC;QACvC,MAAM,SAAS,GAAS,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE;YACvD,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IAEtE,+BAA+B;IAC/B,mBAAmB,CAAC,MAAW,EAAE,KAAa;QAC5C,MAAM,IAAI,GAAS,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,yEAAsB,CAAC;SACtD;IACH,CAAC;IACD,QAAQ,CAAC,IAAU,EAAE,KAAa;QAChC,MAAM,QAAQ,GAAe,IAAI,UAAU,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAgB,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IACD,YAAY,CAAC,IAAU,EAAE,KAAa;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;gBACpC,8BAA8B;aAC/B;iBAAM;gBACL,6BAA6B;gBAC7B,uDAAS,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;iBAChG,CAAC;gBACF,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,6BAA6B;YAC7B,uDAAS,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAClD,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,CAAC,QAAgB;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,SAAS,EAAE;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;;0FAlQU,qBAAqB,kEAgCtB,qDAAQ;mHAhCP,qBAAqB;QCVlC,yEAA0E;QACxE,mHAgCM;QAEN,iHAEM;QACN,iHAEM;QACN,iHAAqG;QACrG,iHAAiI;QACjI,iHAA0D;QAC1D,iHAEM;QACN,iHAEM;QAGN,yEAAwB;QAEpB,mHAmEM;QAGR,4DAAM;;QA5HL,6JAAoC;QAGpC,0DAAgB;QAAhB,gFAAgB;QAgCb,0DAAmD;QAAnD,2HAAmD;QAGnD,0DAAqD;QAArD,6HAAqD;QAGrD,0DAAgB;QAAhB,gFAAgB;QAChB,0DAAsB;QAAtB,sFAAsB;QACtB,0DAA0B;QAA1B,0FAA0B;QAC1B,0DAAgD;QAAhD,wHAAgD;QAGhD,0DAAmB;QAAnB,mFAAmB;QAOC,0DAAU;QAAV,8EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDc;AACC;AACH;AAEH;AAEY;AACe;AAE1E,UAAU;AACwD;AACL;AACkB;AACf;AACC;AACR;AACc;AACZ;AACO;AACwC;AACpD;AACa;AACzB;AACV;AACmD;AACZ;AACZ;AACW;AACP;AACW;AACF;AACjB;AACuC;AACX;AACrB;AACQ;AACO;AACnB;AACmB;AACG;AACA;AAC1B;AACuB;AACvB;AAC6B;AACvB;AACwC;AACuD;AAC3E;AACiB;AAC1C;;;;AA/CvD,oEAAkB,CAAC,mEAAQ,CAAC,CAAC;AAkDtB,SAAS,aAAa;IAC3B,OAAO,oDAAM,CAAC;AAChB,CAAC;AAkHM,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;+GAtBZ;QACT,sFAAe;QACf,EAAE,OAAO,EAAE,0EAAgB,EAAE,QAAQ,EAAE,uFAAe,EAAE,EAAE;QAC1D,EAAE,OAAO,EAAE,qDAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE;QAC1E;YACE,OAAO,EAAE,6DAAkB;YAC3B,QAAQ,EAAE;gBACR,OAAO,EAAE,mFAAyB;gBAClC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI;aAC9B;SACvB;QACD;YACE,OAAO,EAAE,6DAAkB;YAC3B,QAAQ,EAAE,EAAE,OAAO,EAAE,mFAAyB,EAAuB;SACtE;QACD;YACE,OAAO,EAAE,6DAAkB;YAC3B,UAAU,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM;YACtC,IAAI,EAAE,CAAC,qDAAS,CAAC;SAClB;KACF,YA5EC,0DAAY;QACZ,4EAAc;QACd,sEAAoB;QACpB,0EAAwB,CAAC,EAAE,CAAC;QAC5B,gEAAmB;QACnB,wDAAW;QACX,0DAAe;QACf,6DAAoB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC/C,sEAAqB;QACrB,kEAAS;QACT,8FAAiC;QACjC,iFAA2B;QAC3B,qEAAkB;QAClB,iEAAc;QACd,kEAAkB,EAGlB,4EAAc;QAWd,sEAAoB;QAIpB,iEAAe;QACf,gEAAmB;QACnB,wDAAW;QACX,0DAAe;QACf,qDAAY;QACZ,sEAAqB;QACrB,kEAAS;QAGT,8FAAiC;QACjC,iFAA2B;QAC3B,qEAAkB;QAKlB,iEAAc;oIA8BL,YAAY;QA9GrB,aAAa;QACb,uEAAY;QACZ,2EAAc;QACd,+EAAmB;QACnB,+DAAM;QACN,4FAAiC;QAEjC,QAAQ;QACR,yFAAoB;QACpB,0EAAa;QACb,mEAAU;QACV,iFAAiB;QACjB,2EAAiB;QACjB,uEAAa;QAEb,YAAY;QACZ,mFAAmB;QACnB,6FAAsB;QACtB,iFAAkB;QAClB,kFAAmB;QACnB,wGAAsB;QACtB,uFAAoB;QACpB,0FAAqB;QACrB,0FAAqB;QACrB,uFAAoB;QACpB,sEAAe;QACf,8GAA2B;QAC3B,oKAA2B;QAC3B,0FAAqB;QACrB,2GAAsB,aAGtB,0DAAY;QACZ,4EAAc;QACd,sEAAoB,qEAEpB,gEAAmB;QACnB,wDAAW;QACX,0DAAe,yDAEf,sEAAqB;QACrB,kEAAS;QACT,8FAAiC;QACjC,iFAA2B;QAC3B,qEAAkB;QAClB,iEAAc;QACd,kEAAkB,aAGlB,4EAAc;QACd,yFAAoB;QACpB,uEAAY;QACZ,0EAAa;QACb,2EAAc;QACd,mEAAU;QACV,iFAAiB;QACjB,2EAAiB;QACjB,uEAAa;QACb,+EAAmB;QACnB,+DAAM;QACN,sEAAoB;QACpB,mFAAmB;QACnB,6FAAsB;QACtB,iFAAkB;QAClB,iEAAe;QACf,gEAAmB;QACnB,wDAAW;QACX,0DAAe;QACf,qDAAY;QACZ,sEAAqB;QACrB,kEAAS;QACT,kFAAmB;QACnB,wGAAsB;QACtB,8FAAiC;QACjC,iFAA2B;QAC3B,qEAAkB;QAClB,uFAAoB;QACpB,0FAAqB;QACrB,0FAAqB;QACrB,uFAAoB;QACpB,iEAAc;QACd,4FAAiC;QACjC,sEAAe;QACf,8GAA2B;QAC3B,oKAA2B;QAC3B,0FAAqB;QACrB,2GAAsB;;;;;;;;;;;;;;;;;;ACjJqD;;;;ICOzE,mFAAsC;;;;ADDrC,MAAM,kBAAkB;IAI7B;QAFU,UAAK,GAAG,IAAI,uDAAY,EAAW,CAAC;IAE9B,CAAC;IAEjB,QAAQ;IACR,CAAC;;oFAPU,kBAAkB;gHAAlB,kBAAkB;;QCN/B,yEAAqD;QAG5B,uIAAS,gBAAY,IAAC;QAAC,4DAAM;QAElD,yEAA6B;QAE3B,4HAAsC;QAExC,4DAAM;;QATc,oJAA4B;QAOjC,0DAAU;QAAV,0EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACP7B;AACA;AAEA;;;;;;;;;;;;;;;;ICMII,4DAAAA,qBAAqE,CAArE,EAAqE,KAArE,EAAqE,CAArE;IACOA,wDAAAA;MAAA;MAAA;MAAA;MAASC;MAAwB,OAAED,yDAAAA,0BAAF;IAAgB,CAAjD;IACHA,4DAAAA;IAEEA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,0BAAV;IAAwB,CAAxB,EAAyB,OAAzB,EAAyB;MAAA,OAChBC,wBADgB;IACQ,CADjC;IAEAD,oDAAAA;IACFA,0DAAAA;;;;;;IAPkDA,wDAAAA;IAGhDA,uDAAAA;IAAAA,wDAAAA;IAGAA,uDAAAA;IAAAA,gEAAAA;;;;;;IAMRA,4DAAAA;IACEA,oDAAAA;;IACFA,0DAAAA;;;;IADEA,uDAAAA;IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;IAQEA,4DAAAA;IAAuCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,mCAAT;IAA8B,CAA9B;IAAgCA,oDAAAA;IAAOA,0DAAAA;;;;;;IAFhFA,4DAAAA;IACEA,oDAAAA;IACAA,wDAAAA;IACFA,0DAAAA;;;;;;IAFEA,uDAAAA;IAAAA,gEAAAA;IACsBA,uDAAAA;IAAAA,wDAAAA;;;;ADrBtB,MAAOE,2BAAP,CAAkC;EAatCC;IAZS,eAAU,IAAV;IACA,kBAAa,KAAb;IACA,gBAAW,KAAX;IACA,mBAAc,KAAd;IACA,YAAc,EAAd;IAEC,qBAAgB,IAAIP,uDAAJ,EAAhB;IAEV,iBAAY,IAAIC,uDAAJ,CAAiC,EAAjC,CAAZ;IAES,oBAAyB,EAAzB;EAEQ;;EAEjBO,QAAQ,IACP;;EAEDC,WAAW,CAACC,OAAD,EAAuB;IAChC,IAAIA,OAAO,CAAC,SAAD,CAAP,EAAoBC,YAApB,IAAoC,KAAxC,EAA+C;MAC7C,KAAKC,mBAAL;IACD;;IACD,IAAIF,OAAO,CAAC,aAAD,CAAP,EAAwBC,YAAxB,IAAwC,KAAKE,UAAjD,EAA6D;MAC3D,KAAKC,QAAL;IACD;EACF;;EAEDF,mBAAmB;IACjB,KAAKG,YAAL,GAAoB,KAAKC,SAAL,CAAeC,YAAf,CAA4BC,IAA5B,CAClBf,+CAAS,CAAC,EAAD,CADS,EAElBD,yCAAG,CAACiB,KAAK,IAAG;MACV,MAAMC,IAAI,GAAG,OAAOD,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCA,KAAK,EAAEC,IAAxD;MACA,OAAOA,IAAI,GAAG,KAAKC,OAAL,CAAaD,IAAb,CAAH,GAAkC,KAAKE,IAAL,CAAUC,KAAV,EAA7C;IACD,CAHE,CAFe,CAApB;EAOD;;EACDC,SAAS,CAACC,IAAD,EAAa;IACpB,OAAOA,IAAI,IAAIA,IAAI,CAACL,IAAb,GAAoBK,IAAI,CAACL,IAAzB,GAAgC,EAAvC;EACD;;EACOC,OAAO,CAACD,IAAD,EAAa;IAC1B,MAAMM,WAAW,GAAGN,IAAI,CAACO,WAAL,EAApB;IACA,OAAO,KAAKL,IAAL,CAAUM,MAAV,CAAiBH,IAAI,IAAIA,IAAI,CAACL,IAAL,CAAUO,WAAV,GAAwBE,QAAxB,CAAiCH,WAAjC,CAAzB,CAAP;EACD;;EACDI,QAAQ,CAACX,KAAD,EAAc;IACpB,IAAI,CAAC,KAAKY,UAAL,CAAgBZ,KAAhB,CAAL,EAA6B;MAC3B,KAAKa,YAAL,CAAkBC,IAAlB,CAAuBd,KAAvB;IACD,CAFD,MAEO;MACL,IAAIe,KAAK,GAAG,KAAKF,YAAL,CAAkBG,SAAlB,CAA4BV,IAAI,IAAIA,IAAI,CAACW,EAAL,KAAYjB,KAAK,CAACiB,EAAtD,CAAZ;;MACA,IAAIF,KAAK,IAAI,CAAb,EAAgB;QACd,KAAKF,YAAL,CAAkBK,MAAlB,CAAyBH,KAAzB,EAAgC,CAAhC;MACD;IACF;;IACD,KAAKlB,SAAL,CAAesB,QAAf,CAAwB,EAAxB;IACA,KAAKC,aAAL,CAAmBC,IAAnB,CAAwB,KAAKR,YAA7B;EACD;;EACDS,cAAc,CAACC,CAAD,EAAU;IACtB,KAAKV,YAAL,CAAkBK,MAAlB,CAAyBK,CAAzB,EAA4B,CAA5B;IACA,KAAKH,aAAL,CAAmBC,IAAnB,CAAwB,KAAKR,YAA7B;EACD;;EACDD,UAAU,CAACY,CAAD,EAAU;IAClB,OAAO,KAAKX,YAAL,CAAkBY,IAAlB,CAAuBnB,IAAI,IAAIA,IAAI,CAACW,EAAL,KAAYO,CAAC,CAACP,EAA7C,CAAP;EACD;;EAEDtB,QAAQ;IACN,IAAI,CAAC,KAAKkB,YAAL,CAAkBa,MAAnB,IAA6B,KAAKhC,UAAtC,EAAkD;MAChD,KAAKG,SAAL,CAAe8B,SAAf,CAAyB;QAACC,QAAQ,EAAE;MAAX,CAAzB;IACD,CAFD,MAEO;MACL,KAAK/B,SAAL,CAAe8B,SAAf,CAAyB,IAAzB;IACD;;IACD,KAAK9B,SAAL,CAAegC,aAAf;EACD;;AAtEqC;;;mBAA3B1C;AAA2B;;;QAA3BA;EAA2B2C;EAAAC;IAAAC;IAAAtC;IAAAuC;IAAAC;IAAA/B;IAAAgC;IAAAtB;EAAA;EAAAuB;IAAAhB;EAAA;EAAAiB,WAAAA,kEAAAA;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MCTxCxD,4DAAAA,yBAEsB,CAFtB,EAEsB,WAFtB;MAGaA,oDAAAA;MAASA,0DAAAA;MAEpBA,4DAAAA;MAC2BA,wDAAAA;QAAA,OAAQyD,cAAR;MAAkB,CAAlB;MAD3BzD,0DAAAA;MAGAA,4DAAAA;MACEA,wDAAAA;;MAUFA,0DAAAA;MAEAA,wDAAAA;MAGFA,0DAAAA;MAEAA,4DAAAA,WAAK,EAAL,EAAK,IAAL,EAAK,CAAL;MAEIA,wDAAAA;MAIFA,0DAAAA;;;;;;MA/BAA,yDAAAA;MACAA,wDAAAA;MACWA,uDAAAA;MAAAA,+DAAAA;MAEiBA,uDAAAA;MAAAA,wDAAAA,+BAAyB,UAAzB,EAAyByD,YAAzB,EAAyB,iBAAzB,EAAyBC,GAAzB;MAGc1D,uDAAAA;MAAAA,wDAAAA;MACXA,uDAAAA;MAAAA,wDAAAA,YAAAA,yDAAAA;MAYnBA,uDAAAA;MAAAA,wDAAAA;MAOWA,uDAAAA;MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BiF;AAClD;AACN;AAC6B;;;;;;;;;;ICC3E,mFAMkE;IAI9D,0XAAU,2CAAiC,SAAE,+EAAc,KAAE;IAAC,uDAAa;IAAA,4DAAe;;;;IAT5F,mNAImB;IAIjB,0DAA+C;IAA/C,kHAA+C;IACe,0DAAa;IAAb,6EAAa;;;;IAG/E,mFAGgD;IAI1C,uDACF;IAAA,4DAAW;IAGb,mFAG4D;IAA1D,0XAAU,uCAA6B,SAAE,+EAAc,KAAE;IAAC,uDAAa;IAAA,4DAAe;;;;IAZxF,uJAA+E;IAC/E,2GAA6C;IAIzC,0DACF;IADE,oJACF;IAIA,0DAAwC;IAAxC,2GAAwC;IAEkB,0DAAa;IAAb,6EAAa;;;;IA/B/E,wEAAuC;IACrC,8EAC6D;IAE3D,qJAWgB;IAEhB,qJAegB;IAElB,4DAAW;IACb,qEAAe;;;IAlCH,0DAAyB;IAAzB,yFAAyB;IAiBJ,0DAAc;IAAd,+FAAc;;;IAkB/C,wEAAwC;IAAA,uDAAgC;;IAAA,4DAAI;;IAApC,0DAAgC;IAAhC,kJAAgC;;AD/BjE,MAAM,MAAM;CAOlB;AAED,iEAAiE;AAC1D,MAAM,gBAAgB;CAQ5B;AAMM,MAAM,sBAAsB;IAmCjC;QAjCS,WAAM,GAAG,KAAK,CAAC;QACf,cAAS,GAAa,EAAE,CAAC;QACzB,aAAQ,GAAa,EAAE,CAAC;QACxB,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QAGlB,kBAAa,GAAG,IAAI,uDAAY,EAAY,CAAC;QAEvD,8FAA8F;QAC9F,gBAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;QAElD,kGAAkG;QAClG,kBAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;QAEpD,4CAA4C;QAC5C,mBAAc,GAA4B,IAAI,CAAC;QAE/C,0BAA0B;QAC1B,gBAAW,GAAG,EAAE,CAAC;QASjB,kCAAkC;QAClC,uBAAkB,GAAG,IAAI,oEAAc,CAAmB,IAAI,CAAC,cAAc,CAAC,CAAC;QAkE/E,aAAQ,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAElD,iBAAY,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;QAE3D,gBAAW,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,IAAI,CAAC,MAAO,CAAC;QAEvD,aAAQ,GAAG,CAAC,CAAS,EAAE,SAA2B,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;QAK5E;;WAEG;QACH,gBAAW,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBAC9D,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YAExC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YAC5C,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAK,CAAC;YAC3B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAS,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC;QA5FC,IAAI,CAAC,aAAa,GAAG,IAAI,oEAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EACvE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,8DAAe,CAAmB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,GAAG,IAAI,yEAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAEpF,CAAC;IAED,QAAQ;QACN,IAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAC;YACzC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;gBAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;SACJ;QACD,6CAA6C;QAC7C,uBAAuB;QACvB,+FAA+F;QAC/F,8DAA8D;QAC9D,iCAAiC;QACjC,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,IAAI;IACN,CAAC;IAED,OAAO,CAAC,IAAS;QACf,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;gBACnC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;aACxC;SACF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,0BAA0B;IAC1B,iDAAiD;IACjD,gDAAgD;IAChD,uDAAuD;IACvD,iCAAiC;IACjC,UAAU;IACV,UAAU;IACV,aAAa;IACb,kFAAkF;IAClF,uBAAuB;IACvB,kDAAkD;IAClD,QAAQ;IACR,MAAM;IACN,IAAI;IAEJ,WAAW;QACT,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAsB,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAUD,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;IACrE,CAAC;IAwBD,4DAA4D;IAC5D,sBAAsB,CAAC,IAAsB;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC1E,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,mDAAmD;IACnD,4BAA4B,CAAC,IAAsB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,gFAAgF;IAChF,uBAAuB,CAAC,IAAsB;QAC5C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC;QAErD,8BAA8B;QAC9B,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,uFAAuF;IACvF,2BAA2B,CAAC,IAAsB;QAChD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,oEAAoE;IACpE,wBAAwB,CAAC,IAAsB;QAC7C,IAAI,MAAM,GAA4B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,MAAM,EAAE;YACb,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACrC;IACH,CAAC;IAED,8DAA8D;IAC9D,sBAAsB,CAAC,IAAsB;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC1E,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE;YACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxC;aAAM,IAAI,CAAC,YAAY,IAAI,eAAe,EAAE;YAC3C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACtC;IACH,CAAC;IAED,mCAAmC;IACnC,aAAa,CAAC,IAAsB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhE,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAElD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,YAAY,EAAE;gBAC7C,OAAO,WAAW,CAAC;aACpB;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,SAAc,EAAE,IAAS;QACjC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;YACxD,IAAK,CAAE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAO,CAAC,MAAM,CAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;gBAC7F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEM,YAAY,CAAC,IAAsB;QACxC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;YAClC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;IACjE,CAAC;IACM,cAAc,CAAC,IAAsB;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SACvC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,IAAsB;QAC1C,OAAO,IAAI,CAAC,WAAW;aAClB,cAAc,CAAC,IAAI,CAAC;aACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;aAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;;4FAnPU,sBAAsB;oHAAtB,sBAAsB;QC7BnC,oIAmCe;QACf,8GAA4E;;QApC7D,sFAAsB;QAoCf,0DAAgB;QAAhB,gFAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCiD;AAC5C;AACZ;AAEqC;;;;;;;;;ICuBlE,0EAA6E;IAC3E,uDACF;;IAAA,4DAAM;;;IADJ,0DACF;IADE,2QACF;;;IACA,0EAA+E;IAC7E,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,mLACF;;;IACA,0EAA0C;IAAA,uDAAqD;;IAAA,4DAAM;;IAA3D,0DAAqD;IAArD,uKAAqD;;;;IAC/F,0EAAgD;IAAA,uDAC1C;;IAAA,4DAAM;;;IADoC,0DAC1C;IAD0C,wPAC1C;;;IACN,qEAA0D;;;IAC1D,0EAA0E;IACxE,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,6JACF;;;IACA,0EAAyE;IACnE,uDAAsC;;IAAA,4DAAK;;;IADtB,uFAAuB;IAC5C,0DAAsC;IAAtC,wJAAsC;;;;IAOtC,0EAA4C;IAExC,qEAA8B;IAChC,4DAAM;IACN,0EAAiB;IACkB,uDAAqB;IAAA,4DAAQ;IAC9D,uEAAM;IAAA,uDAAkC;IAAA,4DAAO;IAGjD,0EAAkF;;IAI5E,4EAAU;IAAA,+EAAmB;IAAA,4DAAW;IAG1C,6EAE8C;IAA5C,uYAAU,oGAA8B,KAAC;IAF3C,4DAE8C;IAEhD,uEAAK;IACK,4bAAS,+FAAsB,KAAC;IACtC,8DAAgD;IAAhD,2EAAgD;IAC9C,uEAEoD;IACtD,4DAAM;;;;;;IAxBL,0DAAsB;IAAtB,uKAAsB;IAGpB,0DAAyB;IAAzB,kHAAyB;IAAC,0DAAqB;IAArB,gHAAqB;IAChD,0DAAkC;IAAlC,qIAAkC;IAK/B,0DAAyD;IAAzD,wKAAyD;IAK9B,0DAAuC;IAAvC,kHAAuC;;;IAjBjF,0EAA6D;IAC3D,0HA8BM;IACR,4DAAM;;;IA/BE,0DAAU;IAAV,yEAAU;;;ADrCjB,MAAM,qBAAqB;IAwBhC,YAC4B,QAAkB,EACpC,SAA2B;QADT,aAAQ,GAAR,QAAQ,CAAU;QACpC,cAAS,GAAT,SAAS,CAAkB;QAzB3B,kBAAa,GAAG,IAAI,uDAAY,EAAM,CAAC;QACvC,qBAAgB,GAAG,IAAI,uDAAY,EAAM,CAAC;QAE3C,UAAK,GAAQ,EAAE,CAAC;QAChB,iBAAY,GAAG,IAAI,CAAC;QACpB,aAAQ,GAAG,CAAC,CAAC;QACb,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAQ,GAAG,CAAC,CAAC,8CAA8C;QAEvE,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QACnB,SAAI,GAAG,CAAC,CAAC;QAET,eAAU,GAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE5C,KAAK;QACL,uBAAkB,GAAG,CAAC,CAAC;QACvB,iBAAY,GAAQ,EAAE,CAAC;QACvB,cAAS,GAAG,IAAI,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QACzB,yBAAoB,GAAG,KAAK,CAAC;IAKzB,CAAC;IAEL,QAAQ,KAAK,CAAC;IAEd,aAAa,CAAC,QAAgB;QAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAEhE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE;YACtF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,QAAgB;QACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3D,QAAQ,SAAS,EAAE;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAU;QAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa,EAAE,EAAO;QAC/B,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,KAAiB;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC3C,OAAO;SACR;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExC,IAAI,OAAO,GAAG;oBACZ,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,0EAAuB;iBACnB,CAAC;gBAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACxC,OAAO,CAAC,QAAQ,GAAG,KAAK;oBACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;oBACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBAC/B;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;oBAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;iBAC9B;aACF;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,iBAAiB,CAAC,SAAe;QACtC,MAAM,KAAK,GAAqB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAsB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,OAAO,GAAoC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAG,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAG,MAAM,CAAC,CAAC;YACzC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;gBACxC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;gBAClC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBACrE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClB,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACvB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACzC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAS,IAAI,CAAC;QAC7B,MAAM,SAAS,GAAW,YAAY,CAAC;QACvC,MAAM,SAAS,GAAS,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE;YACvD,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qDAAqD;IACrD,6DAA6D;IAC7D,uDAAuD;IACvD,2EAA2E;IAC3E,iEAAiE;IACjE,oDAAoD;IACpD,iDAAiD;IACjD,QAAQ;IACR,kEAAkE;IAClE,2BAA2B;IAC3B,2BAA2B;IAC3B,QAAQ;IACR,IAAI;IAGJ,sEAAsE;IACtE,sEAAsE;IAEtE,+BAA+B;IAC/B,mBAAmB,CAAC,MAAW,EAAE,KAAa;QAC5C,MAAM,IAAI,GAAS,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,yEAAsB,CAAC;SACtD;IACH,CAAC;IACD,QAAQ,CAAC,IAAU,EAAE,KAAa;QAChC,MAAM,QAAQ,GAAe,IAAI,UAAU,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAgB,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IACD,YAAY,CAAC,IAAU,EAAE,KAAa;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;gBACpC,8BAA8B;aAC/B;iBAAM;gBACL,6BAA6B;gBAC7B,uDAAS,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;iBAChG,CAAC;gBACF,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,6BAA6B;YAC7B,uDAAS,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAClD,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,CAAC,QAAgB;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,SAAS,EAAE;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;;0FA1PU,qBAAqB,kEAyBtB,qDAAQ;mHAzBP,qBAAqB;QCXlC,yEAA0E;QACnE,4JAAe,yBAAqB,IAAC;QAExC,8EAGiD;QAF/C,oJAAU,6BAAyB,IAAC;QADtC,4DAGiD;QACjD,sEAAK;QACH,8DAAgD;QAAhD,yEAAgD;QAC9C,qEAEuE;QACzE,4DAAM;QAER,+DAAI;QAAJ,qEAAI;QAAA,uDAA+D;;QAAA,4DAAK;QACxE,uEAAK;QACG,wDAA0F;;QAAA,4DAAO;QACvG,yEAAmD;QAAA,wDAA+C;;QAAA,4DAAQ;QAE5G,0EAAkB;QAChB,wDACA;;QAAA,wEAAM;QAAA,wDAAc;QAAA,4DAAO;QAE7B,2EAA2B;QAAA,wDAA2E;;QAAA,4DAAO;QAI/G,mHAEM;QACN,mHAEM;QACN,mHAAqG;QACrG,mHACY;QACZ,mHAA0D;QAC1D,mHAEM;QACN,mHAEM;QAGN,2EAAwB;QAEpB,oHAgCM;QACR,4DAAM;;QAhFL,6JAAoC;QACI,0DAAwB;QAAxB,qFAAwB;QAK/D,0DAAuB;QAAvB,oFAAuB;QADvB,mGAA0C;QASxC,0DAA+D;QAA/D,sLAA+D;QAE3D,0DAA0F;QAA1F,8MAA0F;QACzF,0DAA2C;QAA3C,oGAA2C;QAAC,0DAA+C;QAA/C,mKAA+C;QAGlG,0DACA;QADA,+KACA;QAAM,0DAAc;QAAd,+EAAc;QAEK,0DAA2E;QAA3E,wPAA2E;QAIlG,0DAAmD;QAAnD,2HAAmD;QAGnD,0DAAqD;QAArD,6HAAqD;QAGrD,0DAAgB;QAAhB,gFAAgB;QAChB,0DAAsB;QAAtB,sFAAsB;QAEtB,0DAA0B;QAA1B,0FAA0B;QAC1B,0DAAgD;QAAhD,wHAAgD;QAGhD,0DAAmB;QAAnB,mFAAmB;QAOC,0DAAU;QAAV,8EAAU;;;;;;;;;;;;;;;;;AC/CtC,gFAAgF;AAChF,mEAAmE;AACnE,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IAEjB,iEAAiE;IACjE,8DAA8D;IAC9D,gEAAgE;IAEhE,kFAAkF;IAClF,gEAAgE;IAChE,kEAAkE;IAElE,yDAAyD;IACzD,0EAA0E;IAC1E,0EAA0E;IAE1E,2DAA2D;IAC3D,4EAA4E;IAC5E,0EAA0E;IAE1E,MAAM,EAAE,8CAA8C;IACtD,MAAM,EAAE,gDAAgD;IACxD,OAAO,EAAE,iDAAiD;IAE1D,aAAa,EAAE,0CAA0C;IACzD,YAAY,EAAE,0CAA0C;CACzD,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;ACtCvB;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;IACjB,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IAC5D,iEAAiE;IACjE,uDAAuD;IACvD,gCAAgC;IAChC,gDAAgD;IAChD,sDAAsD;IACtD,yBAAyB;IACzB,sDAAsD;IACtD,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,0BAA0B;IAC1B,+BAA+B;IAC/B,4DAA4D;IAC5D,UAAU;IACV,IAAI;IACJ,gEAAgE;IAChE,wDAAwD;IACxD,IAAI;AACN,CAAC,CAAC;KACC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;AC/BpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/features/auth/profile-management/profile-form/profile-form.component.ts","./src/app/features/auth/profile-management/profile-form/profile-form.component.html","./src/app/features/auth/profile-management/profile-management.component.ts","./src/app/features/auth/profile-management/profile-management.component.html","./src/app/features/guests-reviews/services/guests-review.service.ts","./src/app/features/pages/error/error.component.ts","./src/app/features/pages/error/error.component.html","./src/app/features/reported-content/components/report-content-resolve-form/report-content-resolve-form.component.ts","./src/app/features/reported-content/components/report-content-resolve-form/report-content-resolve-form.component.html","./src/app/features/reported-content/models/reportedContent.ts","./src/app/features/reported-content/services/ReportContent.service.ts","./src/app/features/restaurants/components/profile/guest-reviews/guest-review-details/guest-review-details.component.ts","./src/app/features/restaurants/components/profile/guest-reviews/guest-review-details/guest-review-details.component.html","./src/app/features/restaurants/services/Reviews.service.ts","./src/app/helpers/CanDeactivate/dirty-check.guard.ts","./src/app/helpers/CanDeactivate/dirty-component.ts","./src/app/helpers/CustomPaginatorConfiguration.ts","./src/app/helpers/DateModelTime.pipe.ts","./src/app/helpers/DateTimeMerge.pipe.ts","./src/app/helpers/MyMissingTranslationHandler.ts","./src/app/helpers/auth.guard.ts","./src/app/helpers/custom.validator.ts","./src/app/helpers/dnd.directive.ts","./src/app/helpers/drop-down.directive.ts","./src/app/helpers/error.interceptor.ts","./src/app/helpers/filter.pipe.ts","./src/app/helpers/format-datepicker.ts","./src/app/helpers/in-view.directive.ts","./src/app/helpers/jwt.interceptor.ts","./src/app/helpers/material-modules.ts","./src/app/helpers/ng-select.directive.ts","./src/app/helpers/onlynumber.directive.ts","./src/app/helpers/patterns.ts","./src/app/helpers/print.directive.ts","./src/app/helpers/sanitize-html-pipe.pipe.ts","./src/app/helpers/short-name.pipe.ts","./src/app/layouts/admin-layout/admin-layout.component.ts","./src/app/layouts/admin-layout/admin-layout.component.html","./src/app/layouts/admin-layout/header/header.component.ts","./src/app/layouts/admin-layout/header/header.component.html","./src/app/layouts/admin-layout/sidebar/sidebar.component.ts","./src/app/layouts/admin-layout/sidebar/sidebar.component.html","./src/app/layouts/basic-layout/basic-layout.component.ts","./src/app/layouts/basic-layout/basic-layout.component.html","./src/app/layouts/empty-layout/empty-layout.component.ts","./src/app/layouts/empty-layout/empty-layout.component.html","./src/app/models/DatePickerModel.ts","./src/app/models/Lookup.ts","./src/app/models/Notification.ts","./src/app/models/auth/user.ts","./src/app/services/StorageService.ts","./src/app/services/authentication.service.ts","./src/app/services/lookups.service.ts","./src/app/services/navigation.service.ts","./src/app/services/notifications.service.ts","./src/app/services/signal-rservice.service.ts","./src/app/shared/datepicker/datepicker.component.ts","./src/app/shared/datepicker/datepicker.component.html","./src/app/shared/datepicker/islamic-picker/islamic-picker.component.ts","./src/app/shared/datepicker/islamic-picker/islamic-picker.component.html","./src/app/shared/empty-state/empty-state.component.ts","./src/app/shared/empty-state/empty-state.component.html","./src/app/shared/file-manager/file-manager.component.ts","./src/app/shared/file-manager/file-manager.component.html","./src/app/shared/image-control/cropper-dialog/cropper-dialog.component.ts","./src/app/shared/image-control/cropper-dialog/cropper-dialog.component.html","./src/app/shared/image-control/image-control.component.ts","./src/app/shared/image-control/image-control.component.html","./src/app/shared/paging/paging.component.ts","./src/app/shared/paging/paging.component.html","./src/app/shared/phone-number/phone-number.component.ts","./src/app/shared/phone-number/phone-number.component.html","./src/app/shared/photo-manager/photo-manager.component.ts","./src/app/shared/photo-manager/photo-manager.component.html","./src/app/shared/shared.module.ts","./src/app/shared/side-sheet/side-sheet.component.ts","./src/app/shared/side-sheet/side-sheet.component.html","./src/app/shared/tags-selector-search/tags-selector-search.component.ts","./src/app/shared/tags-selector-search/tags-selector-search.component.html","./src/app/shared/tree-selection/tree-selection.component.ts","./src/app/shared/tree-selection/tree-selection.component.html","./src/app/shared/video-manager/video-manager.component.ts","./src/app/shared/video-manager/video-manager.component.html","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ProfileManagementComponent } from './features/auth/profile-management/profile-management.component';\r\nimport { ErrorComponent } from './features/pages/error/error.component';\r\nimport { TopRestaurantByOrdersComponent } from './features/reports/components/top-restaurant-by-orders/top-restaurant-by-orders.component';\r\nimport { AuthGuard } from './helpers/auth.guard';\r\nimport { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';\r\nimport { BasicLayoutComponent } from './layouts/basic-layout/basic-layout.component';\r\nimport { EmptyLayoutComponent } from './layouts/empty-layout/empty-layout.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: BasicLayoutComponent,\r\n children: [\r\n { path: '', loadChildren: () => import('./features/auth/auth.module').then(m => m.AuthModule) }\r\n ]\r\n },\r\n {\r\n path: 'admin/floorPlan',\r\n component: EmptyLayoutComponent,\r\n children: [\r\n { path: '', loadChildren: () => import('./features/floor-plan/floor-plan.module').then(m => m.FloorPlanModule) },\r\n ]\r\n },\r\n {\r\n path: 'admin',\r\n component: AdminLayoutComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: '', redirectTo: (localStorage.getItem('baseRoute') || ''), pathMatch: 'full' },\r\n { path: 'profile', component: ProfileManagementComponent },\r\n { path: 'dashboard', loadChildren: () => import('./features/dashboard/dashboard.module').then(m => m.DashboardModule) },\r\n { path: 'guestList', loadChildren: () => import('./features/guests/guests.module').then(m => m.GuestsModule) },\r\n { path: 'roles', loadChildren: () => import('./features/roles/roles.module').then(m => m.RolesModule) },\r\n { path: 'restaurants', loadChildren: () => import('./features/restaurants/restaurants.module').then(m => m.RestaurantsModule) },\r\n { path: 'SystemTeam', loadChildren: () => import('./features/Accounts/diwan-team/diwan-team.module').then(m => m.DiwanTeamModule) },\r\n { path: 'RestaurantStaff', loadChildren: () => import('./features/Accounts/restaurant-staff/restaurant-staff.module').then(m => m.RestaurantStaffModule) },\r\n {\r\n path: 'configrations',\r\n children: [\r\n { path: 'cuisines', loadChildren: () => import('./features/configrations/cuisines/cuisines.module').then(m => m.CuisinesModule) },\r\n { path: 'seatings', loadChildren: () => import('./features/configrations/seatings/seatings.module').then(m => m.SeatingsModule) },\r\n { path: 'amenities', loadChildren: () => import('./features/configrations/amenities/amenities.module').then(m => m.AmenitiesModule) },\r\n { path: 'MeasurementUnits', loadChildren: () => import('./features/configrations/measurement-units/measurement-units.module').then(m => m.MeasurementUnitsModule) },\r\n { path: 'sizes', loadChildren: () => import('./features/configrations/sizes/sizes.module').then(m => m.SizesModule) },\r\n { path: 'payment', loadChildren: () => import('./features/configrations/payment/payment.module').then(m => m.PaymentModule) },\r\n { path: 'reviewOptions', loadChildren: () => import('./features/configrations/review-options/review-options.module').then(m => m.ReviewOptionsModule) },\r\n ]\r\n },\r\n {\r\n path: 'ingConfigrations',\r\n children: [\r\n { path: 'MeasurementUnits', loadChildren: () => import('./features/configrations/measurement-units/measurement-units.module').then(m => m.MeasurementUnitsModule) },\r\n { path: 'IngredientsCategory', loadChildren: () => import('./features/configrations/ingredients-category/ingredients-category.module').then(m => m.IngredientsCategoryModule) },\r\n { path: 'Ingredients', loadChildren: () => import('./features/configrations/ingredients/ingredients.module').then(m => m.IngredientsModule) },\r\n ]\r\n },\r\n { path: 'vouchers', loadChildren: () => import('./features/vouchers/vouchers.module').then(m => m.VouchersModule) },\r\n {\r\n path: 'reward-points',\r\n children: [\r\n { path: 'reward-points-config', loadChildren: () => import('./features/reward-points/reward-points-config/reward-points-config.module').then(m => m.RewardPointsConfigModule) },\r\n { path: 'redeeming', loadChildren: () => import('./features/reward-points/redeeming/redeeming.module').then(m => m.RedeemingModule) }\r\n ]\r\n },\r\n {\r\n path: 'menu-management',\r\n children: [\r\n { path: 'menus', loadChildren: () => import('./features/menu-management/menus/menus.module').then(m => m.MenusModule) },\r\n { path: 'modifiers', loadChildren: () => import('./features/menu-management/modifiers/modifiers.module').then(m => m.ModifiersModule) }\r\n ]\r\n },\r\n {\r\n path: 'stock-management',\r\n children: [\r\n { path: 'suppliers', loadChildren: () => import('./features/Stock Management/suppliers/suppliers.module').then(m => m.SuppliersModule) },\r\n { path: 'stock-transaction', loadChildren: () => import('./features/Stock Management/stock-transaction/stock-transaction.module').then(m => m.StockTransactionModule) }\r\n ]\r\n },\r\n { path: 'reports', loadChildren: () => import('./features/reports/reports.module').then(m => m.ReportsModule) },\r\n { path: 'guestAppManage', loadChildren: () => import('./features/guest-app-manage/guest-app-manage.module').then(m => m.GuestAppManageModule) },\r\n { path: 'reported-content', loadChildren: () => import('./features/reported-content/reported-content.module').then(m => m.ReportedContentModule) },\r\n { path: 'guests-reviews', loadChildren: () => import('./features/guests-reviews/guests-reviews.module').then(m => m.GuestsReviewsModule) },\r\n { path: 'reportedReservations', loadChildren: () => import('./features/reported-reservations/reported-reservations.module').then(m => m.ReportedReservationsModule) },\r\n { path: '**', component: ErrorComponent }\r\n ]\r\n },\r\n { path: '**', component: ErrorComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\nimport { StorageService } from './services/StorageService';\nimport { fromEvent, Observable, Subscription } from 'rxjs';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UpToDateBuildService } from './helpers/BuildDetails/up-to-date.service';\nimport Swal from 'sweetalert2';\n// import { UpdateAppService } from './services/UpdateAppService';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\nexport class AppComponent {\n\n constructor(\n public storageService: StorageService,\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n // private sw: UpdateAppService,\n // upToDateService: UpToDateBuildService\n ) {\n // this.sw.checkForUpdates();\n // let buildNumber = upToDateService.buildNumberAtStartup;\n // upToDateService.buildIsUpToDate.subscribe(buildIsUpToDate => {\n // if (!buildIsUpToDate) {\n // Swal.fire({\n // title: this.translate.instant('general.New app version found.'),\n // icon: 'info',\n // confirmButtonText: this.translate.instant('swalMsg.Reload'),\n // }).then(() => {\n // window.location.reload();\n // });\n // }\n // });\n\n this.storageService.changes.subscribe(data => {\n if (data?.key == 'language' || data?.key == 'authUser') {\n window.location.reload();\n }\n });\n\n var lang = localStorage.getItem('language') || 'en';\n var style = './assets/css/en-US/style.css';\n var dir = 'ltr';\n if (lang == 'ar') {\n style = './assets/css/ar-SA/style.css';\n dir = 'rtl';\n }\n let buildNumber = '1.0.3'\n style += buildNumber ? '?vr=' + buildNumber : '';\n document.getElementById('mainStyle')?.setAttribute('href', style);\n document.getElementById('html')?.setAttribute('lang', lang);\n document.getElementById('html')?.setAttribute('dir', dir);\n }\n}\n","\n","import { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MissingTranslationHandler, TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\r\n}\r\nimport { MyMissingTranslationHandler } from './helpers/MyMissingTranslationHandler';\r\n\r\nimport { SharedModule } from './shared/shared.module';\r\n\r\nimport { JwtInterceptor } from './helpers/jwt.interceptor';\r\nimport { ErrorInterceptor } from './helpers/error.interceptor';\r\n\r\nimport { BasicLayoutComponent } from './layouts/basic-layout/basic-layout.component';\r\nimport { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';\r\nimport { HeaderComponent } from './layouts/admin-layout/header/header.component';\r\nimport { SidebarComponent } from './layouts/admin-layout/sidebar/sidebar.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EmptyLayoutComponent } from './layouts/empty-layout/empty-layout.component';\r\nimport { ErrorComponent } from './features/pages/error/error.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { ProfileManagementComponent } from './features/auth/profile-management/profile-management.component';\r\nimport { ProfileFormComponent } from './features/auth/profile-management/profile-form/profile-form.component';\r\n// import { ServiceWorkerModule } from '@angular/service-worker';\r\n// import { environment } from '../environments/environment';\r\n\r\nimport { BuildDetailsHttpService } from './helpers/BuildDetails/build-details.http.service';\r\nexport function fetchBuildDetails(buildDetailsService: BuildDetailsHttpService) {\r\n return () => buildDetailsService.fetchBuildDetails();\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n BasicLayoutComponent,\r\n EmptyLayoutComponent,\r\n AdminLayoutComponent,\r\n HeaderComponent,\r\n SidebarComponent,\r\n ErrorComponent,\r\n ProfileManagementComponent,\r\n ProfileFormComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n SharedModule,\r\n NgSelectModule,\r\n TranslateModule.forRoot({\r\n defaultLanguage: localStorage.getItem('language') || 'en',\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (HttpLoaderFactory),\r\n deps: [HttpClient]\r\n },\r\n missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },\r\n }),\r\n // ServiceWorkerModule.register('ngsw-worker.js', {\r\n // enabled: environment.production,\r\n // // Register the ServiceWorker as soon as the application is stable\r\n // // or after 30 seconds (whichever comes first).\r\n // registrationStrategy: 'registerWhenStable:30000'\r\n // })\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n // { provide: APP_INITIALIZER, useFactory: fetchBuildDetails, deps: [BuildDetailsHttpService], multi: true }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n public translate: TranslateService\r\n ) {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params['lang'] && (params['lang'] == 'ar' || 'en')) {\r\n if (localStorage.getItem('language') !== params['lang']) {\r\n translate.use(params['lang']);\r\n localStorage.setItem('language', params['lang']);\r\n location.reload();\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DirtyComponent } from 'src/app/helpers/CanDeactivate/dirty-component';\r\nimport { CustomValidator } from 'src/app/helpers/custom.validator';\r\nimport { Patterns } from 'src/app/helpers/patterns';\r\nimport { Lookup } from 'src/app/models/Lookup';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\nimport Swal from 'sweetalert2';\r\nimport { Profile } from '../models/Profile';\r\n\r\nexport interface DialogData {\r\n details: Profile\r\n}\r\n@Component({\r\n selector: 'app-profile-form',\r\n templateUrl: './profile-form.component.html'\r\n})\r\nexport class ProfileFormComponent extends DirtyComponent implements OnInit {\r\n override formGroup!: FormGroup;\r\n dataLoading = false;\r\n loading = false;\r\n isSubmitted = false;\r\n\r\n details = this.data.details;\r\n\r\n nationalities: Lookup[] = [];\r\n genderList: Lookup[] = [];\r\n\r\n today = new Date();\r\n maxDate = new Date();\r\n\r\n selectedCountry: any;\r\n\r\n // image file\r\n logo: any;\r\n logoSrc!: string;\r\n maxFileSize = 0.5;\r\n fileExt!: string;\r\n fileTypeError = false;\r\n fileSizeError = false;\r\n\r\n constructor(\r\n override dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private formBuilder: FormBuilder,\r\n private service: AuthenticationService,\r\n public lookupsService: LookupsService,\r\n translate: TranslateService\r\n ) { super(translate); }\r\n\r\n ngOnInit(): void {\r\n this.maxDate = new Date(this.today.setFullYear(this.today.getFullYear() - 18));\r\n this.buildForm();\r\n this.getNationalities();\r\n this.getGender();\r\n }\r\n\r\n override canDeactivate(): boolean {\r\n return this.formGroup.dirty || this.logo ? true : false;\r\n };\r\n\r\n buildForm() {\r\n this.formGroup = this.formBuilder.group({\r\n fName: [null, [\r\n CustomValidator.noWhiteSpace,\r\n Validators.maxLength(50),\r\n // Validators.pattern(Patterns.noSpecialTxt),\r\n Validators.required\r\n ]],\r\n lName: [null, [\r\n CustomValidator.noWhiteSpace,\r\n Validators.maxLength(50),\r\n // Validators.pattern(Patterns.noSpecialTxt),\r\n Validators.required\r\n ]],\r\n phoneNumber: [null, Validators.required],\r\n email: [null, [\r\n CustomValidator.noWhiteSpace,\r\n Validators.maxLength(50),\r\n Validators.pattern(Patterns.email)\r\n ]],\r\n nationalityId: [null, Validators.required],\r\n birthDate: [null, Validators.required],\r\n gender: [],\r\n });\r\n\r\n this.formGroup.patchValue(this.details);\r\n if (this.details.dateOfBirth) {\r\n this.formGroup.controls['birthDate'].setValue(this.details.dateOfBirth.gregorian);\r\n }\r\n this.logoSrc = this.details.profilePicture;\r\n this.selectedCountry = this.details.countryflag;\r\n }\r\n\r\n hasError(controlName: string, errorName: string) {\r\n return this.formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n\r\n getNationalities() {\r\n this.lookupsService.getNationalities()\r\n .subscribe(\r\n data => {\r\n this.nationalities = data as [];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getGender() {\r\n this.lookupsService.GetGender()\r\n .subscribe(\r\n data => {\r\n this.genderList = data as [];\r\n this.formGroup.controls['gender'].setValue(this.details.gender.lookupcode)\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n saveProfile() {\r\n this.isSubmitted = true;\r\n if (this.formGroup.valid) {\r\n this.loading = true;\r\n let data = this.formGroup.value;\r\n data.phoneflag = this.formGroup.controls['phoneNumber'].value.countryCode;\r\n data.phoneCode = this.formGroup.controls['phoneNumber'].value.dialCode;\r\n data.phoneNumber = this.formGroup.controls['phoneNumber'].value.number;\r\n\r\n this.service.updateUserProfile(data, this.logo).subscribe(response => {\r\n this.loading = false;\r\n this.updateSuccess(response);\r\n }, error => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Failed'),\r\n text: error.detail,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok'),\r\n });\r\n });\r\n }\r\n }\r\n\r\n updateSuccess(response: any) {\r\n let message = this.translate.instant('swalMsg.updatedsuccessfully');\r\n let emailChanged = false;\r\n if (response.errorMessages && response.errorMessages.length) {\r\n message = response.errorMessages[0];\r\n emailChanged = true;\r\n }\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Success'),\r\n text: message,\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok')\r\n }).then((result) => {\r\n this.dialogRef.close(true);\r\n if (emailChanged) {\r\n this.service.logout();\r\n }\r\n })\r\n }\r\n\r\n\r\n // File preview with validation\r\n changeFileListener($event: any): void {\r\n const file: File = $event.target.files[0];\r\n if (file && this.validateFile(file)) {\r\n this.readThis(file);\r\n this.logo = file;\r\n } else {\r\n this.logoSrc = '';\r\n this.logo = undefined;\r\n }\r\n }\r\n readThis(file: File): void {\r\n const myReader: FileReader = new FileReader();\r\n myReader.readAsDataURL(file);\r\n myReader.onloadend = (e) => {\r\n this.logoSrc = myReader.result as string;\r\n };\r\n }\r\n validateFile(file: File): any {\r\n if (this.fileType(file.name)) {\r\n this.fileTypeError = false;\r\n if ((file.size / (1024 * 1024)) <= this.maxFileSize) {\r\n this.fileSizeError = false;\r\n } else {\r\n this.fileSizeError = true;\r\n return false;\r\n }\r\n } else {\r\n this.fileTypeError = true;\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileType(fileName: string): any {\r\n const extension = fileName.split('.')?.pop()?.toLowerCase();\r\n switch (extension) {\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n

{{\"general.Edit Profile\" | translate}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

\r\n {{ 'content5.JPG or PNG' | translate }}\r\n ({{ 'content5.MB max' | translate: {no: 1} }})\r\n

\r\n
\r\n
\r\n \r\n

{{ 'forms.InvalidFile' | translate }}

\r\n

{{ 'forms.Max-file-size' | translate }} {{maxFileSize}} {{\r\n 'forms.MB' | translate }}

\r\n
\r\n\r\n
\r\n \r\n {{\"forms.First name\" | translate}}\r\n \r\n {{ 'forms.Required' | translate }}\r\n \r\n \r\n\r\n \r\n {{\"forms.Last name\" | translate}}\r\n \r\n {{ 'forms.Required' | translate }}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n {{\"forms.Email\" | translate}}\r\n \r\n {{ 'forms.Required' | translate }}\r\n {{ 'forms.Invalid-Email' | translate }}\r\n \r\n\r\n \r\n {{ 'forms.Nationality' | translate }}\r\n \r\n \r\n {{nationality.name}}\r\n \r\n \r\n \r\n {{ 'forms.Required' | translate }}\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
{{\"forms.Gender\" | translate}}
\r\n \r\n {{item.name}}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { Profile } from './models/Profile';\r\nimport { ProfileFormComponent } from './profile-form/profile-form.component';\r\n\r\n@Component({\r\n selector: 'app-profile-management',\r\n templateUrl: './profile-management.component.html'\r\n})\r\nexport class ProfileManagementComponent implements OnInit {\r\n dataLoading = false;\r\n details!: Profile;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private service: AuthenticationService,\r\n public translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getProfile();\r\n }\r\n\r\n\r\n getProfile() {\r\n this.dataLoading = true;\r\n this.service.GetUserDetails().subscribe((data) => {\r\n this.dataLoading = false;\r\n this.details = data;\r\n\r\n let currentUser = this.service.currentUserValue;\r\n if (currentUser) {\r\n currentUser.profilePic = this.details.profilePicture;\r\n this.service.currentUserSubject.next(currentUser);\r\n }\r\n },\r\n (error: any) => {\r\n this.dataLoading = false;\r\n // this.service.logout();\r\n });\r\n }\r\n\r\n openForm() {\r\n if (this.details.canEdit) {\r\n const dialogRef = this.dialog.open(ProfileFormComponent, {\r\n width: '560px',\r\n data: { details: this.details }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getProfile();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{details.name}}

\r\n

\r\n \r\n , {{item.name}}\r\n

\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{'content4.Basic Information' | translate}}
\r\n
\r\n
\r\n
\r\n \r\n

{{'forms.Email' | translate}}

\r\n {{details.email}}\r\n
\r\n
\r\n
\r\n \r\n

{{'forms.Phone number' | translate}}

\r\n \r\n {{details.countryCode + ' ' + details.phoneNumber}}\r\n
\r\n
\r\n \r\n
\r\n \r\n

{{'forms.Gender' | translate}}

\r\n {{details.gender.name}}\r\n
\r\n
\r\n\r\n
\r\n \r\n

{{'forms.Date of birth' | translate}}

\r\n \r\n {{details.dateOfBirth | DateModel}}\r\n \r\n
\r\n
\r\n
\r\n \r\n

{{'forms.Nationality' | translate}}

\r\n \r\n {{details.nationality}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ListFilter } from '../models/review';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GuestsReviewService {\r\n\r\n refreshList = new BehaviorSubject(false);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter: ListFilter): any {\r\n return this.http.post(`${environment.apiUrl}/Review/ListGuestsReviews`, filter);\r\n }\r\n HideReview(reviewId: any, IsHide: boolean): any {\r\n return this.http.get(`${environment.apiUrl}/Review/HideReview?reviewId=${reviewId}&IsHide=${IsHide}`);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html'\n})\nexport class ErrorComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { DirtyComponent } from 'src/app/helpers/CanDeactivate/dirty-component';\r\nimport { ReportContentService } from '../../services/ReportContent.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport Swal from 'sweetalert2';\r\nimport { CustomValidator } from 'src/app/helpers/custom.validator';\r\nimport { DecisionEnum } from '../../models/reportedContent';\r\nimport { Record } from 'src/app/features/restaurants/models/List.GuestReviews';\r\nexport interface DialogData {\r\n record: Record\r\n}\r\n@Component({\r\n selector: 'app-report-content-resolve-form',\r\n templateUrl: './report-content-resolve-form.component.html'\r\n})\r\nexport class ReportContentResolveFormComponent extends DirtyComponent implements OnInit {\r\n override formGroup!: FormGroup;\r\n dataLoading = false;\r\n loading = false;\r\n\r\n isUpdate: boolean = this.data.record.reportDecision ? true : false;\r\n\r\n constructor(\r\n override dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private formBuilder: FormBuilder,\r\n private service: ReportContentService,\r\n translate: TranslateService\r\n ) { super(translate); }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n if (this.isUpdate) {\r\n this.bindDataToUpdate();\r\n }\r\n }\r\n\r\n\r\n buildForm() {\r\n this.formGroup = this.formBuilder.group({\r\n decisionType: [DecisionEnum.Keep],\r\n decisionComment: [null, [\r\n CustomValidator.noWhiteSpace,\r\n Validators.maxLength(300)\r\n ]],\r\n });\r\n }\r\n\r\n hasError(controlName: string, errorName: string) {\r\n return this.formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n bindDataToUpdate() {\r\n this.formGroup.patchValue({\r\n decisionType: this.data.record.reportDecision[0].decisionType,\r\n decisionComment: this.data.record.reportDecision[0].resolutionComment\r\n });\r\n }\r\n\r\n saveRecord() {\r\n if (this.formGroup.valid) {\r\n this.loading = true;\r\n let data = {\r\n reviewId: this.data.record.reviewId,\r\n decisionType: this.formGroup.controls['decisionType'].value,\r\n decisionComment: this.formGroup.controls['decisionComment'].value\r\n };\r\n\r\n let msg = this.translate.instant('swalMsg.savedsuccessfully');\r\n if (this.isUpdate) {\r\n msg = this.translate.instant('swalMsg.updatedsuccessfully');\r\n }\r\n this.service.saveRecord(data).subscribe(() => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Success'),\r\n text: msg,\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok')\r\n });\r\n this.dialogRef.close(true);\r\n }, error => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Failed'),\r\n text: error.detail,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok'),\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","
\n \n
\n\n
\n

{{\"reviews.Mark as Resolved\" | translate}}

\n \n
\n
\n \n
\n\n
\n

{{\"reviews.What is your decision about the reported content?\" | translate}}

\n \n {{\"reviews.Keep it\" | translate}}\n {{\"reviews.Remove it\" | translate}}\n \n
\n\n
\n

{{\"reviews.Have Notes?\" | translate}}

\n \n {{\"forms.Notes\" | translate}}\n \n {{ 'forms.Required' | translate }}\n \n
\n
\n\n
\n\n \n \n\n \n \n
\n
\n","export class ListData {\r\n pageIndex!: number;\r\n pageSize!: number;\r\n totalCount!: number;\r\n pageData!: {\r\n reviewId: number,\r\n active: boolean,\r\n pageData: {\r\n reviewId: number\r\n reviewOwnerIcon: string\r\n reviewOwnerName: string\r\n reportId: number\r\n reportDate: string\r\n reportNumber: string\r\n reportedByIcon: string\r\n reportedByName: string\r\n reportedByType: SourceTypeEnum\r\n restaurantId: number\r\n restaurantIcon: string\r\n restaurantName: string\r\n }[]\r\n }[];\r\n}\r\n\r\nexport enum DecisionEnum {\r\n Hide = 'Hide',\r\n Keep = 'Keep'\r\n}\r\nexport class ReportDetails {\r\n canEditDecision!: boolean\r\n canMakeDecision!: boolean\r\n reportId!: number\r\n reportNumber!: string\r\n reportReasones!: string\r\n reportedbyIcon!: string\r\n reportedbyName!: string\r\n reportComment!: string\r\n reportDate!: string\r\n restaurantId!: any\r\n reportDecision!: {\r\n decisionType: DecisionEnum\r\n resolution: string\r\n resolutionComment: string\r\n resolvedDate: string\r\n resolvedbyIcon: string\r\n resolvedbyName: string\r\n }[]\r\n reviewData!: {\r\n reservationId: number,\r\n reservationNumber: string,\r\n reviewId: number,\r\n reviewerIcon: string\r\n reviewerName: string\r\n restaurantIcon: string\r\n restaurantName: string\r\n reviewComment: string\r\n reviewDate: string\r\n reviewPhotos: string[]\r\n reviewRate: number\r\n reviewVideos: string[]\r\n }\r\n}\r\n\r\nexport class ListFilter {\r\n pageSize!: number;\r\n pageNumber!: number;\r\n sortItems!: sortList | null;\r\n searchText!: string;\r\n createdFrom!: Date;\r\n createdTo!: Date;\r\n phoneNumber!: string;\r\n resturantID!: number;\r\n reportedByType!: SourceTypeEnum;\r\n status!: number;\r\n}\r\nexport enum SourceTypeEnum {\r\n Restaurant = 'Restaurant',\r\n Customer = 'Customer'\r\n}\r\n\r\nexport enum sortList {\r\n NewestCreate = 1,\r\n OldestCreate = 2,\r\n}\r\n\r\nexport enum reportTypeEnum {\r\n Unresolved = 0,\r\n Resolved = 1\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportContentService {\r\n\r\n refreshList = new BehaviorSubject(false);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter: any): any {\r\n return this.http.post(`${environment.apiUrl}/Review/GetReportedContentList`, filter);\r\n }\r\n GetDetails(id: number) {\r\n return this.http.get(`${environment.apiUrl}/Review/GetReportByID?reportId=${id}`);\r\n }\r\n delete(id: string) {\r\n return this.http.get(`${environment.apiUrl}/Review/Delete?id=${id}`);\r\n }\r\n saveRecord(data: any) {\r\n return this.http.post(`${environment.apiUrl}/Review/SendReportDecision`, data);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport lgVideo from 'lightgallery/plugins/video';\r\nimport { GalleryData, GalleryFile } from 'src/app/features/restaurants/models/Gallery';\r\nimport { ReviewService } from 'src/app/features/restaurants/services/Reviews.service';\r\nimport { Record } from 'src/app/features/restaurants/models/List.GuestReviews';\r\nimport { GuestsReviewService } from 'src/app/features/guests-reviews/services/guests-review.service';\r\nimport Swal from 'sweetalert2';\r\nimport { ReportContentResolveFormComponent } from 'src/app/features/reported-content/components/report-content-resolve-form/report-content-resolve-form.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ReportContentService } from 'src/app/features/reported-content/services/ReportContent.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-guest-review-details',\r\n templateUrl: './guest-review-details.component.html'\r\n})\r\nexport class GuestReviewDetailsComponent implements OnInit {\r\n @Input() restaurantId!: any;\r\n @Input() selectedReviewId!: string;\r\n\r\n // If Details opens from Guests Review Component\r\n @Input() isGuestsReview!: boolean;\r\n btnLoading = false;\r\n\r\n // If Details opens from Reported content\r\n @Input() isReported = false;\r\n\r\n review!: Record;// reviewDetails;\r\n dataLoading = false;\r\n @Output() close = new EventEmitter();\r\n\r\n // image file\r\n avatar: any;\r\n avatarSrc!: string;\r\n maxFileSize = 0.8;\r\n fileTypeError = false;\r\n fileSizeError = false;\r\n\r\n Readmore = false;\r\n\r\n settings = {\r\n counter: true,\r\n plugins: [lgVideo],\r\n selector: '.view-btn',\r\n };\r\n\r\n galleryData!: GalleryData;\r\n\r\n showHistory = false;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private service: ReviewService,\r\n private reportContentService: ReportContentService,\r\n private guestsReviewService: GuestsReviewService,\r\n private dialog: MatDialog,\r\n ) {\r\n // super(service, translate);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getDetails();\r\n\r\n this.service.refreshList.subscribe(data => {\r\n if (data) {\r\n this.getDetails();\r\n }\r\n });\r\n this.service.closeDetails.subscribe(data => {\r\n if (data) {\r\n this.close.emit();\r\n this.service.closeDetails.next(false);\r\n }\r\n });\r\n }\r\n ngOnDistroy() {\r\n this.service.refreshList.unsubscribe();\r\n this.service.closeDetails.unsubscribe();\r\n }\r\n\r\n getDetails() {\r\n this.dataLoading = true;\r\n if (this.selectedReviewId) {\r\n this.service.GetDetails(this.selectedReviewId, this.restaurantId).subscribe(\r\n (data: any) => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.review = data as Record;\r\n }\r\n },\r\n (error: any) => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n }\r\n\r\n\r\n videoType(item: GalleryFile) {\r\n return JSON.stringify({\r\n \"source\": [\r\n {\r\n \"src\": item.filePath,\r\n \"type\": item.type.toLowerCase() + '/' + item.extension\r\n }\r\n ],\r\n \"attributes\": {\r\n \"preload\": false,\r\n \"playsinline\": true,\r\n \"controls\": true\r\n }\r\n })\r\n }\r\n\r\n HideReview(isHide: boolean) {\r\n let isHidden = !isHide;\r\n\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Areyousure'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('swalMsg.Yes'),\r\n cancelButtonText: this.translate.instant('swalMsg.No')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.btnLoading = true;\r\n this.guestsReviewService.HideReview(this.selectedReviewId, isHidden).subscribe((res: any) => {\r\n let msg = ''\r\n if (isHide) {\r\n msg = this.translate.instant('reviews.This Review is UnHidden Successfully')\r\n } else {\r\n msg = this.translate.instant('reviews.This Review is Hidden Successfully')\r\n }\r\n this.getDetails();\r\n this.btnLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Success'),\r\n text: msg,\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok')\r\n }).then((result) => {\r\n\r\n this.guestsReviewService.refreshList.next(true);\r\n })\r\n },\r\n (error: any) => {\r\n this.btnLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Failed'),\r\n text: error.detail,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok')\r\n })\r\n });\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n openResolveForm() {\r\n const dialogRef = this.dialog.open(ReportContentResolveFormComponent, {\r\n width: '560px',\r\n data: { record: this.review }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.service.refreshList.next(true);\r\n this.reportContentService.refreshList.next(true);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
{{'content3.Review Details' | translate}}
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ review.reviewName | shortName }}\r\n \r\n
\r\n
\r\n

{{review.reviewName}}

\r\n
\r\n
\r\n
\r\n

\r\n {{'content3.Posted anonymously' | translate}}\r\n

\r\n
\r\n\r\n
\r\n
\r\n

{{'content3.Posted on' | translate}}

\r\n

\r\n {{review.reviewDate | date:'d MMM, y'}} {{'guests.at' | translate }} {{review.reviewDate | date:'shortTime'}}\r\n

\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ review.brancheName | shortName }}\r\n \r\n
\r\n
\r\n

{{review.brancheNameEn}}

\r\n

{{review.brancheNameAr}}

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{'reviews.Reported' | translate}}\r\n \r\n \r\n \r\n {{'reviews.Resolved' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{review.reportDecision[0].resolution}}\r\n \r\n \r\n \r\n {{'reviews.Hidden' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {{'content3.Reservation' | translate}} #:\r\n \r\n {{ review.reservationNumber }}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{'content3.Overall rating of the restaurant' | translate}}\r\n \r\n\r\n
\r\n \r\n \"\"\r\n \r\n {{review.reviewRate}}\r\n \r\n \r\n {{ 'reviews.skipped' | translate }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n

{{'content3.Ordered Items' | translate}}

\r\n
\r\n
\r\n
\r\n
\r\n {{ order.orderItemName | shortName }}\r\n \r\n
\r\n {{order.orderItemName}}\r\n \"\"\r\n \r\n {{order.orderItemRate}}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n

{{'content5.Amenities' | translate}}

\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n {{\r\n amenity.amenitiesName | shortName }}\r\n \r\n \r\n
\r\n {{amenity.amenitiesName}}\r\n \r\n \"\"\r\n {{amenity.amenitiesRate}}\r\n \r\n \r\n

{{ 'reviews.skipped' | translate }}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{amenity.amenitiesName}}\r\n \r\n \r\n \r\n 0 , 'line' : fill == 0}\">\r\n 0}\">\r\n \r\n \r\n \r\n {{amenity.amenitiesRate}}\r\n \r\n \r\n

{{ 'reviews.skipped' | translate }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{review.reviewComment}}

\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{'reviews.Resolution' | translate}}
\r\n
\r\n\r\n
\r\n

{{'reviews.Resolved by' | translate}}

\r\n
\r\n
\r\n {{ review.reportDecision[0].resolvedbyName | shortName }}\r\n \r\n
\r\n
\r\n

{{review.reportDecision[0].resolvedbyName}}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{'reviews.Resolution' | translate}}

\r\n

{{review.reportDecision[0].resolution}}

\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{'reviews.Resolved on' | translate}}

\r\n

\r\n \r\n {{review.reportDecision[0].resolvedDate | date:'d MMM, y'}} {{'guests.at' | translate }} {{review.reportDecision[0].resolvedDate | date:'shortTime'}}\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{'forms.Notes' | translate}}

\r\n

{{review.reportDecision[0].resolutionComment}}

\r\n
\r\n\r\n
1\">\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

{{'reviews.Resolved by' | translate}}

\r\n
\r\n
\r\n {{ decision.resolvedbyName | shortName }}\r\n \r\n
\r\n
\r\n

{{decision.resolvedbyName}}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{'reviews.Resolution' | translate}}

\r\n

{{decision.resolution}}

\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{'reviews.Resolved on' | translate}}

\r\n

\r\n \r\n {{decision.resolvedDate | date:'d MMM, y'}} {{'guests.at' | translate }} {{decision.resolvedDate | date:'shortTime'}}\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n

{{'forms.Notes' | translate}}

\r\n

{{decision.resolutionComment}}

\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{'reviews.This Review has been reported by a user. Please go to the Reported content screen to take action' | translate}}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ListFilter } from '../models/List.GuestReviews';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReviewService {\r\n\r\n refreshList = new BehaviorSubject(false);\r\n closeDetails = new BehaviorSubject(false);\r\n openReviewDetailsID = new BehaviorSubject(null);\r\n constructor(private http: HttpClient) { }\r\n\r\n getAllReviews(filter: ListFilter): any {\r\n return this.http.post(`${environment.apiUrl}/Review/ListReviews`, filter);\r\n }\r\n // For Top Rates\r\n getTotalServiceReviews(restaurantId: any) {\r\n return this.http.get(`${environment.apiUrl}/Review/GetTotalServiceReviews?ResturantID=${restaurantId}`);\r\n }\r\n GetDetails(id: string, restaurantId: string): any {\r\n return this.http.post(`${environment.apiUrl}/Review/ReviewByID?ReviewsId=${id}&RestaurantId=${restaurantId}`, null);\r\n }\r\n getAll(filter: ListFilter): any {\r\n return this.http.post(`${environment.apiUrl}/Review/ResFilterReview`, filter);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { DirtyComponent } from './dirty-component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DirtyCheckGuard implements CanDeactivate {\r\n\r\n canDeactivate(\r\n component: DirtyComponent,\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable | Promise | boolean | UrlTree {\r\n if (component.canDeactivate()) {\r\n return component.openConfirmDialog();\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Directive, EventEmitter, HostListener } from '@angular/core';\r\nimport { FormGroup, NgForm } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-canDeactivate',\r\n template: ''\r\n})\r\n\r\nexport abstract class DirtyComponent {\r\n form!: NgForm;\r\n formGroup!: FormGroup;\r\n leaveMsg!: string;\r\n dialogRef: any;\r\n close = new EventEmitter();\r\n\r\n constructor(\r\n public translate: TranslateService\r\n ) { }\r\n\r\n canDeactivate(): boolean | Observable {\r\n return this.formGroup?.dirty;\r\n };\r\n\r\n openConfirmDialog() {\r\n if (this.canDeactivate()) {\r\n return Swal.fire({\r\n title: this.translate.instant('swalMsg.Areyousure'),\r\n // title: this.translate.instant('swalMsg.Unsaved changes are detected'),\r\n text: this.leaveMsg || this.translate.instant('swalMsg.changesHappend'),\r\n // icon: 'warning',\r\n // iconHtml: '',\r\n imageUrl: './assets/images/icons/warning-ic.svg',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('swalMsg.Yes'),\r\n cancelButtonText: this.translate.instant('swalMsg.No'),\r\n // width: 750,\r\n // customClass: {\r\n // container: 'sweet-dialog',\r\n // }\r\n }).then((result) => {\r\n if (result.value) {\r\n this.dialogRef?.close();\r\n this.close.emit(true);\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n });\r\n } else {\r\n this.close.emit(true);\r\n this.dialogRef?.close();\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('window:beforeunload', ['$event']) unloadNotification($event: any) {\r\n if (this.canDeactivate()) {\r\n $event.returnValue = true;\r\n }\r\n }\r\n}\r\n","import { MatPaginatorIntl } from '@angular/material/paginator';\r\n\r\nconst lang = localStorage.getItem('language')\r\n\r\nexport function CustomPaginator() {\r\n\r\n const customPaginatorIntl = new MatPaginatorIntl();\r\n\r\n customPaginatorIntl.itemsPerPageLabel = lang == 'ar' ? 'سجل لكل صفحة: ' : 'Entries per page: ';\r\n customPaginatorIntl.getRangeLabel = RangeLabel;\r\n\r\n return customPaginatorIntl;\r\n}\r\n\r\nconst RangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length == 0 || pageSize == 0) { return `0 ` + lang == 'ar' ? 'من' : 'of' + ` ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} ${lang == 'ar' ? 'من' : 'of'} ${length}`;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DatePickerModel } from '../models/DatePickerModel';\r\n\r\nconst MONTHS_AR = ['محرم', 'صفر', 'ربيع الأول', 'ربيع الآخر', 'جمادى الأولى', 'جمادى الآخرة', 'رجب', 'شعبان', 'رمضان', 'شوال', 'ذو القعدة', 'ذو الحجة'];\r\n\r\nconst MONTHS_EN = ['Muharram', 'Safar', 'Rabi\\'ul-Awwal', 'Rabi\\'ul-Akhir', 'Jumadal-Ula', 'Jumadal-Akhir', 'Rajab', 'Sha\\'ban', 'Ramadan', 'Syawwal', 'Dhul-Qa\\'da', 'Dhul-Hijja'];\r\n\r\nconst language = localStorage.getItem('language') || 'en';\r\n\r\n@Pipe({\r\n name: 'DateModel'\r\n})\r\nexport class DateModelPipe implements PipeTransform {\r\n transform(date: DatePickerModel|any, time: string|null = null): string {\r\n if (!date) { return ''; }\r\n const months = language === 'en' ? MONTHS_EN : MONTHS_AR;\r\n\r\n let result = '';\r\n if (date.gregorianDate) {\r\n if (date.gregorianDate) {\r\n result += new DatePipe(language).transform(date.gregorianDate, 'd MMM, y');\r\n }\r\n if (date.gregorianDate && date.hijri) {\r\n result += ' - ';\r\n }\r\n if (date.hijri) {\r\n result += date.hijri.day + ' ' + months[date.hijri.month - 1] + ', ' + date.hijri.year;\r\n }\r\n } else {\r\n if (date.isHijri) {\r\n result += date.day + ' ' + months[date.month - 1] + ', ' + date.year;\r\n } else {\r\n result += date.day + ' ' + date.month + ', ' + date.year;\r\n }\r\n }\r\n\r\n if (time) {\r\n result +=\r\n new DatePipe(language)\r\n .transform(String(date.gregorianDate).split('T')[0] + ' ' + time, ' - h:mm a');\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'DTM'\r\n})\r\nexport class DateTimeMergePipe implements PipeTransform {\r\n transform(date: Date, time: string): string {\r\n if (!date) { return ''; }\r\n const clearDate = String(date).split('T')[0] || '';\r\n // const newDate = new Date(date + '' + time);\r\n return clearDate + ' ' + time;\r\n }\r\n}\r\n","import {MissingTranslationHandler, MissingTranslationHandlerParams} from '@ngx-translate/core';\r\n\r\nexport class MyMissingTranslationHandler implements MissingTranslationHandler {\r\n handle(params: MissingTranslationHandlerParams) {\r\n return 'some value';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n this.authenticationService.menuLoaded.subscribe((data): any => {\r\n if (data) {\r\n if (location.pathname !== '/') {\r\n let menuItems = [];\r\n let canAccess = false;\r\n menuItems = [...data];\r\n menuItems.push({url: '/login'});\r\n menuItems.push({url: '/admin/profile'});\r\n menuItems.push({url: '/admin/changepassword'});\r\n menuItems.push({url: '/admin/floorPlan'});\r\n menuItems.forEach(item => {\r\n if (location.href.includes(item.url)) {\r\n canAccess = true;\r\n } else {\r\n if (item.childs && item.childs.length) {\r\n item.childs.forEach((child: any) => {\r\n if (location.href.includes(child.url)) {\r\n canAccess = true;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n if (canAccess) {\r\n return true;\r\n }\r\n this.router.navigate(['/admin']);\r\n }\r\n }\r\n });\r\n // authorised so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/logout'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport class CustomValidator {\r\n static noWhiteSpace(control: AbstractControl): ValidationErrors | null {\r\n let crtValue = control.value;\r\n if (crtValue) { crtValue = crtValue.trim(); }\r\n if (!crtValue) { return { required: true }; }\r\n return null;\r\n }\r\n static MatchValidator(source: string, target: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const sourceCtrl = control.get(source);\r\n const targetCtrl = control.get(target);\r\n\r\n return sourceCtrl && targetCtrl && sourceCtrl.value !== targetCtrl.value\r\n ? { mismatch: true }\r\n : null;\r\n };\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n })\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean = false;\r\n @Output() fileDropped = new EventEmitter();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt: any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDropDown]'\r\n})\r\nexport class DropDownDirective {\r\n @Input() wasInside: boolean = false;\r\n\r\n constructor(private eRef: ElementRef) { }\r\n\r\n @HostBinding('class.active') isOpen = false;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (this.eRef.nativeElement.contains(event.target)) {\r\n this.isOpen = !this.isOpen;\r\n } else {\r\n this.isOpen = false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private authenticationService: AuthenticationService,\r\n private router: Router,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 422) {\r\n this.authenticationService.logout();\r\n }\r\n if (this.authenticationService.currentUserValue) {\r\n if (err.status === 401 || err.status === 424 || err.status === 423) {\r\n // this.router.navigate(['/admin/notAuthorized']);\r\n }\r\n }\r\n if (err.status === 0) { // Offline\r\n this.snackBar.open('You are offline!', 'Ok', {\r\n horizontalPosition: 'center',\r\n verticalPosition: 'top'\r\n });\r\n }\r\n\r\n // const error = err.error.message || err.statusText;\r\n return throwError(err.error);\r\n }));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLocaleLowerCase();\r\n\r\n return items.filter(it => {\r\n return it.logTemplateText.toLocaleLowerCase().includes(searchText);\r\n });\r\n }\r\n}\r\n","import { MatDateFormats, NativeDateAdapter } from '@angular/material/core';\r\nexport class AppDateAdapter extends NativeDateAdapter {\r\n override format(date: Date, displayFormat: Object): string {\r\n let day: string = date.getDate().toString();\r\n day = +day < 10 ? '0' + day : day;\r\n let month: string = (date.getMonth() + 1).toString();\r\n month = +month < 10 ? '0' + month : month;\r\n let year = date.getFullYear();\r\n if (displayFormat === 'input') {\r\n return `${day}/${month}/${year}`;\r\n }\r\n return `${month}/${year}`;\r\n // return date.toDateString();\r\n }\r\n}\r\nexport const APP_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: { month: 'short', year: 'numeric', day: 'numeric' },\r\n },\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: { year: 'numeric', month: 'numeric' },\r\n dateA11yLabel: {\r\n year: 'numeric', month: 'long', day: 'numeric'\r\n },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\r\n }\r\n};\r\n","import { Directive, Component, Input, ViewContainerRef, TemplateRef, AfterViewInit } from '@angular/core';\r\n\r\n@Directive({ selector: '[inView]' })\r\nexport class InView implements AfterViewInit {\r\n alreadyRendered!: boolean; // cheking if visible already\r\n\r\n constructor(\r\n private vcRef: ViewContainerRef,\r\n private tplRef: TemplateRef\r\n ) { }\r\n\r\n ngAfterViewInit() {\r\n const commentEl = this.vcRef.element.nativeElement; // template\r\n const elToObserve = commentEl.parentElement;\r\n this.setMinWidthHeight(elToObserve);\r\n\r\n const observer = new IntersectionObserver(entries => {\r\n entries.forEach(entry => {\r\n this.renderContents(entry.isIntersecting)\r\n });\r\n }, { threshold: [0, .1, .9, 1] });\r\n observer.observe(elToObserve);\r\n }\r\n\r\n renderContents(isInView: any) {\r\n if (isInView && !this.alreadyRendered) {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.tplRef);\r\n this.alreadyRendered = true;\r\n }\r\n }\r\n\r\n setMinWidthHeight(el: HTMLElement) { // prevent issue being visible all together\r\n const style = window.getComputedStyle(el);\r\n const [width, height] = [parseInt(style.width), parseInt(style.height)];\r\n !width && (el.style.minWidth = '40px');\r\n !height && (el.style.minHeight = '40px');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n const currentUser = this.authenticationService.currentUserValue;\r\n const language = localStorage.getItem('language') || 'en';\r\n\r\n const requestHeader = {\r\n 'accept-language': language,\r\n 'ClientType': 'Web',\r\n lang: language\r\n } as any;\r\n\r\n if (currentUser && currentUser.token) {\r\n requestHeader.Authorization = `Bearer ${currentUser.token}`\r\n }\r\n request = request.clone({ setHeaders: requestHeader });\r\n this.dateReplacer(request.body);\r\n return next.handle(request);\r\n }\r\n\r\n dateReplacer(obj: any) {\r\n if (obj) {\r\n for (const k in obj) {\r\n if (obj.hasOwnProperty(k)) {\r\n if (obj[k] instanceof Object) {\r\n obj[k] = this.dateReplacer(obj[k]);\r\n }\r\n if (obj[k] instanceof Date) {\r\n obj[k] = new Date(`${obj[k]} UTC`);\r\n }\r\n }\r\n }\r\n return obj;\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {A11yModule} from '@angular/cdk/a11y';\r\n// import {ClipboardModule} from '@angular/cdk/clipboard';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport {PortalModule} from '@angular/cdk/portal';\r\nimport {ScrollingModule} from '@angular/cdk/scrolling';\r\nimport {CdkStepperModule} from '@angular/cdk/stepper';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS} from '@angular/material/dialog';\r\nimport {MatDividerModule} from '@angular/material/divider';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatGridListModule} from '@angular/material/grid-list';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {DateAdapter, MatNativeDateModule, MatRippleModule, MAT_DATE_FORMATS} from '@angular/material/core';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport {MatSortModule} from '@angular/material/sort';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatTreeModule} from '@angular/material/tree';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { AppDateAdapter, APP_DATE_FORMATS } from './format-datepicker';\r\nimport { MtxTooltipModule } from '@ng-matero/extensions/tooltip';\r\n\r\n@NgModule({\r\n exports: [\r\n A11yModule,\r\n // ClipboardModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n MtxTooltipModule\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'outline' } },\r\n { provide: DateAdapter, useClass: AppDateAdapter },\r\n { provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS },\r\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { disableClose: true } }\r\n ]\r\n})\r\nexport class MaterialModule {}\r\n\r\n\r\n/** Copyright 2019 Google LLC. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */\r\n","import { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Directive, HostBinding, Input, Optional, Self, OnDestroy, DoCheck } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { NgControl, FormControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { untilDestroyed } from '@ngneat/until-destroy';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\n\r\n\r\nexport class NgSelectErrorStateMatcher {\r\n constructor(private ngSelect: NgSelectFormFieldControlDirective) {\r\n }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n if (!control) {\r\n return this.ngSelect.required && this.ngSelect.empty;\r\n } else {\r\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: 'ng-select[ngSelectMat]',\r\n providers: [{ provide: MatFormFieldControl, useExisting: NgSelectFormFieldControlDirective }],\r\n})\r\nexport class NgSelectFormFieldControlDirective implements MatFormFieldControl, OnDestroy, DoCheck {\r\n static nextId = 0;\r\n @HostBinding() @Input() id = `ng-select-${NgSelectFormFieldControlDirective.nextId++}`;\r\n @HostBinding('attr.aria-describedby') describedBy = '';\r\n\r\n\r\n\r\n get empty(): boolean {\r\n return (this._value === undefined || this._value === null)\r\n || (this.host.multiple && this._value.length === 0);\r\n }\r\n errorState = false;\r\n @Input() errorStateMatcher!: ErrorStateMatcher;\r\n private _defaultErrorStateMatcher: ErrorStateMatcher = new NgSelectErrorStateMatcher(this);\r\n // controlType?: string;\r\n // autofilled?: boolean;\r\n\r\n stateChanges = new Subject();\r\n focused = false;\r\n\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty || !!(this.host.searchTerm && this.host.searchTerm.length);\r\n }\r\n\r\n @Input()\r\n get placeholder(): string { return this._placeholder; }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder!: string;\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean { return this._disabled; }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _disabled: boolean = false;\r\n\r\n @Input()\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(v: any) {\r\n this._value = v;\r\n this.stateChanges.next();\r\n }\r\n private _value: any;\r\n\r\n constructor(\r\n private host: NgSelectComponent,\r\n @Optional() @Self() public ngControl: NgControl,\r\n @Optional() private _parentForm: NgForm,\r\n @Optional() private _parentFormGroup: FormGroupDirective,\r\n ) {\r\n // host?.focusEvent.asObservable()?.pipe(untilDestroyed(this)).subscribe(v => {\r\n // this.focused = true;\r\n // this.stateChanges.next();\r\n // });\r\n // host?.blurEvent.asObservable()?.pipe(untilDestroyed(this)).subscribe(v => {\r\n // this.focused = false;\r\n // this.stateChanges.next();\r\n // });\r\n\r\n\r\n if (this.ngControl) {\r\n this._value = this.ngControl.value;\r\n this._disabled = this.ngControl.disabled ? true : false;\r\n this.ngControl.statusChanges?.pipe(untilDestroyed(this)).subscribe(s => {\r\n const disabled = s === 'DISABLED';\r\n if (disabled !== this._disabled) {\r\n this._disabled = disabled;\r\n this.stateChanges.next();\r\n }\r\n });\r\n this.ngControl.valueChanges?.pipe(untilDestroyed(this)).subscribe(v => {\r\n this._value = v;\r\n this.stateChanges.next();\r\n });\r\n } else {\r\n host.changeEvent.asObservable().pipe(untilDestroyed(this)).subscribe(v => {\r\n this._value = v;\r\n this.stateChanges.next();\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n ngDoCheck() {\r\n\r\n // We need to re-evaluate this on every change detection cycle, because there are some\r\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\r\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\r\n this.updateErrorState();\r\n\r\n }\r\n\r\n updateErrorState() {\r\n const oldState = this.errorState;\r\n const parent = this._parentFormGroup || this._parentForm;\r\n const matcher = this.errorStateMatcher || this._defaultErrorStateMatcher;\r\n const control = this.ngControl ? this.ngControl.control as FormControl : null;\r\n const newState = matcher.isErrorState(control, parent);\r\n\r\n if (newState !== oldState) {\r\n this.errorState = newState;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n setDescribedByIds(ids: string[]): void {\r\n if (ids) {\r\n this.describedBy = ids.join(' ');\r\n }\r\n }\r\n\r\n onContainerClick(event: MouseEvent): void {\r\n const target = event.target as HTMLElement;\r\n if (target.classList.contains('mat-form-field-infix')) {\r\n this.host.focus();\r\n this.host.open();\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appOnlynumber]'\r\n})\r\nexport class OnlynumberDirective {\r\n\r\n @Input() canApply: any = true;\r\n\r\n private navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste'\r\n ];\r\n // inputElement: HTMLElement = HTMLInputElement.select();\r\n constructor(public el: ElementRef) {\r\n if (!this.canApply){return; }\r\n\r\n\r\n // this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (!this.canApply){return; }\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.key === 'a' && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey === true) // Allow: Cmd+X (Mac)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n if (!this.canApply){return; }\r\n event.preventDefault();\r\n const pastedInput: string = event.clipboardData!\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document.execCommand('insertText', false, pastedInput);\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event: DragEvent) {\r\n if (!this.canApply){return; }\r\n event.preventDefault();\r\n const textData = event.dataTransfer!.getData('text').replace(/\\D/g, '');\r\n // this.inputElement.focus();\r\n document.execCommand('insertText', false, textData);\r\n }\r\n}\r\n","export class Patterns {\r\n static email = '[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'\r\n static enTxt = '^[a-zA-Z ]+$';\r\n static arTxt = '^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF ]+$';\r\n static enTxt_Numbers = '^[a-zA-Z0-9 ]+$';\r\n static noSpecialTxt = '^[a-zA-Z\\u0600-\\u06FF ]+$';\r\n static number = '^[0-9]+$';\r\n static float = '([0-9]+[.])*[0-9]+(?:[0-9]+)?$';\r\n static quantity = /^\\s*(0\\.(0*[1-9]|[1-9]\\d{0,2})|[1-9]\\d{0,5})(\\.\\d{1,4})?\\s*$/;\r\n static float2decimal = /^\\s*?[1-9]\\d*(\\.\\d{1,2})?\\s*$/;\r\n static price2decimal = /^\\s*?[0-9]\\d*(\\.\\d{1,2})?\\s*$/;\r\n static website = /(http|https):\\/\\/[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:\\/~+#-]*[\\w@?^=%&\\/~+#-])?/;\r\n static enTxtWithSpecial = \"^[a-zA-Z0-9- !\\\"'@#$%^&*()<>?;_+.,:\\|=/{}]+$\"\r\n static arTxtWithSpecial = \"^(?=.*[\\u0600-\\u06FF0-9- ])[\\u0600-\\u06FF0-9- !\\\"'@#$%^&*()<>?;_+.,:\\|=/{}]+$\"\r\n static price = '^[1-9][0-9]*(\\.[0-9]+)?|0+\\.[0-9]*[1-9][0-9]*$'\r\n static numbers_plus = '^[\\+]?[(]?[0-9]{1,3}[) ]?[-\\s\\.]?[0-9][-\\s\\.]?[0-9]{4,10}$'\r\n static phoneNumber = '[+0-9]+'\r\n // static arTxtWithSpecial = \"^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 !@#$%^&*()]+$\"\r\n // static website = \"(https://)?([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-_]*/?\";\r\n}\r\n","import { Directive, Input, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appPrint]'\r\n})\r\nexport class PrintDirective {\r\n @Input() elem: string = '';\r\n constructor() { }\r\n\r\n @HostListener('click', ['$event']) onClick($event: any){\r\n this.print();\r\n }\r\n\r\n print(): void {\r\n const basicUrl = location.origin;\r\n let style = basicUrl + '/assets/scss/print.css';\r\n let dir = 'ltr';\r\n const lang = localStorage.getItem('language') || 'en';\r\n // if (lang === 'ar') {\r\n // style = basicUrl + '/assets/css/ar-SA/style.css';\r\n // dir = 'rtl';\r\n // }\r\n const mywindow: any = window.open('', 'PRINT', 'height=1000,width=600');\r\n mywindow.document.write('\\\r\n \\\r\n \\\r\n ' + document.title + '');\r\n mywindow.document.write('');\r\n mywindow.document.write(document.getElementById(this.elem)!.innerHTML);\r\n mywindow.document.write('');\r\n\r\n mywindow.document.close(); // necessary for IE >= 10\r\n mywindow.focus(); // necessary for IE >= 10*/\r\n\r\n mywindow.onload = () => {\r\n mywindow.print();\r\n };\r\n // mywindow.close();\r\n\r\n // return true;\r\n\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'sanitizeHtml'\r\n})\r\nexport class SanitizeHtmlPipePipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(v: string): SafeHtml { \r\n return this._sanitizer.bypassSecurityTrustHtml(v);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'shortName'\r\n})\r\nexport class ShortNamePipe implements PipeTransform {\r\n\r\n transform(name: string, length?: number): string {\r\n const biggestWord = 50;\r\n const elipses = \"...\";\r\n let shortName = '';\r\n\r\n if (!name) { return ''; }\r\n\r\n if (length && name.length <= length) {\r\n /* .. truncate to about correct lenght */\r\n shortName = name.slice(0, length + biggestWord);\r\n\r\n /* .. now nibble ends till correct length */\r\n while (shortName.length > length - elipses.length) {\r\n const lastSpace = shortName.lastIndexOf(\" \");\r\n if (lastSpace === -1) break;\r\n shortName = shortName.slice(0, lastSpace).replace(/[!,.?;:]$/, '');\r\n }\r\n shortName += elipses;\r\n } else {\r\n const initials = name.split(' ') || [];\r\n if (initials[0]) {\r\n shortName += initials[0][0];\r\n shortName += this.isRTL(name) ? ' ' : '';\r\n }\r\n if (initials[(initials.length) - 1]) {\r\n shortName += initials[(initials.length) - 1][0];\r\n } else if (initials[(initials.length) - 2]) {\r\n shortName += initials[(initials.length) - 2][0];\r\n }\r\n shortName = shortName.toUpperCase();\r\n }\r\n return shortName;\r\n }\r\n\r\n isRTL(s: string) {\r\n const ltrChars = 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF' + '\\u2C00-\\uFB1C\\uFDFE-\\uFE6F\\uFEFD-\\uFFFF';\r\n const rtlChars = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC';\r\n const rtlDirCheck = new RegExp('^[^' + ltrChars + ']*[' + rtlChars + ']');\r\n return rtlDirCheck.test(s);\r\n }\r\n\r\n}\r\n","import { Component, HostListener, OnDestroy, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, Subscription, filter, fromEvent } from 'rxjs';\nimport { AuthenticationService } from 'src/app/services/authentication.service';\nimport { NavigationService } from 'src/app/services/navigation.service';\n\n@Component({\n selector: 'app-admin-layout',\n templateUrl: './admin-layout.component.html'\n})\nexport class AdminLayoutComponent implements OnInit, OnDestroy {\n moduleLoading: boolean = false;\n menueLoaded = false;\n\n onlineEvent!: Observable;\n offlineEvent!: Observable;\n subscriptions: Subscription[] = [];\n\n constructor(\n public navService: NavigationService,\n private authenticationService: AuthenticationService,\n private snackBar: MatSnackBar,\n private translate: TranslateService,\n public router: Router\n ) {\n router.events.subscribe((event: any) => {\n this.navigationInterceptor(event);\n });\n // this.authenticationService.menuLoaded\n // .subscribe(data => {\n // if (data) {\n // this.menueLoaded = true;\n // }\n // });\n\n }\n\n ngOnInit(): void {\n this.updateSidebar();\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe(routeChange => {\n if (this.isMobile()) {\n this.navService.sidebarState.sidenavOpen = false;\n }\n });\n\n\n this.onlineEvent = fromEvent(window, 'online');\n this.offlineEvent = fromEvent(window, 'offline');\n\n this.subscriptions.push(this.onlineEvent.subscribe(e => {\n let ref = this.snackBar.open(this.translate.instant('general.You are back online!'), this.translate.instant('swalMsg.Reload'), {\n horizontalPosition: 'center',\n verticalPosition: 'top'\n });\n ref.afterDismissed().subscribe(info => {\n if (info.dismissedByAction === true) {\n window.location.reload()\n }\n });\n }));\n\n this.subscriptions.push(this.offlineEvent.subscribe(e => {\n this.snackBar.open(this.translate.instant('general.You are offline!'), this.translate.instant('swalMsg.Ok'), {\n horizontalPosition: 'center',\n verticalPosition: 'top'\n });\n }));\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n isMobile() {\n return window && window.matchMedia('(max-width: 992px)').matches;\n }\n\n // Shows and hides the moduleLoading spinner during RouterEvent changes\n navigationInterceptor(event: RouterEvent): void {\n if (event instanceof NavigationStart) {\n this.moduleLoading = true;\n }\n if (event instanceof NavigationEnd) {\n setTimeout(() => { // here\n this.moduleLoading = false;\n this.snackBar.dismiss();\n }, 100);\n }\n\n // Set moduleLoading state to false in both of the below events to hide the spinner in case a request fails\n if (event instanceof NavigationCancel) {\n setTimeout(() => { // here\n this.moduleLoading = false;\n }, 100);\n }\n if (event instanceof NavigationError) {\n setTimeout(() => { // here\n this.moduleLoading = false;\n }, 100);\n }\n }\n\n updateSidebar() {\n if (this.isMobile()) {\n this.navService.sidebarState.sidenavOpen = false;\n } else {\n this.navService.sidebarState.sidenavOpen = true;\n }\n }\n\n @HostListener(\"window:resize\", [\"$event\"])\n onResize() {\n this.updateSidebar();\n }\n\n}\n","\n
\n \n
\n\n
\n
\n
\n \n
\n \n
\n \n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { Component, EventEmitter, NgZone, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { User } from 'src/app/models/auth/user';\r\nimport { Notification, NotificationsModel } from 'src/app/models/Notification';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport { NotificationsService } from 'src/app/services/notifications.service';\r\nimport { SignalRService } from 'src/app/services/signal-rservice.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n isArabic = false;\r\n\r\n @Output() sidebarTrigger = new EventEmitter();\r\n notificationNumber: number = 0;\r\n currentUser: User|null = new User();\r\n userMenu = false;\r\n shouldShow = false;\r\n\r\n notifLoading = false;\r\n pageNumber = 0;\r\n pageSize = 10;\r\n pageCount: number = 0;\r\n notificationMenu = false;\r\n notificationsResult: any = {\r\n unSeenNotificationsCount: 0,\r\n totalCount: 0,\r\n };\r\n notificationsList: Notification[] = [];\r\n NotificationsModel = new NotificationsModel();\r\n activeAlerts = {};\r\n\r\n constructor(\r\n private router: Router,\r\n public translate: TranslateService,\r\n private snackBar: MatSnackBar,\r\n public dialogRef: MatDialog,\r\n public navService: NavigationService,\r\n private authenticationService: AuthenticationService,\r\n private notificationsService: NotificationsService,\r\n private signalRService: SignalRService\r\n ) {\r\n // this.signalRService.startConnection();\r\n this.GetUnseenNotificationCount();\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n // this.signalRService.changeNotificationCount(this, this.updateNotification);\r\n // this.signalRService.LogOut(this, this.getOut);\r\n }\r\n getOut(context: HeaderComponent) {\r\n context.logout();\r\n Swal.fire({\r\n title: this.translate.instant('swalMsg.Sorry'),\r\n text: this.translate.instant('swalMsg.accountHasChanged'),\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('swalMsg.Ok'),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n ngOnDestroy(): void {\r\n\r\n }\r\n // SignalR\r\n updateNotification(context: HeaderComponent) {\r\n context.getNotifications();\r\n context.openSnackBar(context.translate.instant('general.You have a new notification'));\r\n }\r\n openSnackBar(msg: string) {\r\n this.snackBar.open(msg, '✖', { duration: 10000, horizontalPosition: 'end', verticalPosition: 'bottom' });\r\n }\r\n\r\n // Actions\r\n changeLanguage() {\r\n if (localStorage.getItem('language') === 'en') {\r\n localStorage.setItem('language', 'ar');\r\n } else {\r\n localStorage.setItem('language', 'en');\r\n }\r\n window.location.reload();\r\n }\r\n\r\n logout() {\r\n this.authenticationService.logout();\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n // Notifications\r\n GetUnseenNotificationCount() {\r\n this.notificationsService.GetUnseenNotificationCount().subscribe(\r\n result => {\r\n this.notificationsResult.unSeenNotificationsCount = result;\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n updateNotificationsSeenStatus() {\r\n this.notificationsService.UpdateNotificationsSeenStatus().subscribe(\r\n result => {\r\n this.notificationsResult.unSeenNotificationsCount = 0;\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n openNotificationPanel() {\r\n this.notificationMenu = !this.notificationMenu;\r\n this.userMenu = false;\r\n // this.notificationsResult.unSeenNotificationsCount = 0;\r\n this.getNotifications();\r\n }\r\n getNextPage() {\r\n if (this.pageNumber < this.pageCount - 1) {\r\n this.pageNumber += 1;\r\n this.getNotifications(false);\r\n }\r\n }\r\n getNotifications(update = true) {\r\n if (update) {\r\n this.pageNumber = 0;\r\n this.notificationsList = [];\r\n }\r\n this.notifLoading = true;\r\n this.NotificationsModel.pageSize = this.pageSize;\r\n this.NotificationsModel.pageNumber = this.pageNumber;\r\n this.notificationsService.GetNotifications(this.NotificationsModel).subscribe(\r\n result => {\r\n this.notifLoading = false;\r\n this.notificationsResult = result;\r\n this.pageCount = Math.ceil(this.notificationsResult.totalCount / this.pageSize);\r\n this.notificationsList = this.notificationsList.concat(this.notificationsResult.pageData);\r\n }, err => {\r\n this.notifLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n toggelSidebar() {\r\n const state = this.navService.sidebarState;\r\n state.sidenavOpen = !state.sidenavOpen;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ notificationsResult.unSeenNotificationsCount }}\r\n \r\n \r\n
\r\n
\r\n

{{ 'general.Notification' | translate }}

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ 'general.You have no notifications' | translate }}!\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ 'general.Hello' | translate }}, {{currentUser.fullName}}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n

{{notif.notificationText}}

\r\n {{notif.notificationDate | date:'d MMM, y (h:mm a)'}}\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\nimport { IMenuItem, NavigationService } from 'src/app/services/navigation.service';\nimport { Router } from '@angular/router';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { LookupsService } from 'src/app/services/lookups.service';\nimport { AuthenticationService } from 'src/app/services/authentication.service';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n animations: [\n trigger('contentExpansion', [\n state('expanded', style({ height: '*', opacity: 1, visibility: 'visible' })),\n state('collapsed', style({ height: '0px', opacity: 0, visibility: 'hidden' })),\n transition('expanded <=> collapsed',\n animate('200ms cubic-bezier(.37,1.04,.68,.98)')),\n ])\n ]\n})\nexport class SidebarComponent implements OnInit {\n nav: any[] = [];\n selectedItem: IMenuItem|null = null;\n\n constructor(\n public navService: NavigationService,\n public LookupsService: LookupsService,\n public authenticationService: AuthenticationService,\n public router: Router\n ) { }\n\n ngOnInit(): void {\n if (location.href.includes(\"localhost\")) {\n this.navService.menuItems.subscribe(items => {\n this.nav = items;\n });\n } else {\n this.getMenuItems();\n }\n }\n\n\n getMenuItems() {\n this.LookupsService.GetMenu().subscribe(\n data => {\n this.nav = data as any[];\n this.nav.map(item => {\n item.title = item.name;\n item.type = item.childs && item.childs.length ? 'dropDown' : 'link';\n item.icon = item.svg;\n item.state = item.url;\n if (item.childs && item.childs.length) {\n item.sub = item.childs;\n item.sub.map((child: any) => {\n child.title = child.name;\n child.type = 'link';\n child.icon = child.svg;\n child.state = child.url;\n });\n }\n })\n this.authenticationService.menuLoaded.next(this.nav);\n },\n (error: any) => {\n this.authenticationService.logout();\n });\n }\n\n isActiveMenu(link: string) {\n return location.href.includes(link);\n }\n\n selectItem(item: IMenuItem) {\n if (item.active) {\n this.nav.forEach(element => {\n element.active = false;\n });\n this.selectedItem = null;\n } else {\n this.selectedItem = item;\n this.setActiveMainItem(item);\n }\n }\n\n setActiveMainItem(item: IMenuItem) {\n this.nav.forEach(element => {\n element.active = false;\n });\n item.active = true;\n }\n\n toggelSidebar() {\n const navState = this.navService.sidebarState;\n navState.sidenavOpen = !navState.sidenavOpen;\n }\n\n}\n","
\r\n
\r\n \"\"\r\n \"\"\r\n
\r\n \r\n
\r\n

\r\n © 2023 inndeve,\r\n {{'general.All Rights Reserved' | translate}}\r\n

\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-basic-layout',\r\n templateUrl: './basic-layout.component.html',\r\n})\r\nexport class BasicLayoutComponent implements OnInit {\r\n language = localStorage.getItem('language') || 'en';\r\n moduleLoading: boolean = false;\r\n\r\n constructor(\r\n public router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n /* router.events.subscribe((event: RouterEvent) => {\r\n this.navigationInterceptor(event);\r\n }); */\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n // Shows and hides the moduleLoading spinner during RouterEvent changes\r\n navigationInterceptor(event: RouterEvent): void {\r\n if (event instanceof NavigationStart) {\r\n this.moduleLoading = true;\r\n }\r\n if (event instanceof NavigationEnd) {\r\n setTimeout(() => { // here\r\n this.moduleLoading = false;\r\n }, 100);\r\n }\r\n\r\n // Set moduleLoading state to false in both of the below events to hide the spinner in case a request fails\r\n if (event instanceof NavigationCancel) {\r\n setTimeout(() => { // here\r\n this.moduleLoading = false;\r\n }, 100);\r\n }\r\n if (event instanceof NavigationError) {\r\n setTimeout(() => { // here\r\n this.moduleLoading = false;\r\n }, 100);\r\n }\r\n }\r\n\r\n changeLanguage() {\r\n let params = JSON.parse(JSON.stringify(this.activatedRoute.snapshot.queryParams))\r\n let lang = this.language == 'en' ? 'ar' : 'en'\r\n params['lang'] = lang\r\n localStorage.setItem('language', lang);\r\n this.router.navigate(\r\n [],\r\n {\r\n relativeTo: this.activatedRoute,\r\n queryParams: params,\r\n queryParamsHandling: 'merge', // remove to replace all query params by provided\r\n });\r\n setTimeout(() => {\r\n window.location.reload();\r\n }, 100);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-empty-layout',\r\n templateUrl: './empty-layout.component.html',\r\n})\r\nexport class EmptyLayoutComponent implements OnInit {\r\n language = localStorage.getItem('language') || 'en';\r\n moduleLoading: boolean = false;\r\n\r\n constructor(\r\n public router: Router,\r\n ) {\r\n /* router.events.subscribe((event: RouterEvent) => {\r\n this.navigationInterceptor(event);\r\n }); */\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n // Shows and hides the moduleLoading spinner during RouterEvent changes\r\n navigationInterceptor(event: RouterEvent): void {\r\n if (event instanceof NavigationStart) {\r\n this.moduleLoading = true;\r\n }\r\n if (event instanceof NavigationEnd) {\r\n setTimeout(() => { // here\r\n this.moduleLoading = false;\r\n }, 100);\r\n }\r\n\r\n // Set moduleLoading state to false in both of the below events to hide the spinner in case a request fails\r\n if (event instanceof NavigationCancel) {\r\n setTimeout(() => { // here\r\n this.moduleLoading = false;\r\n }, 100);\r\n }\r\n if (event instanceof NavigationError) {\r\n setTimeout(() => { // here\r\n this.moduleLoading = false;\r\n }, 100);\r\n }\r\n }\r\n\r\n changeLanguage() {\r\n if (this.language === 'en') {\r\n localStorage.setItem('language', 'ar');\r\n } else {\r\n localStorage.setItem('language', 'en');\r\n }\r\n window.location.reload();\r\n }\r\n\r\n}\r\n","\r\n","export class DatePickerModel {\r\n gregorian!: DateStruct;\r\n gregorianDate!: Date;\r\n hijri!: DateStruct;\r\n hijriDate!: Date;\r\n hijriDateText!: string;\r\n}\r\n\r\nexport class DateStruct {\r\n day!: number;\r\n month!: number;\r\n year!: number;\r\n isHijri?: boolean;\r\n}\r\n","export class Lookup {\r\n id!: number;\r\n name!: string;\r\n childs?: Lookup[];\r\n isUsed?: boolean;\r\n isdefault?: boolean;\r\n lookupcode?: string\r\n\r\n icon!: string\r\n isdisabled!: boolean\r\n}\r\nexport class Currency {\r\n id!: number;\r\n name!: string;\r\n nameEn!: string;\r\n nameAr!: string;\r\n currencyCode!: string;\r\n currencyCodeEn!: string;\r\n currencyCodeAr!: string;\r\n conversionRate!: number|null;\r\n conversionRateValid?: boolean|null;\r\n isDefault!: boolean;\r\n order!: number;\r\n isUsed!: boolean;\r\n}\r\n\r\nexport class Countries {\r\n id!: number;\r\n name!: string;\r\n countryKey!: string;\r\n countryFlag!: string;\r\n isdefault!: boolean;\r\n}\r\n\r\nexport class FileThumbObj {\r\n id!: number;\r\n file: any\r\n thumbStr!: string\r\n thumb: any\r\n thumbType!: FileThumbType\r\n}\r\n\r\nexport enum FileThumbType {\r\n Generated = 'Generated',\r\n Uploaded = 'Uploaded'\r\n}\r\n","export class Notification {\r\n notificationId!: number;\r\n notificationDate!: string;\r\n notificationType!: NotificationType;\r\n notificationObjectId!: number;\r\n notificationText!: string;\r\n isSeen!: boolean;\r\n data!: any\r\n}\r\nexport class NotificationsModel {\r\n unSeenNotificationsCount!: number;\r\n pageData!: Notification[];\r\n pageNumber!: number;\r\n pageSize!: number;\r\n totalCount!: number;\r\n}\r\nexport enum NotificationType {\r\n User = 'User',\r\n Restaurant = 'Restaurant',\r\n RestaurantStuff = 'RestaurantStuff',\r\n DiwanRole = 'DiwanRole',\r\n Payment = 'Payment',\r\n Voucher = 'Voucher',\r\n Reservition = 'Reservition',\r\n Group = 'Group',\r\n Announcement = 'Announcement'\r\n}\r\n","export class User {\r\n id!: string;\r\n fullName!: string;\r\n email!: string;\r\n token!: string;\r\n role!: string;\r\n permissions!: string[];\r\n profilePic!: string;\r\n}\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { share } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService implements OnDestroy {\r\n private onSubject = new Subject<{ key: string, value: any }>();\r\n public changes = this.onSubject.asObservable().pipe(share());\r\n\r\n constructor() {\r\n this.start();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stop();\r\n }\r\n\r\n public store(key: string, data: any): void {\r\n localStorage.setItem(key, data);\r\n this.onSubject.next({ key: key, value: data })\r\n }\r\n\r\n public clear(key: any) {\r\n localStorage.removeItem(key);\r\n this.onSubject.next({ key: key, value: null });\r\n }\r\n\r\n private start(): void {\r\n window.addEventListener(\"storage\", this.storageEventListener.bind(this));\r\n }\r\n\r\n private storageEventListener(event: StorageEvent) {\r\n if (event.storageArea == localStorage) {\r\n let v;\r\n try { v = event.newValue ? JSON.parse(event.newValue) : ''; }\r\n catch (e) { v = event.newValue; }\r\n this.onSubject.next({ key: event.key ? event.key : '', value: v });\r\n }\r\n }\r\n\r\n private stop(): void {\r\n window.removeEventListener(\"storage\", this.storageEventListener.bind(this));\r\n this.onSubject.complete();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { User } from '../models/auth/user';\r\nimport { Profile } from '../features/auth/profile-management/models/Profile';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n\r\n menuLoaded = new BehaviorSubject(false);\r\n generalRefreshDetails = new BehaviorSubject(false);\r\n\r\n public currentUserSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router\r\n ) {\r\n const authLS = localStorage.getItem('authUser');\r\n const ls = authLS ? JSON.parse(authLS) as User : '';\r\n if (ls) {\r\n this.currentUserSubject.next(ls);\r\n }\r\n }\r\n\r\n public get currentUserValue(): User | null {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login(email: string, password: string): any {\r\n return this.http.post(\r\n `${environment.apiUrl}/Authenticate/login`,\r\n { email, password })\r\n .pipe(map(user => {\r\n this.currentUserSubject.next(user);\r\n localStorage.setItem('authUser', JSON.stringify(user));\r\n return user;\r\n }));\r\n }\r\n logout() {\r\n this.clearUserData();\r\n this.router.navigate(['/login']);\r\n }\r\n clearUserData() {\r\n localStorage.removeItem('authUser');\r\n localStorage.removeItem('baseRoute');\r\n this.currentUserSubject.next(null);\r\n }\r\n\r\n forgetPassword(email: string): any {\r\n return this.http.get(`${environment.apiUrl}/Authenticate/ForgetPassword?email=` + email);\r\n }\r\n VerifyResetToken(userId: string, token: string) {\r\n return this.http.post(`${environment.apiUrl}/Authenticate/VerifyResetToken`, { userId, token });\r\n }\r\n resetPassword(userId: string, token: string, newPassword: string, firstTime: boolean) {\r\n if (firstTime) {\r\n return this.http.post(`${environment.apiUrl}/Authenticate/FirstTimePassword`, { userId, token, newPassword });\r\n } else {\r\n return this.http.post(`${environment.apiUrl}/Authenticate/ResetPassword`, { userId, token, newPassword });\r\n }\r\n }\r\n ChangePassword(oldPassword: string, newPassword: string) {\r\n return this.http.post(`${environment.apiUrl}/Authenticate/ChangePassword`, { oldPassword, newPassword });\r\n }\r\n checkResetPasswordLink(userId: string, token: string) {\r\n return this.http.post(`${environment.apiUrl}/Authenticate/VerifyToken`, { userId, token });\r\n }\r\n ConfirmAccount(userId: string, token: string) {\r\n return this.http.post(`${environment.apiUrl}/Authenticate/ConfirmAccount`, { userId, token });\r\n }\r\n\r\n // GetUserDetails() {\r\n // const user = this.currentUserValue || new User();\r\n // this.http.get(`${environment.apiUrl}/Account/DiwanUserProfile`).subscribe((data: any) => {\r\n // user.email = data.userEmail;\r\n // user.fullName = data.fullName;\r\n // user.id = data.userId;\r\n // user.profilePicture = data.userImage;\r\n // localStorage.setItem('authUser', JSON.stringify(user));\r\n // setTimeout(() => {\r\n // location.reload();\r\n // }, 100);\r\n // }, error => {\r\n // this.logout();\r\n // });\r\n // }\r\n RefeshUserToken() {\r\n return this.http.post(\r\n `${environment.apiUrl}/Authenticate/refresh-token`, {})\r\n .pipe(map(returnUser => {\r\n const user = this.currentUserValue || new User();\r\n user.token = returnUser.token;\r\n this.currentUserSubject.next(returnUser);\r\n localStorage.setItem('authUser', JSON.stringify(user));\r\n location.reload();\r\n }));\r\n\r\n }\r\n checkUniqueEmail(email: string, isProfile = false) {\r\n if (isProfile) {\r\n return this.http.get(`${environment.apiUrl}/User/IsEmailExist?email=` + email + '&isProfile=' + isProfile);\r\n } else {\r\n return this.http.get(`${environment.apiUrl}/User/IsEmailExist?email=` + email);\r\n }\r\n }\r\n RegisterUser(obj: object): any {\r\n return this.http.post(`${environment.apiUrl}/User/RegisterUser`, obj);\r\n }\r\n\r\n GetDiwanUsersList() {\r\n return this.http.get(`${environment.apiUrl}/Account/GetDiwanUsersList`);\r\n }\r\n GetUserDetails() {\r\n return this.http.get(`${environment.apiUrl}/Account/DiwanUserProfile`);\r\n }\r\n updateUserProfile(data: any, photo: any) {\r\n const formData = new FormData();\r\n if (photo && photo.name) {\r\n formData.append('photo', photo, photo.name);\r\n }\r\n formData.append('data', JSON.stringify(data));\r\n return this.http.post(`${environment.apiUrl}/Account/EditDiwanUserProfile`, formData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Lookup } from '../models/Lookup';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LookupsService {\r\n refreshList = new BehaviorSubject(false);\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n GetMenu() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetMenu`);\r\n }\r\n RestaurantsCountriesWeb() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/RestaurantsCountriesWeb`);\r\n }\r\n getCountries() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/CountriesWeb`);\r\n }\r\n getCities(countryId: number) {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetCitiesbyCountryId?CountryId=${countryId}`);\r\n }\r\n GetGender() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetGender`);\r\n }\r\n getNationalities() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/Nationalities`);\r\n }\r\n getSystems() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/Systems`);\r\n }\r\n getRoles() {\r\n return this.http.get(`${environment.apiUrl}/Roles/list`);\r\n }\r\n DefaultCurrency() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/DefaultCurrency`);\r\n }\r\n GetAllCurrencies() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetAllCurrencies`);\r\n }\r\n PaymentMethods() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/PaymentMethods`);\r\n }\r\n GetAllAmenities() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetAllAmenitiesList`);\r\n }\r\n GetIngredients() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetIngredients`);\r\n }\r\n RestaurantDefaultCurrency(restaurantId: any) {\r\n return this.http.get(`${environment.apiUrl}/Lookup/RestaurantDefaultCurrency?RestaurantId=${restaurantId}`);\r\n }\r\n GetTags() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetTags`);\r\n }\r\n GetAllFoodAllergens() {\r\n return this.http.get(`${environment.apiUrl}/Lookup/GetAllFoodAllergens`);\r\n }\r\n GetRestaurantPriceList(restaurantId: number) {\r\n return this.http.get(`${environment.apiUrl}/ResRestaurant/GetRestaurantPriceList?restaurantId=${restaurantId}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport interface IMenuItem {\r\n title?: string; // Used as display text for item and title for separator type\r\n description?: string;\r\n type: string; // Possible values: link/dropDown/extLink\r\n state: string; // Router state\r\n icon: string; // Material icon name\r\n sub?: IChildItem[]; // Dropdown items\r\n active?: boolean;\r\n canAccess?: boolean;\r\n}\r\nexport interface IChildItem {\r\n type?: string;\r\n title: string; // Display text\r\n state?: string; // Router state\r\n canAccess?: boolean;\r\n}\r\n\r\ninterface ISidebarState {\r\n sidenavOpen?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigationService {\r\n public sidebarState: ISidebarState = {\r\n sidenavOpen: true,\r\n };\r\n\r\n defaultMenu: IMenuItem[] = [\r\n {\r\n title: 'Dashboard',\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/dashboard'\r\n },\r\n {\r\n title: 'Guests',\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/guestList'\r\n },\r\n {\r\n title: 'Users\\' Roles',\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/roles'\r\n },\r\n {\r\n title: 'Restaurants',\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/restaurants'\r\n },\r\n {\r\n title: 'BonTech Team',\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/SystemTeam'\r\n },\r\n {\r\n title: 'Restaurants\\' Staff',\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/RestaurantStaff'\r\n },\r\n {\r\n title: 'General Configuration',\r\n type: 'dropDown',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/configrations',\r\n sub: [\r\n { title: 'Amenities', state: '/admin/configrations/amenities', type: 'link' },\r\n { title: 'Cuisines', state: '/admin/configrations/cuisines', type: 'link' },\r\n { title: 'Seatings', state: '/admin/configrations/seatings', type: 'link' },\r\n { title: 'Sizes', state: '/admin/configrations/sizes', type: 'link' },\r\n { title: 'Payment Settings', state: '/admin/configrations/payment', type: 'link' },\r\n { title: 'Set Reviews Options', state: '/admin/configrations/reviewOptions', type: 'link' }\r\n ]\r\n },\r\n {\r\n title: 'Ingredients Configuration',\r\n type: 'dropDown',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/ingConfigrations',\r\n sub: [\r\n { title: 'Ingredients\\' Categories', state: '/admin/ingConfigrations/IngredientsCategory', type: 'link' },\r\n { title: 'Ingredients', state: '/admin/ingConfigrations/Ingredients', type: 'link' },\r\n { title: 'Measurement Units', state: '/admin/ingConfigrations/MeasurementUnits', type: 'link' }\r\n ]\r\n },\r\n {\r\n title: \"Vouchers & Promo Codes\",\r\n type: 'link',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/vouchers'\r\n },\r\n {\r\n title: \"Reward Points\",\r\n type: 'dropDown',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/reward-points',\r\n sub: [\r\n { title: 'Reward Points Config', state: '/admin/reward-points/reward-points-config', type: 'link' },\r\n { title: 'Redeeming Methods', state: '/admin/reward-points/redeeming', type: 'link' }\r\n ]\r\n },\r\n {\r\n title: \"Menus Management\",\r\n type: 'dropDown',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n\r\n `,\r\n state: '/admin/menu-management',\r\n sub: [\r\n { title: 'Menus', state: '/admin/menu-management/menus', type: 'link' },\r\n { title: 'Modifiers', state: '/admin/menu-management/modifiers', type: 'link' }\r\n ]\r\n },\r\n {\r\n title: \"Reports\",\r\n type: 'dropDown',\r\n icon: `\r\n \r\n \r\n `,\r\n state: '/admin/reports',\r\n sub: [\r\n { title: 'Top Restaurants By Orders', state: '/admin/reports/TopRestaurantByOrders', type: 'link' },\r\n { title: 'Top Restaurants By Rate', state:'/admin/reports/TopRestaurantByRate', type: 'link' },\r\n { title: 'Top Restaurants By Announcement', state:'/admin/reports/TopRestaurantByAnnounc', type: 'link' },\r\n { title: 'Sales For Restaurants', state:'/admin/reports/SalesForRestaurants', type: 'link' },\r\n { title: 'Restaurants Order List', state:'/admin/reports/RestaurantOrderList', type: 'link' },\r\n { title: 'Restaurants Reservation List', state: '/admin/reports/RestaurantReservationList', type: 'link' }\r\n ]\r\n },\r\n {\r\n title: \"Guest App Content Management\",\r\n type: 'dropDown',\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/guestAppManage',\r\n sub: [\r\n { title: 'Home Screen\\'s Banners', state: '/admin/guestAppManage/banners', type: 'link' },\r\n ]\r\n },\r\n {\r\n title: \"Reported Content\",\r\n type: \"link\",\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/reported-content'\r\n },\r\n {\r\n title: \"Reported Reservations\",\r\n type: \"link\",\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/reportedReservations'\r\n },\r\n {\r\n title: \"Guests' Reviews\",\r\n type: \"link\",\r\n icon: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n state: '/admin/guests-reviews'\r\n }\r\n ];\r\n\r\n // sets iconMenu as default;\r\n menuItems = new BehaviorSubject(this.defaultMenu);\r\n // navigation component has subscribed to this Observable\r\n // menuItems$ = this.menuItems.asObservable();\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NotificationsModel } from '../models/Notification';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n GetUnseenNotificationCount() {\r\n return this.http.get(`${environment.apiUrl}/Notification/GetUnseenNotificationCount`);\r\n }\r\n GetNotifications(data: NotificationsModel) {\r\n return this.http.post(`${environment.apiUrl}/Notification/Notifications`, data);\r\n }\r\n UpdateNotificationsSeenStatus() {\r\n return this.http.get(`${environment.apiUrl}/Notification/UpdateNotificationsSeenStatus`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AuthenticationService } from './authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalRService {\r\n private hubConnection!: signalR.HubConnection;\r\n\r\n constructor(private authService: AuthenticationService) { }\r\n\r\n public startConnection = () => {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(environment.signalR, {\r\n accessTokenFactory: () => this.authService.currentUserValue!.token,\r\n transport: signalR.HttpTransportType.WebSockets || signalR.HttpTransportType.LongPolling\r\n })\r\n .build();\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => console.log('Connection started ...'))\r\n .catch((err: any) => console.log('Error while starting connection ... ' + err));\r\n\r\n }\r\n stopConnection() {\r\n if (this.hubConnection) {\r\n this.hubConnection\r\n .stop()\r\n .then(() => console.log('Connection stopped ...'))\r\n .catch((err: any) => console.log('Error while stopping connection ... ' + err));\r\n }\r\n }\r\n\r\n // changeNotificationCount = (context: any, handleFunc: any) => {\r\n // this.hubConnection?.on('changeNotificationCount', (count: any) => {\r\n // handleFunc(context, count);\r\n // });\r\n // }\r\n LogOut = (context: any, handleFunc: any) => {\r\n this.hubConnection?.on('LogOut', (count: any) => {\r\n handleFunc(context, count);\r\n });\r\n }\r\n UserRoleCount = (context: any, handleFunc: any) => {\r\n this.hubConnection?.on('UserRoleCount', (count: number, id: string) => {\r\n handleFunc(context, count, id);\r\n });\r\n }\r\n IngredientCountInCatigory = (context: any, handleFunc: any) => {\r\n this.hubConnection?.on('IngredientCountInCatigory', (count: any) => {\r\n handleFunc(context, count);\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { NgbCalendar, NgbDate, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DateFormatterService } from 'ngx-hijri-gregorian-datepicker';\r\nimport { DateStruct } from 'src/app/models/DatePickerModel';\r\n\r\n@Component({\r\n selector: 'app-datepicker',\r\n templateUrl: './datepicker.component.html'\r\n})\r\n\r\nexport class DatepickerComponent implements OnInit, OnChanges {\r\n @Input() label: string = this.translate.instant('forms.Date');\r\n @Input() formGroup: FormGroup = new FormGroup({});\r\n @Input() controlName!: string;\r\n @Input() isSubmitted!: boolean;\r\n @Input() required!: boolean;\r\n @Input() disabled!: boolean;\r\n @Input() min: any; // Date or DateStruct\r\n @Input() max: any; // Date or DateStruct\r\n @Input() invalidMsg!: string;\r\n @Input() showToday = true;\r\n @Input() placement!: string;\r\n\r\n @Output() selectedDateChanged = new EventEmitter();\r\n @Output() ageValue = new EventEmitter();\r\n\r\n // date: NgbDate;\r\n isHijri!: boolean;\r\n @Input() selectedDate!: any; //DateStruct-- NgbDateStruct\r\n\r\n minDate!: {\r\n gregorian: NgbDateStruct,\r\n hijri: NgbDateStruct\r\n };\r\n maxDate!: {\r\n gregorian: NgbDateStruct,\r\n hijri: NgbDateStruct\r\n };\r\n\r\n today = this.calendar.getToday();\r\n isTouched = false;\r\n\r\n constructor(\r\n private calendar: NgbCalendar,\r\n private translate: TranslateService,\r\n private dateFormatterService: DateFormatterService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.min) { this.min = new Date('1/1/1938'); }\r\n // else { this.min = new Date(this.min); }\r\n if (this.max) { this.max = new Date(this.max); }\r\n this.setMinMax();\r\n\r\n this.isHijri = false;\r\n if (this.controlName && this.formGroup.controls[this.controlName].value) {\r\n this.selectedDate = this.tongbDate(this.formGroup.controls[this.controlName].value);\r\n }\r\n if (this.selectedDate) {\r\n this.selectedDate = this.tongbDate(this.selectedDate);\r\n this.setFieldControlValue();\r\n } else {\r\n this.selectedDate = new DateStruct();\r\n }\r\n if (this.controlName) {\r\n this.formGroup.controls[this.controlName].valueChanges.subscribe(value => {\r\n this.selectedDate = this.tongbDate(value);\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let min = this.min; let max = this.max;\r\n // if (changes.min) { min = changes.min.currentValue; }\r\n // if (changes.max) { max = changes.max.currentValue; }\r\n this.setMinMax(min, max);\r\n this.ckechValid();\r\n }\r\n\r\n setMinMax(min = this.min, max = this.max) {\r\n min = this.tongbDate(min);\r\n max = this.tongbDate(max);\r\n this.minDate = {\r\n gregorian: (min && min.isHijri) ? this.dateFormatterService.ToGregorian(min) : min,\r\n hijri: (min && min.isHijri) ? min : this.dateFormatterService.ToHijri(min)\r\n };\r\n this.maxDate = {\r\n gregorian: (max && max.isHijri) ? this.dateFormatterService.ToGregorian(max) : max,\r\n hijri: (max && max.isHijri) ? max : this.dateFormatterService.ToHijri(max)\r\n };\r\n }\r\n\r\n ckechValid() {\r\n let ctrVal = this.formGroup.controls[this.controlName].value;\r\n if (ctrVal) {\r\n if (ctrVal.isHijri) { ctrVal = this.dateFormatterService.ToGregorian(ctrVal); }\r\n const date = new NgbDate(ctrVal.year, ctrVal.month, ctrVal.day);\r\n if (date.before(this.minDate.gregorian) || date.after(this.maxDate.gregorian)) {\r\n this.formGroup.controls[this.controlName].setErrors({invalid: true});\r\n } else {\r\n this.formGroup.controls[this.controlName].setErrors(null);\r\n }\r\n }\r\n }\r\n\r\n tongbDate(date: any) {\r\n if (typeof(date) === 'string') { date = new Date(date); }\r\n if (date instanceof Date && date.getTime()) {\r\n return { day: date.getUTCDate(), month: date.getUTCMonth() + 1, year: date.getUTCFullYear(), isHijri: false };\r\n } else {\r\n return date;\r\n }\r\n }\r\n\r\n changeDateType(isHijri: boolean) {\r\n if (this.isHijri !== isHijri) {\r\n this.isHijri = isHijri;\r\n\r\n if (this.selectedDate && this.selectedDate.day) {\r\n if (this.isHijri) {\r\n this.selectedDate = this.dateFormatterService.ToHijri(this.selectedDate);\r\n } else {\r\n this.selectedDate = this.dateFormatterService.ToGregorian(this.selectedDate);\r\n }\r\n this.setFieldControlValue();\r\n }\r\n this.ckechValid();\r\n }\r\n }\r\n\r\n setFieldControlValue() {\r\n if (this.selectedDate && this.selectedDate.day) {\r\n this.selectedDate.isHijri = this.isHijri;\r\n }\r\n if (this.controlName) {\r\n this.formGroup.controls[this.controlName].setValue(this.selectedDate);\r\n }\r\n\r\n this.selectedDateChanged.emit(this.selectedDate);\r\n this.calculateAge();\r\n }\r\n setDate(selected: DateStruct|null = null) {\r\n this.selectedDate = selected;\r\n this.setFieldControlValue();\r\n }\r\n hasError(errorName: string|null = null) {\r\n if (this.isSubmitted || this.isTouched) {\r\n if (this.controlName) {\r\n if (!errorName) { return this.formGroup.controls[this.controlName].invalid; }\r\n else { return this.formGroup.controls[this.controlName].hasError(errorName); }\r\n }\r\n else { return !this.selectedDate; }\r\n }\r\n return false;\r\n }\r\n calculateAge() {\r\n let currentDate = this.selectedDate;\r\n let Age = 0;\r\n if (currentDate) {\r\n if (this.isHijri) {\r\n currentDate = this.dateFormatterService.ToGregorian(this.selectedDate);\r\n }\r\n const birthday = new Date(currentDate.year, currentDate.month - 1, currentDate.day);\r\n const ageDifMs = Date.now() - birthday.getTime();\r\n const ageDate = new Date(ageDifMs);\r\n Age = Math.abs(ageDate.getUTCFullYear() - 1970);\r\n }\r\n this.ageValue.emit(Age);\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n

\r\n {{ 'forms.Required' | translate }}\r\n

\r\n

\r\n {{ invalidMsg || ('forms.Invalid Date' | translate) }}\r\n

\r\n
\r\n\r\n
\r\n","import { Component, EventEmitter, Injectable, Input, OnInit, Output } from '@angular/core';\r\nimport { NgbCalendar, NgbCalendarIslamicUmalqura, NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS_AR = ['إثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت', 'أحد'];\r\nconst WEEKDAYS_EN = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\r\nconst MONTHS_AR = ['محرم', 'صفر', 'ربيع الأول', 'ربيع الآخر', 'جمادى الأولى', 'جمادى الآخرة', 'رجب', 'شعبان', 'رمضان', 'شوال', 'ذو القعدة', 'ذو الحجة'];\r\nconst MONTHS_EN = ['Muharram', 'Safar', 'Rabi\\'ul-Awwal', 'Rabi\\'ul-Akhir', 'Jumadal-Ula', 'Jumadal-Akhir', 'Rajab', 'Sha\\'ban', 'Ramadan', 'Syawwal', 'Dhul-Qa\\'da', 'Dhul-Hijja'];\r\nconst language = localStorage.getItem('language') || 'en';\r\nconst MONTHS = language === 'en' ? MONTHS_EN : MONTHS_AR;\r\nconst WEEKDAYS = language === 'en' ? WEEKDAYS_EN : WEEKDAYS_AR;\r\n@Injectable()\r\nexport class IslamicI18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n getWeekdayShortName(weekday: number) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-islamic-picker',\r\n templateUrl: './islamic-picker.component.html',\r\n providers: [\r\n {provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura},\r\n {provide: NgbDatepickerI18n, useClass: IslamicI18n}\r\n ]\r\n})\r\n\r\nexport class IslamicPickerComponent implements OnInit {\r\n selectedDate!: any;\r\n @Input() label!: string;\r\n @Input() disabled!: boolean;\r\n @Input() placement!: string;\r\n @Output() dateValueChange = new EventEmitter();\r\n @Input() set dateValue(value: any) {\r\n this.selectedDate = value;\r\n }\r\n @Input() minDate!: NgbDateStruct;\r\n @Input() maxDate!: NgbDateStruct;\r\n\r\n today = this.calendar.getToday();\r\n\r\n constructor(\r\n private calendar: NgbCalendar\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n setDate(selected: any = null) {\r\n this.selectedDate = selected;\r\n this.dateValueChange.emit(this.selectedDate);\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AnimationOptions } from 'ngx-lottie';\r\n\r\n@Component({\r\n selector: 'empty-state',\r\n templateUrl: './empty-state.component.html',\r\n})\r\nexport class EmptyStateComponent implements OnInit {\r\n\r\n @Input() title: string = '';\r\n @Input() desc: string = '';\r\n @Input() img: string = '';\r\n @Input() animationPath: string = '';\r\n @Input() custClass: string = '';\r\n options: AnimationOptions|null = null;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.options = {\r\n path: this.animationPath || '/assets/js/empty-state-animated.json',\r\n loop: false,\r\n };\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n \"\"\r\n\r\n

{{title}}

\r\n

{{desc}}

\r\n
\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-file-manager',\r\n templateUrl: './file-manager.component.html',\r\n})\r\nexport class FileManagerComponent implements OnInit {\r\n @Output() selectedFiles = new EventEmitter<[]>();\r\n @Output() deletedFilesList = new EventEmitter<[]>();\r\n\r\n @Input() files: any = [];\r\n @Input() docsEditable = true;\r\n @Input() maxFiles = 5;\r\n @Input() maxFileSize = 10;\r\n @Input() managerIndex: any = '0'; // For input id multi file manager in one view\r\n @Input() label!: string;\r\n @Input() isRequired = false;\r\n @Input() isSubmitted = false;\r\n @Input() isDisabled = false;\r\n @Input() cols = 1;\r\n\r\n @Input() allowedExt: any[] = [\r\n 'pdf',\r\n 'jpeg',\r\n 'jpg',\r\n 'png',\r\n 'doc',\r\n 'docx',\r\n 'wpd',\r\n 'tex',\r\n 'ppt',\r\n 'pptx',\r\n 'xlsx',\r\n 'xls',\r\n 'zip',\r\n 'rar',\r\n ];\r\n\r\n @Input() renderBtn = false;\r\n // Uploader\r\n @Input() isUploader = false;\r\n @Input() uplodaerType = 0;\r\n loading = false;\r\n uploadedFilesArr: any = [];\r\n\r\n /////\r\n selectedfilesCount = 0;\r\n deletedFiles: any = [];\r\n validFile = true;\r\n fileMaxSiZeErorr = false;\r\n fileMaxNameSiZeErorr = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.files.map((file: any) => {\r\n file.name = file.filePath\r\n });\r\n // if (this.files.length && this.isUploader) {\r\n // this.files.forEach(file => {\r\n // this.uploadedFilesArr.push({\r\n // fileName: file.name,\r\n // fileUpload: file.token\r\n // });\r\n // });\r\n // this.selectedFiles.emit(this.uploadedFilesArr);\r\n // }\r\n }\r\n\r\n validFileType(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n const extensionUpper = fileName.split('.').pop()?.toUpperCase();\r\n\r\n if (!(this.allowedExt.includes(extension) || this.allowedExt.includes(extensionUpper))) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileExt(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n switch (extension) {\r\n case 'pdf':\r\n return 'pdf';\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n case 'doc':\r\n case 'docx':\r\n case 'wpd':\r\n case 'tex':\r\n return 'doc';\r\n case 'xlsx':\r\n case 'xls':\r\n return 'xls';\r\n case 'zip':\r\n case 'rar':\r\n return 'zip';\r\n case 'ppt':\r\n case 'pptx':\r\n return 'pptx';\r\n case 'mp4':\r\n case 'mpg':\r\n return 'video';\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event: any) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(event: any) {\r\n this.prepareFilesList(event.target.files);\r\n event.target.value = '';\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n deleteFile(index: number, id: any) {\r\n if (id) {\r\n this.deletedFiles.push(id);\r\n }\r\n\r\n const deleted = this.files[index];\r\n this.files.splice(index, 1);\r\n\r\n if (this.isUploader) {\r\n const deletedIndx = this.uploadedFilesArr.findIndex((item: any) => item.fileUpload === deleted.token);\r\n this.uploadedFilesArr.splice(deletedIndx, 1);\r\n this.selectedFiles.emit(this.uploadedFilesArr);\r\n } else {\r\n this.selectedFiles.emit(this.files);\r\n this.deletedFilesList.emit(this.deletedFiles);\r\n }\r\n this.selectedfilesCount = this.files.length;\r\n }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array) {\r\n const filesToUpload = [];\r\n this.validFile = true;\r\n this.selectedfilesCount = this.files.length + files.length;\r\n if (this.selectedfilesCount > this.maxFiles) {\r\n return;\r\n }\r\n for (const item of files) {\r\n if (this.validFileType(item.name)) {\r\n this.validFile = true;\r\n } else {\r\n this.validFile = false;\r\n }\r\n\r\n // Check file and push to array files\r\n if (item.size / (1024 * 1024) <= this.maxFileSize && this.validFileType(item.name)) {\r\n item.fileType = this.fileExt(item.name);\r\n this.files.push(item);\r\n filesToUpload.push(item);\r\n\r\n if (this.isUploader) {\r\n this.uploadFile(filesToUpload);\r\n } else {\r\n this.selectedFiles.emit(this.files);\r\n }\r\n\r\n if (item.size / (1024 * 1024) <= this.maxFileSize) {\r\n this.fileMaxSiZeErorr = false;\r\n }\r\n } else {\r\n if (item.size / (1024 * 1024) > this.maxFileSize) {\r\n this.fileMaxSiZeErorr = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes: number, decimals = 2) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n uploadFile(files: any) {\r\n this.loading = true;\r\n this.isDisabled = true;\r\n // this.service.upload_file(files, this.uplodaerType).subscribe(\r\n // (response) => {\r\n // this.loading = false;\r\n // this.Disapled = false;\r\n // this.uploadedFilesArr.push(response.data);\r\n // this.selectedFiles.emit(this.uploadedFilesArr);\r\n // },\r\n // (err) => {\r\n // this.loading = false;\r\n // this.Disapled = false;\r\n // }\r\n // );\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{{ label ? label : ('fileManager.Drag and drop' | translate) }}

\r\n
\r\n {{ (label ? 'fileManager.Or' : 'fileManager.Supporting Extensions here Or') | translate }}\r\n \r\n
\r\n
\r\n {{\"fileManager.Supported Formats:\" | translate}}\r\n \r\n {{allowedExt}}\r\n \r\n \r\n PDF, DOC, JPG, and PNG\r\n
\r\n {{ \"fileManager.Max File Size\" | translate: { maxFileSize: maxFileSize } }}\r\n \r\n
\r\n \r\n
maxFiles && maxFiles > 1\" class=\"has-error\">\r\n {{ 'fileManager.Maximum allowed files is' | translate: { maxFiles: maxFiles } }}\r\n
\r\n
maxFiles && maxFiles === 1\" class=\"has-error\">\r\n {{ 'fileManager.Only One File is allowed' | translate }}\r\n
\r\n
{{\"fileManager.Invalid File Extensions\" | translate}}
\r\n
{{ \"fileManager.Max File Size\" | translate: { maxFileSize: maxFileSize } }}
\r\n
\r\n
\r\n {{\"forms.Required\" | translate}}\r\n
\r\n
\r\n

{{\"fileManager.No Files\" | translate}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n {{ formatBytes(file?.size) }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { Component, inject } from '@angular/core';\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-cropper-dialog',\n templateUrl: './cropper-dialog.component.html',\n})\nexport class CropperDialogComponent {\n data: {\n image: File;\n ratio: number;\n } = inject(MAT_DIALOG_DATA);\n result!: any;\n showCropper = false;\n scale = 1;\n transform: ImageTransform = {\n translateUnit: 'px'\n };\n\n constructor(\n private dialogRef: MatDialogRef\n ) { }\n\n imageLoaded() {\n this.showCropper = true;\n }\n imageCropped(event: ImageCroppedEvent) {\n this.result = event;\n }\n\n zoomOut() {\n this.scale -= .1;\n this.transform = {\n ...this.transform,\n scale: this.scale\n };\n }\n\n zoomIn() {\n this.scale += .1;\n this.transform = {\n ...this.transform,\n scale: this.scale\n };\n }\n\n saveImage() {\n this.dialogRef.close(this.result);\n }\n}\n","
\n

{{\"general.Crop Image\" | translate}}

\n\n \n
\n\n\n
\n\n
\n \n
\n\n
\n \n\n
\n \n \n
\n
\n\n
\n
\n\n\n \n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CropperDialogComponent } from './cropper-dialog/cropper-dialog.component';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\n\n@Component({\n selector: 'app-image-control',\n templateUrl: './image-control.component.html'\n})\nexport class ImageControlComponent implements OnInit {\n\n @Input() ratio = 1 / 1;\n @Input() src!: any;\n @Output() imageReady = new EventEmitter<{ blob: Blob, src: string }>();\n\n @Input() maxSize = 2;\n fileErrors = {\n type: false,\n size: false\n };\n @Output() errors = new EventEmitter();\n\n constructor(\n public dialog: MatDialog,\n private sanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n }\n\n fileSelected(event: any) {\n const file = event.target?.files[0];\n if (file && this.validateFile(file)) {\n const dialogRef = this.dialog.open(CropperDialogComponent, {\n data: { image: file, ratio: this.ratio },\n width: '600px',\n });\n dialogRef.afterClosed().subscribe((result: ImageCroppedEvent) => {\n if (result && result.blob) {\n this.src =\n this.sanitizer.bypassSecurityTrustUrl(result.objectUrl || result.base64 || '');\n let file: any = result.blob;\n file.name = 'image.png';\n this.imageReady.emit({ blob: file, src: this.src });\n }\n });\n }\n this.errors.emit(this.fileErrors);\n }\n\n validateFile(file: File): any {\n if (this.fileType(file.name)) {\n this.fileErrors.type = false;\n if ((file.size / (1024 * 1024)) <= this.maxSize) {\n this.fileErrors.size = false;\n } else {\n this.fileErrors.size = true;\n return false;\n }\n } else {\n this.fileErrors.type = true;\n return false;\n }\n return true;\n }\n fileType(fileName: string): any {\n const extension = fileName.split('.')?.pop()?.toLowerCase();\n switch (extension) {\n case 'jpeg':\n case 'jpg':\n return 'jpg';\n case 'png':\n return 'png';\n default:\n return false;\n }\n }\n}\n","
\n \n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-paging',\r\n templateUrl: './paging.component.html'\r\n})\r\nexport class PagingComponent implements OnInit {\r\n\r\n @Input() pageIndex: number = 0;\r\n @Input() pageCount: number = 0;\r\n @Output() page = new EventEmitter();\r\n\r\n startPage = 0;\r\n endPage = 0;\r\n maxPages = 5\r\n pages: number[] = [];\r\n\r\n lang = 'en'; // localStorage.getItem('language') || 'en';\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.paginate();\r\n }\r\n\r\n paginate() {\r\n let totalPages = this.pageCount;\r\n let currentPage = this.pageIndex;\r\n let maxPages = this.maxPages;\r\n\r\n if (currentPage < 0) {\r\n currentPage = 0;\r\n } else if (currentPage > totalPages) {\r\n currentPage = totalPages;\r\n }\r\n\r\n if (totalPages <= maxPages) {\r\n // total pages less than max so show all pages\r\n this.startPage = 0;\r\n this.endPage = totalPages;\r\n } else {\r\n // total pages more than max so calculate start and end pages\r\n let maxPagesBeforeCurrentPage = Math.floor(maxPages / 2);\r\n let maxPagesAfterCurrentPage = Math.ceil(maxPages / 2);\r\n if (currentPage <= maxPagesBeforeCurrentPage) {\r\n // current page near the start\r\n this.startPage = 0;\r\n this.endPage = maxPages;\r\n } else if (currentPage + maxPagesAfterCurrentPage >= totalPages) {\r\n // current page near the end\r\n this.startPage = totalPages - maxPages;\r\n this.endPage = totalPages;\r\n } else {\r\n // current page somewhere in the middle\r\n this.startPage = currentPage - maxPagesBeforeCurrentPage;\r\n this.endPage = currentPage + maxPagesAfterCurrentPage;\r\n }\r\n }\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n this.pages = Array.from(Array(this.endPage - this.startPage).keys()).map(i => this.startPage + i);\r\n }\r\n}\r\n","
1\">\n \n
\n","import { ChangeDetectorRef, Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Countries } from 'src/app/models/Lookup';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\n\r\n@Component({\r\n selector: 'app-phone-number',\r\n templateUrl: './phone-number.component.html'\r\n})\r\nexport class PhoneNumberComponent implements OnInit {\r\n @Input() formGroup: FormGroup = new FormGroup({});\r\n @Input() controlName!: string;\r\n @Input() isSubmitted!: boolean;\r\n @Input() required = false;\r\n @Input() disabled!: boolean;\r\n @Input() minLength: number = 5;\r\n @Input() maxLength: number = 15;\r\n @Input() label = this.translate.instant('forms.Phone number');\r\n\r\n @Input() selectedCountry!: number|any;\r\n phoneCountryId!: number|any;\r\n @Input() phoneNumberValue!: any;\r\n\r\n @Input() isCleared = false;\r\n @Input() loading = false;\r\n @Output() valueChanged = new EventEmitter();\r\n\r\n isTouched!: boolean;\r\n\r\n countryLoading = false;\r\n countryList: Countries[] = []\r\n\r\n countryListAllCodes: any = []\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n public translate: TranslateService,\r\n public lookupService: LookupsService\r\n ) { }\r\n ngAfterViewChecked() {\r\n //your code to update the model\r\n this.cdr.detectChanges();\r\n }\r\n ngOnInit(): void {\r\n this.getAllCountries();\r\n\r\n if (this.controlName && this.formGroup.controls[this.controlName].value) {\r\n this.phoneNumberValue = this.formGroup.controls[this.controlName].value;\r\n this.phoneCountryId = this.selectedCountry;\r\n this.formGroup.controls[this.controlName].setValue(null);\r\n }\r\n\r\n this.formGroup.controls[this.controlName].valueChanges.subscribe((data) => {\r\n setTimeout(() => {\r\n let ctr = this.formGroup.controls[this.controlName];\r\n let ctrVal = { countryId: 0, number: '', changed: false };\r\n this.loading = false;\r\n if (data) {\r\n if (typeof ctr.value == 'object') {\r\n ctrVal.number = ctr.value.number;\r\n ctrVal.countryId = Number(ctr.value.countryCode);\r\n } else {\r\n ctrVal.number = ctr.value;\r\n ctrVal.countryId = Number(this.selectedCountry);\r\n ctrVal.changed = true;\r\n }\r\n } else {\r\n ctrVal.number = '';\r\n ctrVal.countryId = this.countryList[0]?.id\r\n }\r\n\r\n this.phoneNumberValue = ctrVal.number;\r\n this.phoneCountryId = ctrVal.countryId;\r\n\r\n if (ctrVal.changed) {\r\n this.setFieldControlValue();\r\n }\r\n }, 100);\r\n })\r\n }\r\n\r\n getAllCountries() {\r\n this.countryLoading = true;\r\n this.lookupService.getCountries().subscribe((data: any) => {\r\n this.countryLoading = false\r\n this.countryList = data;\r\n\r\n if (!this.phoneCountryId) {\r\n this.phoneCountryId = this.countryList.find(x => x.isdefault)?.id || this.countryList[0].id;\r\n this.setFieldControlValue();\r\n } else {\r\n this.phoneCountryId = this.countryList.find(x => x.id == Number(this.selectedCountry))?.id;\r\n this.setFieldControlValue();\r\n }\r\n }, (err: any) => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n validateNumber() {\r\n if (this.phoneNumberValue?.length) {\r\n if (this.phoneNumberValue.length > this.maxLength\r\n || this.phoneNumberValue.length < this.minLength\r\n || !this.phoneCountryId) {\r\n this.formGroup.controls[this.controlName].setErrors({ 'invalid': true })\r\n } else {\r\n this.formGroup.controls[this.controlName].setErrors(null)\r\n }\r\n } else {\r\n if (this.required) {\r\n this.formGroup.controls[this.controlName].setErrors({ 'required': true })\r\n }\r\n }\r\n }\r\n\r\n setFieldControlValue() {\r\n this.validateNumber();\r\n if (this.formGroup.controls[this.controlName].valid) {\r\n if (this.phoneCountryId || this.phoneNumberValue) {\r\n this.formGroup.controls[this.controlName].setValue({\r\n number: this.phoneNumberValue,\r\n countryCode: this.phoneCountryId,\r\n dialCode: this.countryList.find(x => x.id == Number(this.phoneCountryId))?.countryKey\r\n });\r\n }\r\n }\r\n // this.phoneValueChanged();\r\n }\r\n\r\n hasError(errorName: string) {\r\n if (this.isSubmitted || this.isTouched) {\r\n if (this.phoneCountryId || this.phoneNumberValue) {\r\n if (!errorName) { return this.formGroup.controls[this.controlName].invalid; }\r\n else { return this.formGroup.controls[this.controlName].hasError(errorName); }\r\n }\r\n else {\r\n if (this.required && (!this.phoneCountryId || !this.phoneNumberValue)) {\r\n return true\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n phoneValueChanged(event: any = null) {\r\n if (event && !event.id) { event.preventDefault(); }\r\n if (this.phoneNumberValue) {\r\n this.valueChanged.emit(true)\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\"\"
\r\n {{item.countryKey }}\r\n
\r\n \r\n \r\n \"\"\r\n {{item.name}}\r\n {{item.countryKey }}\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n
\r\n

\r\n {{ 'forms.Required' | translate }}\r\n

\r\n

\r\n {{ 'forms.Invalid value' | translate }}\r\n

\r\n
\r\n\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FileThumbObj, FileThumbType } from 'src/app/models/Lookup';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-photo-manager',\r\n templateUrl: './photo-manager.component.html',\r\n})\r\nexport class PhotoManagerComponent implements OnInit {\r\n @Output() selectedFiles = new EventEmitter<[]>();\r\n @Output() deletedFilesList = new EventEmitter<[]>();\r\n\r\n @Input() files: any = [];\r\n @Input() docsEditable = true;\r\n @Input() maxFiles = 5;\r\n @Input() maxFileSize = 10;\r\n @Input() managerIndex: any = '0'; // For input id multi file manager in one view\r\n @Input() label!: string;\r\n @Input() isRequired = false;\r\n @Input() isSubmitted = false;\r\n @Input() isDisabled = false;\r\n @Input() cols = 1;\r\n\r\n @Input() allowedExt: any[] = ['jpeg', 'jpg', 'png'];\r\n\r\n @Input() renderBtn = false;\r\n // Uploader\r\n @Input() isUploader = false;\r\n @Input() uplodaerType = 0;\r\n loading = false;\r\n uploadedFilesArr: any = [];\r\n\r\n /////\r\n selectedfilesCount = 0;\r\n deletedFiles: any = [];\r\n validFile = true;\r\n fileMaxSiZeErorr = false;\r\n fileMaxNameSiZeErorr = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n validFileType(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n const extensionUpper = fileName.split('.').pop()?.toUpperCase();\r\n\r\n if (!(this.allowedExt.includes(extension) || this.allowedExt.includes(extensionUpper))) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileExt(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n switch (extension) {\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event: any) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(event: any) {\r\n this.prepareFilesList(event.target.files);\r\n event.target.value = '';\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n deleteFile(index: number, id: any) {\r\n if (id) {\r\n this.deletedFiles.push(id);\r\n }\r\n this.files.splice(index, 1);\r\n\r\n this.selectedFiles.emit(this.files);\r\n this.deletedFilesList.emit(this.deletedFiles);\r\n\r\n this.selectedfilesCount = this.files.length;\r\n }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array) {\r\n this.validFile = true;\r\n this.selectedfilesCount = this.files.length + files.length;\r\n if (this.selectedfilesCount > this.maxFiles) {\r\n return;\r\n }\r\n for (const item of files) {\r\n if (this.validFileType(item.name)) {\r\n this.validFile = true;\r\n } else {\r\n this.validFile = false;\r\n }\r\n\r\n // Check file and push to array files\r\n if (item.size / (1024 * 1024) <= this.maxFileSize && this.validFileType(item.name)) {\r\n item.fileType = this.fileExt(item.name);\r\n\r\n let fileObj = {\r\n file: item,\r\n thumbStr: '',\r\n thumb: null,\r\n thumbType: FileThumbType.Generated\r\n } as FileThumbObj;\r\n\r\n const myReader: FileReader = new FileReader();\r\n myReader.readAsDataURL(item);\r\n myReader.onloadend = (e) => {\r\n this.generateThumbnail(myReader.result as string).then(thumb => {\r\n fileObj.thumbStr = thumb\r\n fileObj.thumb = this.dataURItoBlob(thumb)\r\n });\r\n }\r\n\r\n this.files.push(fileObj);\r\n this.selectedFiles.emit(this.files);\r\n\r\n if (item.size / (1024 * 1024) <= this.maxFileSize) {\r\n this.fileMaxSiZeErorr = false;\r\n }\r\n } else {\r\n if (item.size / (1024 * 1024) > this.maxFileSize) {\r\n this.fileMaxSiZeErorr = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes: number, decimals = 2) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n public generateThumbnail(img: string): Promise {\r\n const canvas: HTMLCanvasElement = this.document.createElement('canvas');\r\n const context: CanvasRenderingContext2D | null = canvas.getContext('2d');\r\n\r\n return new Promise((resolve, reject) => {\r\n canvas.addEventListener('error', reject);\r\n let image = new Image();\r\n image.src = img;\r\n\r\n image.onload = function() {\r\n\r\n\r\n let thumbnailMaxWidth = 300;\r\n let thumbnailMaxHeight = 200;\r\n\r\n let thumbnailScale =\r\n (image.width / image.height) > (thumbnailMaxWidth / thumbnailMaxHeight)\r\n ? thumbnailMaxWidth / image.width : thumbnailMaxHeight / image.height;\r\n // thumbnailScale = 0.5;\r\n let thumbnailWidth = image.width * thumbnailScale;\r\n let thumbnailHeight = image.height * thumbnailScale;\r\n\r\n canvas.width = thumbnailWidth;\r\n canvas.height = thumbnailHeight;\r\n\r\n context?.drawImage(image, 0, 0, thumbnailWidth, thumbnailHeight);\r\n resolve(canvas.toDataURL('image/jpeg'));\r\n };\r\n });\r\n }\r\n dataURItoBlob(dataURI: string) {\r\n dataURI = dataURI.replace('data:image/jpeg;base64,', '');\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'image/jpeg' });\r\n const imageBlob: Blob = blob;\r\n const imageName: string = \"thumb.jpeg\";\r\n const imageFile: File = new File([imageBlob], imageName, {\r\n type: \"image/jpeg\"\r\n });\r\n return imageFile;\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////////////////////\r\n\r\n // File preview with validation\r\n changeThumbListener($event: any, index: number): void {\r\n const file: File = $event.target.files[0];\r\n if (file && this.validateFile(file, index)) {\r\n this.readThis(file, index);\r\n this.files[index].thumb = file;\r\n this.files[index].thumbType = FileThumbType.Uploaded;\r\n }\r\n }\r\n readThis(file: File, index: number): void {\r\n const myReader: FileReader = new FileReader();\r\n myReader.readAsDataURL(file);\r\n myReader.onloadend = (e) => {\r\n this.files[index].thumbStr = myReader.result as string;\r\n };\r\n }\r\n validateFile(file: File, index: number): any {\r\n if (this.fileType(file.name)) {\r\n // this.fileTypeError = false;\r\n if ((file.size / (1024 * 1024)) <= 1) {\r\n // this.fileSizeError = false;\r\n } else {\r\n // this.fileSizeError = true;\r\n Swal.fire({\r\n icon: 'error',\r\n text: this.translate.instant('forms.Max-file-size') + ' 1' + this.translate.instant('forms.MB')\r\n })\r\n return false;\r\n }\r\n } else {\r\n // this.fileTypeError = true;\r\n Swal.fire({\r\n icon: 'error',\r\n text: this.translate.instant('forms.InvalidFile')\r\n })\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileType(fileName: string): any {\r\n const extension = fileName.split('.')?.pop()?.toLowerCase();\r\n switch (extension) {\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{{ label ? label : ('fileManager.Drag and drop' | translate) }}

\r\n
\r\n {{ (label ? 'fileManager.Or' : 'fileManager.Supporting Extensions here Or') | translate }}\r\n \r\n
\r\n
\r\n {{\"fileManager.Supported Formats:\" | translate}}\r\n {{allowedExt}}\r\n
\r\n {{ \"fileManager.Max File Size\" | translate: { maxFileSize: maxFileSize } }}\r\n
\r\n\r\n
maxFiles && maxFiles > 1\" class=\"has-error\">\r\n {{ 'fileManager.Maximum allowed files is' | translate: { maxFiles: maxFiles } }}\r\n
\r\n
maxFiles && maxFiles === 1\" class=\"has-error\">\r\n {{ 'fileManager.Only One File is allowed' | translate }}\r\n
\r\n
{{\"fileManager.Invalid File Extensions\" | translate}}
\r\n
{{ \"fileManager.Max File Size\" | translate: { maxFileSize: maxFileSize } }}
\r\n
\r\n
\r\n {{\"forms.Required\" | translate}}\r\n
\r\n
\r\n

{{\"fileManager.No Files\" | translate}}

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ formatBytes(file.file?.size) }}\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n","import { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeAr from '@angular/common/locales/ar';\r\nregisterLocaleData(localeAr);\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { EmptyStateComponent } from './empty-state/empty-state.component';\r\n\r\n// Helpers\r\nimport { MaterialModule } from 'src/app/helpers/material-modules';\r\nimport { DndDirective } from 'src/app/helpers/dnd.directive';\r\nimport { SanitizeHtmlPipePipe } from 'src/app/helpers/sanitize-html-pipe.pipe';\r\nimport { ShortNamePipe } from 'src/app/helpers/short-name.pipe';\r\nimport { PrintDirective } from 'src/app/helpers/print.directive';\r\nimport { FilterPipe } from 'src/app/helpers/filter.pipe';\r\nimport { DateTimeMergePipe } from 'src/app/helpers/DateTimeMerge.pipe';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RecaptchaModule, RecaptchaSettings, RECAPTCHA_LANGUAGE, RECAPTCHA_SETTINGS } from 'ng-recaptcha';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DropDownDirective } from '../helpers/drop-down.directive';\r\nimport { LottieModule } from 'ngx-lottie';\r\nimport player from 'lottie-web';\r\nimport { TreeSelectionComponent } from './tree-selection/tree-selection.component';\r\nimport { SideSheetComponent } from './side-sheet/side-sheet.component';\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\nimport { OnlynumberDirective } from '../helpers/onlynumber.directive';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { CustomPaginator } from '../helpers/CustomPaginatorConfiguration';\r\nimport { DatepickerComponent } from './datepicker/datepicker.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { IslamicPickerComponent } from './datepicker/islamic-picker/islamic-picker.component';\r\nimport { NgxHijriGregorianDatepickerModule } from 'ngx-hijri-gregorian-datepicker';\r\nimport { DateModelPipe } from '../helpers/DateModelTime.pipe';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { DirtyCheckGuard } from '../helpers/CanDeactivate/dirty-check.guard';\r\nimport { LightgalleryModule } from 'lightgallery/angular';\r\nimport { FileManagerComponent } from './file-manager/file-manager.component';\r\nimport { VideoManagerComponent } from './video-manager/video-manager.component';\r\nimport { PhotoManagerComponent } from './photo-manager/photo-manager.component';\r\nimport { InView } from '../helpers/in-view.directive';\r\nimport { PhoneNumberComponent } from './phone-number/phone-number.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgSelectFormFieldControlDirective } from '../helpers/ng-select.directive';\r\nimport { PagingComponent } from './paging/paging.component';\r\nimport { TagsSelectorSearchComponent } from './tags-selector-search/tags-selector-search.component';\r\nimport { GuestReviewDetailsComponent } from '../features/restaurants/components/profile/guest-reviews/guest-review-details/guest-review-details.component';\r\nimport { ImageControlComponent } from './image-control/image-control.component';\r\nimport { CropperDialogComponent } from './image-control/cropper-dialog/cropper-dialog.component';\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\n\r\n\r\nexport function playerFactory() {\r\n return player;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n // Directives\r\n DndDirective,\r\n PrintDirective,\r\n OnlynumberDirective,\r\n InView,\r\n NgSelectFormFieldControlDirective,\r\n\r\n // Pipes\r\n SanitizeHtmlPipePipe,\r\n ShortNamePipe,\r\n FilterPipe,\r\n DateTimeMergePipe,\r\n DropDownDirective,\r\n DateModelPipe,\r\n\r\n //Components\r\n EmptyStateComponent,\r\n TreeSelectionComponent,\r\n SideSheetComponent,\r\n DatepickerComponent,\r\n IslamicPickerComponent,\r\n FileManagerComponent,\r\n VideoManagerComponent,\r\n PhotoManagerComponent,\r\n PhoneNumberComponent,\r\n PagingComponent,\r\n TagsSelectorSearchComponent,\r\n GuestReviewDetailsComponent,\r\n ImageControlComponent,\r\n CropperDialogComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n InfiniteScrollModule,\r\n TranslateModule.forChild({}),\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RecaptchaModule,\r\n LottieModule.forRoot({ player: playerFactory }),\r\n NgxIntlTelInputModule,\r\n NgbModule,\r\n NgxHijriGregorianDatepickerModule,\r\n NgxMaterialTimepickerModule,\r\n LightgalleryModule,\r\n NgSelectModule,\r\n ImageCropperModule\r\n ],\r\n exports: [\r\n MaterialModule,\r\n SanitizeHtmlPipePipe,\r\n DndDirective,\r\n ShortNamePipe,\r\n PrintDirective,\r\n FilterPipe,\r\n DateTimeMergePipe,\r\n DropDownDirective,\r\n DateModelPipe,\r\n OnlynumberDirective,\r\n InView,\r\n InfiniteScrollModule,\r\n EmptyStateComponent,\r\n TreeSelectionComponent,\r\n SideSheetComponent,\r\n TranslateModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RecaptchaModule,\r\n LottieModule,\r\n NgxIntlTelInputModule,\r\n NgbModule,\r\n DatepickerComponent,\r\n IslamicPickerComponent,\r\n NgxHijriGregorianDatepickerModule,\r\n NgxMaterialTimepickerModule,\r\n LightgalleryModule,\r\n FileManagerComponent,\r\n VideoManagerComponent,\r\n PhotoManagerComponent,\r\n PhoneNumberComponent,\r\n NgSelectModule,\r\n NgSelectFormFieldControlDirective,\r\n PagingComponent,\r\n TagsSelectorSearchComponent,\r\n GuestReviewDetailsComponent,\r\n ImageControlComponent,\r\n CropperDialogComponent,\r\n ],\r\n providers: [\r\n DirtyCheckGuard,\r\n { provide: MatPaginatorIntl, useValue: CustomPaginator() },\r\n { provide: LOCALE_ID, useValue: localStorage.getItem('language') || 'en' },\r\n {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: {\r\n siteKey: environment.googleSiteKey,\r\n useValue: localStorage.getItem('language') || 'en'\r\n } as RecaptchaSettings,\r\n },\r\n {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: { siteKey: environment.googleSiteKey } as RecaptchaSettings,\r\n },\r\n {\r\n provide: RECAPTCHA_LANGUAGE,\r\n useFactory: (locale: string) => locale,\r\n deps: [LOCALE_ID],\r\n },\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-side-sheet',\n templateUrl: './side-sheet.component.html'\n})\nexport class SideSheetComponent implements OnInit {\n @Input() open!: boolean;\n @Output() close = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n\n
\n\n
\n\n \n\n
\n\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Lookup } from 'src/app/models/Lookup';\r\nimport { map, Observable, startWith } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-tags-selector-search',\r\n templateUrl: './tags-selector-search.component.html'\r\n})\r\nexport class TagsSelectorSearchComponent implements OnInit {\r\n @Input() loading = true;\r\n @Input() isRequired = false;\r\n @Input() disabled = false;\r\n @Input() isSubmitted = false;\r\n @Input() list: any[] = [];\r\n @Input() label!: string;\r\n @Output() selectedItems = new EventEmitter();\r\n\r\n searchCtr = new FormControl('');\r\n filteredList!: Observable;\r\n @Input() selectedList: Lookup[] = [];\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['loading']?.currentValue == false) {\r\n this.initListFiltiration();\r\n }\r\n if (changes['isSubmitted']?.currentValue && this.isRequired) {\r\n this.hasError();\r\n }\r\n }\r\n\r\n initListFiltiration() {\r\n this.filteredList = this.searchCtr.valueChanges.pipe(\r\n startWith(''),\r\n map(value => {\r\n const name = typeof value === 'string' ? value : value?.name;\r\n return name ? this._filter(name as string) : this.list.slice();\r\n }),\r\n );\r\n }\r\n displayFn(item: Lookup): string {\r\n return item && item.name ? item.name : '';\r\n }\r\n private _filter(name: string): Lookup[] {\r\n const filterValue = name.toLowerCase();\r\n return this.list.filter(item => item.name.toLowerCase().includes(filterValue));\r\n }\r\n selected(value: Lookup) {\r\n if (!this.isSelected(value)) {\r\n this.selectedList.push(value);\r\n } else {\r\n let index = this.selectedList.findIndex(item => item.id === value.id)\r\n if (index >= 0) {\r\n this.selectedList.splice(index, 1);\r\n }\r\n }\r\n this.searchCtr.setValue('');\r\n this.selectedItems.emit(this.selectedList);\r\n }\r\n removeSelected(i: number) {\r\n this.selectedList.splice(i, 1);\r\n this.selectedItems.emit(this.selectedList);\r\n }\r\n isSelected(v: Lookup) {\r\n return this.selectedList.some(item => item.id === v.id)\r\n }\r\n\r\n hasError() {\r\n if (!this.selectedList.length && this.isRequired) {\r\n this.searchCtr.setErrors({required: true});\r\n } else {\r\n this.searchCtr.setErrors(null);\r\n }\r\n this.searchCtr.markAsTouched()\r\n }\r\n}\r\n","\r\n {{label}}\r\n\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {{item.name}}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n {{ 'forms.Required' | translate }}\r\n \r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n {{item.name}}\r\n ×\r\n
  • \r\n
\r\n
\r\n","import { Component, OnInit, Injectable, EventEmitter, Output, Input, SimpleChanges } from '@angular/core';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {FlatTreeControl} from '@angular/cdk/tree';\nimport {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree';\n\nexport class Lookup {\n id!: number;\n name!: string;\n childs!: Lookup[];\n level!: number;\n expandable!: boolean;\n isActive!: boolean;\n}\n\n/** Flat to-do item node with expandable and level information */\nexport class TodoItemFlatNode {\n id!: number;\n name!: string;\n item!: string;\n childs!: Lookup[];\n level!: number;\n expandable!: boolean;\n isActive!: boolean;\n}\n\n@Component({\n selector: 'app-tree-selection',\n templateUrl: './tree-selection.component.html'\n})\nexport class TreeSelectionComponent implements OnInit {\n\n @Input() isView = false;\n @Input() TREE_DATA: Lookup[] = [];\n @Input() selected: Lookup[] = [];\n @Input() isSubmitted = false;\n @Input() isRequired = false;\n @Input() searchText!: string;\n\n @Output() selectedItems = new EventEmitter();\n\n /** Map from flat node to nested node. This helps us finding the nested node to be modified */\n flatNodeMap = new Map();\n\n /** Map from nested node to flattened node. This helps us to keep the same object for selection */\n nestedNodeMap = new Map();\n\n /** A selected parent node to be inserted */\n selectedParent: TodoItemFlatNode | null = null;\n\n /** The new item's name */\n newItemName = '';\n\n treeControl: FlatTreeControl;\n\n treeFlattener: MatTreeFlattener;\n\n dataSource: MatTreeFlatDataSource;\n\n\n /** The selection for checklist */\n checklistSelection = new SelectionModel(true /* multiple */);\n\n\n\n constructor() {\n this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel,\n this.isExpandable, this.getChildren);\n this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);\n this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\n\n }\n\n ngOnInit(): void {\n if(this.TREE_DATA && this.TREE_DATA.length){\n this.dataSource.data = this.TREE_DATA;\n this.treeControl.dataNodes.forEach((item: TodoItemFlatNode) => {\n this.childsR(item);\n });\n }\n // if(this.selected && this.selected.length){\n // setTimeout(() => {\n // if(this.treeControl && this.treeControl.dataNodes && this.treeControl.dataNodes.length){\n // this.treeControl.dataNodes.forEach((parent: any) => {\n // this.childsRP(parent);\n // });\n // }\n // }, 100);\n // }\n }\n\n childsR(item: any) {\n if (item.childs && item.childs.length) {\n item.childs.forEach((element: any) => {\n if (element.childs && element.childs.length) {\n this.childsR(element);\n }\n });\n } else {\n if (item.isActive) {\n this.todoLeafItemSelectionToggle(item);\n }\n }\n this.selectedItem();\n }\n\n // childsRP(parent: any) {\n // if (parent.childs && parent.childs.length) {\n // parent.childs.forEach((element: any) => {\n // if (element.childs && element.childs.length) {\n // this.childsR(element);\n // }\n // });\n // } else {\n // const itemFound = this.selected.find((item: any) => parent.id === item.id);\n // if (itemFound) {\n // this.todoLeafItemSelectionToggle(parent);\n // }\n // }\n // }\n\n searchNodes() {\n this.treeControl.dataNodes.forEach((item: TodoItemFlatNode) => {\n this.childsR(item);\n });\n }\n\n getLevel = (node: TodoItemFlatNode) => node.level;\n\n isExpandable = (node: TodoItemFlatNode) => node.expandable;\n\n getChildren = (node: Lookup): Lookup[] => node.childs!;\n\n hasChild = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.expandable;\n\n hasError() {\n return this.isRequired && this.isSubmitted && !this.selected.length\n }\n /**\n * Transformer to convert nested node to flat node. Record the nodes in maps for later use.\n */\n transformer = (node: Lookup, level: number) => {\n const existingNode = this.nestedNodeMap.get(node);\n const flatNode = existingNode && existingNode.name === node.name\n ? existingNode\n : new TodoItemFlatNode();\n node.level = level;\n node.expandable = !!node.childs?.length;\n\n flatNode.id = node.id;\n flatNode.level = level;\n flatNode.expandable = !!node.childs?.length;\n flatNode.childs = (node.childs && node.childs.length) ? node.childs : [];\n flatNode.name = node.name!;\n flatNode.isActive = node.isActive!;\n this.flatNodeMap.set(flatNode, node);\n this.nestedNodeMap.set(node, flatNode);\n return flatNode;\n }\n\n\n /** Whether all the descendants of the node are selected. */\n descendantsAllSelected(node: TodoItemFlatNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\n return this.checklistSelection.isSelected(child);\n });\n return descAllSelected;\n }\n\n /** Whether part of the descendants are selected */\n descendantsPartiallySelected(node: TodoItemFlatNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\n return result && !this.descendantsAllSelected(node);\n }\n\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\n todoItemSelectionToggle(node: TodoItemFlatNode): void {\n this.checklistSelection.toggle(node);\n const descendants = this.treeControl.getDescendants(node);\n this.checklistSelection.isSelected(node)\n ? this.checklistSelection.select(...descendants)\n : this.checklistSelection.deselect(...descendants);\n\n // Force update for the parent\n descendants.forEach(child => this.checklistSelection.isSelected(child));\n this.checkAllParentsSelection(node);\n\n this.selectedItem();\n }\n\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\n todoLeafItemSelectionToggle(node: TodoItemFlatNode): void {\n this.checklistSelection.toggle(node);\n this.checkAllParentsSelection(node);\n }\n\n /* Checks all the parents when a leaf node is selected/unselected */\n checkAllParentsSelection(node: TodoItemFlatNode): void {\n let parent: TodoItemFlatNode | null = this.getParentNode(node);\n while (parent) {\n this.checkRootNodeSelection(parent);\n parent = this.getParentNode(parent);\n }\n }\n\n /** Check root node checked state and change it accordingly */\n checkRootNodeSelection(node: TodoItemFlatNode): void {\n const nodeSelected = this.checklistSelection.isSelected(node);\n const descendants = this.treeControl.getDescendants(node);\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\n return this.checklistSelection.isSelected(child);\n });\n if (nodeSelected && !descAllSelected) {\n this.checklistSelection.deselect(node);\n } else if (!nodeSelected && descAllSelected) {\n this.checklistSelection.select(node);\n }\n }\n\n /* Get the parent node of a node */\n getParentNode(node: TodoItemFlatNode): TodoItemFlatNode | null {\n const currentLevel = this.getLevel(node);\n\n if (currentLevel < 1) {\n return null;\n }\n\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\n\n for (let i = startIndex; i >= 0; i--) {\n const currentNode = this.treeControl.dataNodes[i];\n\n if (this.getLevel(currentNode) < currentLevel) {\n return currentNode;\n }\n }\n return null;\n }\n\n isInArray(parentObj: any, item: any) {\n return parentObj.some((obj: any) => obj.id === item.id);\n }\n\n selectedItem() {\n this.selected = [];\n this.checklistSelection.selected.forEach((element: any) => {\n if ( ( element.childs && !element.childs!.length ) && !this.isInArray(this.selected, element)) {\n this.selected.push(element);\n }\n });\n this.selectedItems.emit(this.selected);\n }\n\n public hideLeafNode(node: TodoItemFlatNode): boolean {\n return this.isView && !node.isActive\n ? true\n : new RegExp(this.searchText, 'i').test(node.name) === false;\n }\n public showParentNode(node: TodoItemFlatNode): boolean {\n const parentNode = this.getParentNode(node);\n if (parentNode) {\n return !this.hideLeafNode(parentNode);\n }\n return true;\n }\n\n public hideParentNode(node: TodoItemFlatNode): boolean {\n return this.treeControl\n .getDescendants(node)\n .filter(node => node.childs == null || node.childs.length === 0)\n .every(node => this.hideLeafNode(node));\n }\n}\n","\n \n\n \n\n {{node.name}}\n \n\n \n\n \n\n {{node.name}}\n \n\n \n\n

{{\"forms.Required\" | translate}}

\n","import { Component, EventEmitter, Input, OnInit, Output, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FileThumbObj, FileThumbType } from 'src/app/models/Lookup';\r\nimport { Observable, Observer } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-video-manager',\r\n templateUrl: './video-manager.component.html',\r\n})\r\nexport class VideoManagerComponent implements OnInit {\r\n @Output() selectedFiles = new EventEmitter<[]>();\r\n @Output() deletedFilesList = new EventEmitter<[]>();\r\n\r\n @Input() files: any = [];\r\n @Input() docsEditable = true;\r\n @Input() maxFiles = 5;\r\n @Input() maxFileSize = 10;\r\n @Input() managerIndex: any = '0'; // For input id multi file manager in one view\r\n @Input() label!: string;\r\n @Input() isRequired = false;\r\n @Input() isSubmitted = false;\r\n @Input() isDisabled = false;\r\n @Input() cols = 1;\r\n\r\n @Input() allowedExt: any[] = ['mp4', 'mpg'];\r\n\r\n /////\r\n selectedfilesCount = 0;\r\n deletedFiles: any = [];\r\n validFile = true;\r\n fileMaxSiZeErorr = false;\r\n fileMaxNameSiZeErorr = false;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n validFileType(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n const extensionUpper = fileName.split('.').pop()?.toUpperCase();\r\n\r\n if (!(this.allowedExt.includes(extension) || this.allowedExt.includes(extensionUpper))) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileExt(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n switch (extension) {\r\n case 'mp4':\r\n case 'mpg':\r\n return 'video';\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event: any) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(event: any) {\r\n this.prepareFilesList(event.target.files);\r\n event.target.value = '';\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n deleteFile(index: number, id: any) {\r\n if (id) {\r\n this.deletedFiles.push(id);\r\n }\r\n this.files.splice(index, 1);\r\n\r\n this.selectedFiles.emit(this.files);\r\n this.deletedFilesList.emit(this.deletedFiles);\r\n\r\n this.selectedfilesCount = this.files.length;\r\n }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array) {\r\n this.validFile = true;\r\n this.selectedfilesCount = this.files.length + files.length;\r\n if (this.selectedfilesCount > this.maxFiles) {\r\n return;\r\n }\r\n for (const item of files) {\r\n if (this.validFileType(item.name)) {\r\n this.validFile = true;\r\n } else {\r\n this.validFile = false;\r\n }\r\n\r\n // Check file and push to array files\r\n if (item.size / (1024 * 1024) <= this.maxFileSize && this.validFileType(item.name)) {\r\n item.fileType = this.fileExt(item.name);\r\n\r\n let fileObj = {\r\n file: item,\r\n thumbStr: '',\r\n thumb: null,\r\n thumbType: FileThumbType.Generated\r\n } as FileThumbObj;\r\n this.generateThumbnail(item).then(thumb => {\r\n fileObj.thumbStr = thumb\r\n fileObj.thumb = this.dataURItoBlob(thumb)\r\n });\r\n\r\n this.files.push(fileObj);\r\n this.selectedFiles.emit(this.files);\r\n\r\n if (item.size / (1024 * 1024) <= this.maxFileSize) {\r\n this.fileMaxSiZeErorr = false;\r\n }\r\n } else {\r\n if (item.size / (1024 * 1024) > this.maxFileSize) {\r\n this.fileMaxSiZeErorr = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes: number, decimals = 2) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n public generateThumbnail(videoFile: Blob): Promise {\r\n const video: HTMLVideoElement = this.document.createElement('video');\r\n const canvas: HTMLCanvasElement = this.document.createElement('canvas');\r\n const context: CanvasRenderingContext2D | null = canvas.getContext('2d');\r\n return new Promise((resolve, reject) => {\r\n canvas.addEventListener('error', reject);\r\n video.addEventListener('error', reject);\r\n video.addEventListener('canplay', event => {\r\n canvas.width = video.videoWidth;\r\n canvas.height = video.videoHeight;\r\n context?.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\r\n resolve(canvas.toDataURL('image/jpeg'));\r\n });\r\n if (videoFile.type) {\r\n video.setAttribute('type', videoFile.type);\r\n }\r\n video.preload = 'auto';\r\n video.src = window.URL.createObjectURL(videoFile);\r\n video.load();\r\n });\r\n }\r\n\r\n dataURItoBlob(dataURI: string) {\r\n dataURI = dataURI.replace('data:image/jpeg;base64,', '');\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: 'image/jpeg' });\r\n const imageBlob: Blob = blob;\r\n const imageName: string = \"thumb.jpeg\";\r\n const imageFile: File = new File([imageBlob], imageName, {\r\n type: \"image/jpeg\"\r\n });\r\n return imageFile;\r\n }\r\n // dataURItoBlob(dataURI: string): Observable {\r\n // return Observable.create((observer: Observer) => {\r\n // const byteString: string = window.atob(dataURI);\r\n // const arrayBuffer: ArrayBuffer = new ArrayBuffer(byteString.length);\r\n // const int8Array: Uint8Array = new Uint8Array(arrayBuffer);\r\n // for (let i = 0; i < byteString.length; i++) {\r\n // int8Array[i] = byteString.charCodeAt(i);\r\n // }\r\n // const blob = new Blob([int8Array], { type: \"image/jpeg\" });\r\n // observer.next(blob);\r\n // observer.complete();\r\n // });\r\n // }\r\n\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n //////////////////////////////////////////////////////////////////////\r\n\r\n // File preview with validation\r\n changeThumbListener($event: any, index: number): void {\r\n const file: File = $event.target.files[0];\r\n if (file && this.validateFile(file, index)) {\r\n this.readThis(file, index);\r\n this.files[index].thumb = file;\r\n this.files[index].thumbType = FileThumbType.Uploaded;\r\n }\r\n }\r\n readThis(file: File, index: number): void {\r\n const myReader: FileReader = new FileReader();\r\n myReader.readAsDataURL(file);\r\n myReader.onloadend = (e) => {\r\n this.files[index].thumbStr = myReader.result as string;\r\n };\r\n }\r\n validateFile(file: File, index: number): any {\r\n if (this.fileType(file.name)) {\r\n // this.fileTypeError = false;\r\n if ((file.size / (1024 * 1024)) <= 1) {\r\n // this.fileSizeError = false;\r\n } else {\r\n // this.fileSizeError = true;\r\n Swal.fire({\r\n icon: 'error',\r\n text: this.translate.instant('forms.Max-file-size') + ' 1' + this.translate.instant('forms.MB')\r\n })\r\n return false;\r\n }\r\n } else {\r\n // this.fileTypeError = true;\r\n Swal.fire({\r\n icon: 'error',\r\n text: this.translate.instant('forms.InvalidFile')\r\n })\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileType(fileName: string): any {\r\n const extension = fileName.split('.')?.pop()?.toLowerCase();\r\n switch (extension) {\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{{ label ? label : ('fileManager.Drag and drop' | translate) }}

\r\n
\r\n {{ (label ? 'fileManager.Or' : 'fileManager.Supporting Extensions here Or') | translate }}\r\n \r\n
\r\n
\r\n {{\"fileManager.Supported Formats:\" | translate}}\r\n {{allowedExt}}\r\n
\r\n {{ \"fileManager.Max File Size\" | translate: { maxFileSize: maxFileSize } }}\r\n
\r\n\r\n\r\n
maxFiles && maxFiles > 1\" class=\"has-error\">\r\n {{ 'fileManager.Maximum allowed files is' | translate: { maxFiles: maxFiles } }}\r\n
\r\n
maxFiles && maxFiles === 1\" class=\"has-error\">\r\n {{ 'fileManager.Only One File is allowed' | translate }}\r\n
\r\n
{{\"fileManager.Invalid File Extensions\" | translate}}
\r\n
{{ \"fileManager.Max File Size\" | translate: { maxFileSize: maxFileSize\r\n } }}
\r\n
\r\n
\r\n {{\"forms.Required\" | translate}}\r\n
\r\n
\r\n

{{\"fileManager.No Files\" | translate}}

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ formatBytes(file.file?.size) }}\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n\r\n // appUrl: 'https://diwandevapi.expertapps.com.sa.com.sa', // DEV\r\n // apiUrl: 'https://diwandevapi.expertapps.com.sa/api', // DEV\r\n // signalR: 'https://diwandevslr.expertapps.com.sa/hubs', // DEV\r\n\r\n // appUrl: 'https://aldiwanrestaurantdevnf.expertapps.com.sa/', // DEV New Feature\r\n // apiUrl: 'https://diwandevnfapi.expertapps.com.sa/api', // DEV\r\n // signalR: 'https://diwandevnfslr.expertapps.com.sa/hubs', // DEV\r\n\r\n // appUrl: 'https://diwantest.expertapps.com.sa', // TEST\r\n // apiUrl: 'https://diwantestapi.expertapps.com.sa/api', // TEST API front\r\n // signalR: 'https://diwantestslr.expertapps.com.sa/hubs', // TEST SignalR\r\n\r\n // appUrl: 'https://diwanstage.expertapps.com.sa', // STAGE\r\n // apiUrl: 'https://diwanapistage.expertapps.com.sa/api', // STAGE API front\r\n // signalR: 'https://diwandevslr.expertapps.com.sa/hubs', // STAGE SignalR\r\n\r\n appUrl: 'https://diwantakeawayadmin.expertapps.com.sa', // STAGE\r\n apiUrl: 'https://diwantakeawayapi.expertapps.com.sa/api', // STAGE API front\r\n signalR: 'https://diwantakeawayslr.expertapps.com.sa/hubs', // STAGE SignalR\r\n\r\n googleSiteKey: '6Lfm3xohAAAAALgLSfUIY8YHdzC16AjLY6wl7U9a',\r\n googleApiKey: '6Lfm3xohAAAAADEauzDDPzU0YVrIxWTBbi1k3AkE',\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n window.console.log = () => { };\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule).then(() => {\n // if ('serviceWorker' in navigator && !environment.production) {\n // navigator.serviceWorker.register(\"ngsw-worker.js\")\n // .then((registration) => {\n // console.log(\"Registration succeeded.\");\n // registration.unregister().then((boolean) => {\n // if (boolean) {\n // console.log(\"Unregistration succeeded.\");\n // }\n // });\n // })\n // .catch((error) => {\n // // registration failed\n // console.error(`Registration failed with ${error}`);\n // });\n // }\n // if ('serviceWorker' in navigator && environment.production) {\n // navigator.serviceWorker.register('ngsw-worker.js');\n // }\n})\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 82469,\n\t\"./tg.js\": 82469,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["EventEmitter","FormControl","map","startWith","i0","$event","TagsSelectorSearchComponent","constructor","ngOnInit","ngOnChanges","changes","currentValue","initListFiltiration","isRequired","hasError","filteredList","searchCtr","valueChanges","pipe","value","name","_filter","list","slice","displayFn","item","filterValue","toLowerCase","filter","includes","selected","isSelected","selectedList","push","index","findIndex","id","splice","setValue","selectedItems","emit","removeSelected","i","v","some","length","setErrors","required","markAsTouched","selectors","inputs","loading","disabled","isSubmitted","label","outputs","features","decls","vars","consts","template","ctx","_r0"],"sourceRoot":"webpack:///","x_google_ignoreList":[89]}