{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.enums.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/config/access.guard.ts","webpack:///./src/app/config/app.routes.ts","webpack:///./src/app/initializers/site.initializer.ts","webpack:///./src/app/registered/interceptors/frogery.interceptor.ts","webpack:///./src/app/registered/interceptors/unauthorized.interceptor.ts","webpack:///./src/app/registered/services/navigation/navigation.service.ts","webpack:///./src/app/registered/services/registered-net/registered-net.service.ts","webpack:///./src/app/registered/services/user/user.service.ts","webpack:///./src/app/services/browser-selector/browser-selector.service.ts","webpack:///./src/app/services/chat/chat.service.ts","webpack:///./src/app/services/clientDetails/client-details.service.ts","webpack:///./src/app/services/currency/currency.service.ts","webpack:///./src/app/services/features/features.service.ts","webpack:///./src/app/services/local-storage/local-storage.service.ts","webpack:///./src/app/services/localization/localization.service.ts","webpack:///./src/app/services/logger/logger.service.ts","webpack:///./src/app/services/meta-data/meta-data.service.ts","webpack:///./src/app/services/meta/meta.service.ts","webpack:///./src/app/services/net/net.service.ts","webpack:///./src/app/services/site/site.service.ts","webpack:///./src/app/services/spinner/spinner.service.ts","webpack:///./src/app/services/static-data/static-data.service.ts","webpack:///./src/app/services/utils/utils.service.ts","webpack:///./src/app/views/app/app.view.html","webpack:///./src/app/views/app/app.view.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AC5BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,aAkCX;AAlCD,WAAY,aAAa;IACxB,2DAAS;IACT,+DAAW;IACX,mFAAqB;IACrB,mEAAa;IACb,yDAAQ;IACR,6EAAkB;IAClB,yEAAgB;IAChB,uDAAO;IACP,yDAAQ;IACR,qEAAc;IACd,gEAAW;IACX,4DAAS;IACT,kFAAoB;IACpB,oEAAa;IACb,4DAAS;IACT,4EAAiB;IACjB,4FAAyB;IACzB,0DAAQ;IACR,0DAAQ;IACR,8EAAkB;IAClB,4EAAiB;IACjB,kEAAY;IACZ,wEAAe;IACf,kFAAoB;IACpB,gFAAmB;IACnB,kEAAY;IACZ,oEAAa;IACb,8DAAU;IACV,gEAAW;IACX,8DAAU;IACV,sDAAM;IACN,gEAAW;IACX,oEAAa;AACd,CAAC,EAlCW,aAAa,KAAb,aAAa,QAkCxB;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,+DAAK;IACL,mEAAO;IACP,mEAAO;AACR,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AACD,IAAY,WAOX;AAPD,WAAY,WAAW;IACtB,2CAAO;IACP,iDAAU;IACV,mDAAW;IACX,+DAAiB;IACjB,uDAAa;IACb,iDAAU;AACX,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED,IAAY,MAGX;AAHD,WAAY,MAAM;IACjB,yCAAO;IACP,2CAAQ;AACT,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB;AACD,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IACjC,uEAAU;IACV,yEAAW;AACZ,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AACD,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IACnB,6BAAiB;IACjB,2BAAe;IACf,6BAAiB;IACjB,yBAAa;IACb,uCAA2B;IAC3B,6BAAiB;IACjB,2BAAe;IACf,uCAA2B;IAC3B,oCAAwB;IACxB,oCAAwB;IACxB,sCAA0B;IAC1B,kCAAsB;IACtB,kCAAsB;IACtB,6BAAiB;IACjB,iCAAqB;AACtB,CAAC,EAhBW,QAAQ,KAAR,QAAQ,QAgBnB;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC3B,qEAAe;IACf,6EAAmB;IACnB,yEAAiB;IACjB,yEAAiB;AAClB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED,IAAY,aAOX;AAPD,WAAY,aAAa;IACxB,yDAAY;IACZ,uDAAW;IACX,qDAAU;IACV,qDAAU;IACV,qDAAU;IACV,iEAAgB;AACjB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AACD,IAAY,sBAKX;AALD,WAAY,sBAAsB;IACjC,iEAAO;IACP,+FAAsB;IACtB,6EAAa;IACb,6EAAa;AACd,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,iEAAc;IACd,iEAAc;IACd,qDAAQ;AACT,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,IAAY,SAOX;AAPD,WAAY,SAAS;IACpB,6EAAsB;IACtB,uFAA2B;IAC3B,iFAAwB;IACxB,6FAA8B;IAC9B,2GAAqC;IACrC,iGAAgC;AACjC,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC7B,+DAAU;IACV,+DAAU;IACV,mFAAoB;AACrB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED,IAAY,sBAMX;AAND,WAAY,sBAAsB;IACjC,yEAAO;IACP,+EAAU;IACV,uEAAM;IACN,uEAAM;IACN,2FAAgB,EAAE,mCAAmC;AACtD,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,+CAAW;IACX,iDAAY;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,IAAY,WAMX;AAND,WAAY,WAAW;IACtB,yDAAc;IACd,iDAAU;IACV,6CAAQ;IACR,mEAAmB;IACnB,iEAAkB;AACnB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,IAAY,cAMX;AAND,WAAY,cAAc;IACzB,+DAAc;IACd,2DAAY;IACZ,yDAAW;IACX,+EAAsB;IACtB,2EAAoB;AACrB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,IAAY,cAUX;AAVD,WAAY,cAAc;IACzB,2DAAY;IACZ,6DAAa;IACb,qEAAiB;IACjB,iGAA+B;IAC/B,6FAA6B;IAC7B,iGAA+B;IAC/B,qEAAiB;IACjB,mFAAwB;IACxB,uFAA0B;AAC3B,CAAC,EAVW,cAAc,KAAd,cAAc,QAUzB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACtB,yCAAM;IACN,2CAAO;AACR,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB;IACnB,kCAAqB;IACrB,4BAAe;AACjB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,IAAY,MAIX;AAJD,WAAY,MAAM;IACjB,+CAAc;IACd,6CAAa;IACb,6CAAa;AACd,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,uEAAU;IACV,qEAAS;AACX,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IAC1B,kCAAe;IACf,oCAAiB;AAClB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACxB,8BAAa;IACb,kCAAiB;AAClB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,IAAY,YAWX;AAXD,WAAY,YAAY;IACvB,sCAAsB;IACtB,gDAAgC;IAChC,6BAAa;IACb,6BAAa;IACb,qCAAqB;IACrB,uCAAuB;IACvB,gDAAgC;IAChC,sDAAsC;IACtC,yCAAyB;IACzB,qDAAqC;AACtC,CAAC,EAXW,YAAY,KAAZ,YAAY,QAWvB;AAGD,IAAY,qCAGX;AAHD,WAAY,qCAAqC;IAChD,2GAAa;IACb,+GAAe;AAChB,CAAC,EAHW,qCAAqC,KAArC,qCAAqC,QAGhD;AAGD,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC7B,qEAAa;IACb,uEAAc;IACd,2EAAgB;IAChB,2DAAQ;IACR,mFAAoB;IACpB,6EAAiB;AAClB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC5B,mEAAa;IACb,qFAAsB;IACtB,yFAAwB;IACxB,iEAAY;IACZ,6EAAkB;AACnB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,IAAY,OAIX;AAJD,WAAY,OAAO;IAClB,yCAAU;IACV,yCAAU;IACV,qDAAgB;AACjB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAChC,iEAAQ;IACR,iEAAQ;AACT,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IACnB,6CAAO;IACP,2CAAM;AACP,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAChC,mEAAS;IACT,qEAAU;IACV,+EAAe;AAChB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED,IAAY,UASX;AATD,WAAY,UAAU;IACpB,uCAAyB;IACzB,mDAAqC;IACrC,uCAAyB;IACzB,yBAAW;IACX,qCAAuB;IACvB,yCAA2B;IAC3B,2CAA6B;IAC7B,mCAAqB;AACvB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAGD,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,iDAA6B;IAC7B,yDAAqC;IACrC,qDAAiC;IACjC,+CAA2B;IAC3B,mEAA+C;IAC/C,yCAAqB;AACvB,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC3B,qCAAiB;IACjB,uCAAmB;AACpB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,IAAY,OAKX;AALD,WAAY,OAAO;IAClB,0BAAe;IACf,wBAAa;IACb,4BAAiB;IACjB,4BAAiB;AAClB,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB;AAED,IAAY,cAQX;AARD,WAAY,cAAc;IACvB,0CAAwB;IAC1B,6DAA2C;IAC3C,4CAA0B;IAC1B,+CAA6B;IAC7B,oEAAkD;IAClD,gEAA8C;IAC9C,kDAAgC;AACjC,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB;AAGD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC3B,2EAAkB;IAClB,2DAAU;AACX,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAGD,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC/B,6DAAG;IACH,yEAAS;IACT,2FAAkB;IAClB,yEAAS;IACT,6EAAW;AACZ,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAED,IAAa,kBAIZ;AAJD,WAAa,kBAAkB;IAC9B,uEAAU;IACV,mEAAQ;IACR,+DAAM;AACP,CAAC,EAJY,kBAAkB,KAAlB,kBAAkB,QAI9B;AAGD,IAAY,cAKX;AALD,WAAY,cAAc;IACzB,mCAAiB;IACjB,uDAAqC;IACrC,uDAAqC;IACrC,+CAA6B;AAC9B,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAChC,0CAAiB;IACjB,4CAAmB;AACpB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC3B,6EAAe;IACf,+DAAQ;IACR,2EAAc;AACf,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AACD,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IAClC,oDAAyB;IACzB,yCAAc;IACd,2CAAgB;AACjB,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IAClB,mEAAuB;IACvB,6CAAY;AACb,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IAClB,4BAAiB;IACjB,uCAA4B;AAC7B,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7ViE;AACR;AAE1D,gCAAgC;AACd;AAE4B;AACC;AACI;AACoC;AAChB;AACN;AACc;AACjC;AACI;AAEqC;AACnC;AACyC;AACV;AAInF;IAAoC,kCAAmB;IAAvD;;IAOA,CAAC;IANG,oCAAW,GAAX,UAAY,OAAoB;QAC5B,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;YAC/B,WAAW,EAAE,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IACL,qBAAC;AAAD,CAAC,CAPmC,8EAAmB,GAOtD;;AAGD,kDAAkD;AAC3C,SAAS,iBAAiB,CAAC,IAAgB;IACjD,OAAO,IAAI,8EAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAEM,SAAS,QAAQ,CAAC,eAAgC;IACxD,OAAO,cAAM,sBAAe,CAAC,UAAU,EAAE,EAA5B,CAA4B,CAAC;AAC3C,CAAC;AA+CD;IAAA;IAAwB,CAAC;IAAZ,SAAS;QA7CrB,8DAAQ,CAAC;YACT,OAAO,EAAE;gBACR,4FAAuB;gBACvB,qEAAgB;gBAChB,0DAAO;gBACP,mEAAe,CAAC,OAAO,CAAC;oBACvB,MAAM,EAAE;wBACP,OAAO,EAAE,mEAAe;wBACxB,UAAU,EAAE,iBAAiB;wBAC7B,IAAI,EAAE,CAAC,+DAAU,CAAC;qBAClB;iBACD,CAAC;gBACF,4DAAc,CAAC,OAAO,EAAE;gBACxB,gEAAW,CAAC,OAAO,EAAE;aACrB;YACD,YAAY,EAAE;gBACb,2DAAO;aACP;YACD,SAAS,EAAE;gBACV;oBACC,OAAO,EAAE,6DAAe;oBACxB,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,CAAC,8EAAe,CAAC;oBACvB,KAAK,EAAE,IAAI;iBACX;gBACD;oBACC,OAAO,EAAE,gFAAqB;oBAC9B,QAAQ,EAAE,cAAc;iBACxB;gBACD;oBACC,OAAO,EAAE,sEAAiB;oBAC1B,QAAQ,EAAE,0GAAuB;oBACjC,KAAK,EAAE,IAAI;iBACX;gBACD;oBACC,OAAO,EAAE,sEAAiB;oBAC1B,QAAQ,EAAE,gGAAkB;oBAC5B,KAAK,EAAE,IAAI;iBACX;gBACD,8EAAe;gBACf,gEAAa;gBACb,iEAAW;aACX;YACD,SAAS,EAAE,CAAC,2DAAO,CAAC;SACpB,CAAC;OACW,SAAS,CAAG;IAAD,gBAAC;CAAA;AAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFqB;AAMF;AAC+B;AAGxE;IACC,qBACS,MAAc,EACd,cAA+B;QAD/B,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAiB;IACrC,CAAC;IAEJ,iCAAW,GAAX,UAAY,KAA6B,EAAE,KAA0B;QACpE,4CAA4C;QAC5C,IAAM,mCAAmC,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;QAErF,IAAI,mCAAmC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;SACnD;QAED,OAAO,CAAC,mCAAmC,CAAC;IAC7C,CAAC;IAfW,WAAW;QADvB,gEAAU,EAAE;yCAGK,sDAAM;YACE,mFAAe;OAH5B,WAAW,CAgBvB;IAAD,kBAAC;CAAA;AAhBuB;;;;;;;;;;;;;ACTxB;AAAA;AAAA;AAAA;AAAA;AAAuD;AACV;AAEtC,IAAM,MAAM,GAAW;IAC7B;QACC,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,4BAA4B;KAC1C;IACD;QACC,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,iDAAiD;QAC/D,WAAW,EAAE,CAAC,yDAAW,CAAC;KAC1B;IAED,uCAAuC;IACvC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;CAClC,CAAC;AAGK,IAAM,OAAO,GAAwB,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBC;AACd;AAG5D;IACC,yBAAoB,QAAkB,EAA+B,UAAkB;QAAnE,aAAQ,GAAR,QAAQ,CAAU;QAA+B,eAAU,GAAV,UAAU,CAAQ;IAAI,CAAC;IAE5F,oCAAU,GAAV;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uEAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;IAC9D,CAAC;IAGM,4CAAkB,GAAzB,UAA0B,IAAY;QACrC,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,mBAAmB,CAAC,EAC5D,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,OAAO,SAAS,CAAC;SACjB;QAED,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAnBW,eAAe;QAD3B,gEAAU,EAAE;QAE6B,uEAAM,CAAC,yDAAW,CAAC;yCAA9B,sDAAQ,EAA2C,MAAM;OAD3E,eAAe,CAoB3B;IAAD,sBAAC;CAAA;AApB2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJiG;AAElF;AACiB;AACvB;AAIrC;IACI,4BAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAI,CAAC;IAE/C,sCAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;QAAlD,iBAgBC;QAdG,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE;YAEhC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;gBACxB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;aACrE,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,aAAG;YACxC,IAAI,GAAG,YAAY,iEAAY,EAAE;gBAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;oBAC/B,KAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC/D;aACJ;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAnBQ,kBAAkB;QAD9B,gEAAU,EAAE;yCAEuB,oEAAU;OADjC,kBAAkB,CAoB9B;IAAD,yBAAC;CAAA;AApB8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPiB;AACJ;AACH;AACiD;AAC9B;AACY;AAExE,IAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,IAAM,kBAAkB,GAAG,GAAG,CAAC;AAG/B;IACI,iCAAoB,iBAAoC,EACpC,cAA8B,EAC9B,UAAsB;QAFtB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAY;IAAI,CAAC;IAEvC,iDAAe,GAAvB,UAAwB,GAAsB,EAAE,OAAyB;QACrE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAClE,IAAI,GAAG,CAAC,MAAM,KAAK,sBAAsB,IAAI,GAAG,CAAC,MAAM,KAAK,kBAAkB,EAAE;gBAC5E,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC;gBAC7C,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC7C,OAAO,+CAAE,CAAC,SAAS,CAAC,CAAC;aACxB;SACJ;QACD,OAAO,uDAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,2CAAS,GAAT,UAAU,OAAyB,EAAE,IAAiB;QAAtD,iBAEC;QADG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iEAAU,CAAC,WAAC,IAAI,YAAI,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,EAAhC,CAAgC,CAAC,CAAC,CAAC;IACxF,CAAC;IAlBQ,uBAAuB;QADnC,gEAAU,EAAE;yCAE8B,oGAAiB;YACpB,gFAAc;YAClB,oEAAU;OAHjC,uBAAuB,CAmBnC;IAAD,8BAAC;CAAA;AAnBmC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZiB;AACZ;AACqD;AAK9F;IAEC,2BAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IACtC,CAAC;IAED,2CAAe,GAAf,UAAgB,KAAa;QAAb,qCAAa;QAC5B,IAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mGAAoB,CAAC,CAAC;QACrE,IAAM,aAAa,GAAI,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QAC/D,IAAI,aAAa,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YAChD,IAAI,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAC/D;iBAAM;gBACN,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC;aAC/C;SACD;aAAM;YACN,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC9B;IACF,CAAC;IAED,gDAAoB,GAApB;QACC,IAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mGAAoB,CAAC,CAAC;QACrE,IAAM,aAAa,GAAI,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QAC/D,IAAI,aAAa,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YAChD,IAAI,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAC/D;iBAAM;gBACN,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC;gBAC/C,OAAO,KAAK,CAAC;aACb;SACD;aAAM;YACN,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED,iDAAqB,GAArB;QACC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAEO,oCAAQ,GAAhB,UAAiB,KAAa,EAAE,KAAa;QAAb,qCAAa;QAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sDAAM,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE;YACV,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAe,KAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,SAAE,EAAE,CAAC,CAAC;SACtE;aAAM;YACN,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAe,KAAO,CAAC,CAAC,CAAC;SAC1C;IACF,CAAC;IA7CW,iBAAiB;QAH7B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAG6B,sDAAQ;OAF1B,iBAAiB,CA8C7B;IAAD,wBAAC;CAAA;AA9C6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPa;AACoB;AAEvB;AAEU;AACmD;AAKrG;IACC,8BACS,sBAA8C,EAC9C,UAAsB,EACtB,IAAgB;QAFhB,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,eAAU,GAAV,UAAU,CAAY;QACtB,SAAI,GAAJ,IAAI,CAAY;IACrB,CAAC;IAEL,4CAAa,GAAb;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,eAAe,CAAC,EACvF;YACC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpD,eAAe,EAAE,IAAI;SACrB,CACD,CAAC;IACH,CAAC;IAED,wDAAyB,GAAzB,UAA0B,aAAqB,EAAE,QAAgB;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,2BAA2B,CACpE,EACD;YACC,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI;SACzG,CACD,CAAC;IACH,CAAC;IAED,gDAAiB,GAAjB,UAAkB,aAAqB;QACtC,IAAM,MAAM,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,wCAAS,GAAT,UAAU,MAAc;QACvB,IAAM,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACxI,CAAC;IAED,wCAAS,GAAT,UAAU,MAAc;QACvB,OAAoC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChD,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,WAAW,CACpD,EACD;YACC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC1B,eAAe,EAAE,IAAI;SAErB,CACD,CAAC;IACH,CAAC;IAGD,+CAAgB,GAAhB,UAAiB,WAAW;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,CAC3D,EACD,WAAW,EACX,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,kDAAmB,GAAnB,UAAoB,WAAmB,EAAE,IAAiB,EAAE,MAAe,EAAE,OAAgB,EAAE,cAAuB;QAA7E,gCAAiB;QACzD,IAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE;YACZ,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,OAAO,CAChD,EACD;YACC,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,IAAI,KAAK,kEAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC;YAC1L,eAAe,EAAE,IAAI;SACrB,CACD,CAAC;IACH,CAAC;IAID;;;OAGG;IACH,qCAAM,GAAN;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,QAAQ,CACjD,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;IAED,yCAAU,GAAV,UAAW,MAAc;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CACvD,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,YAAY,CACrD,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,kDAAmB,GAAnB;QAEC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,OAAO,CAChD,EAAE;YACF,MAAM,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;YACrD,eAAe,EAAE,IAAI;SACrB,CACD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,qDAAsB,GAAtB,UAAuB,KAAa;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,eAAe,CACxD,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC5B,CAAC;IACH,CAAC;IAED,0CAAW,GAAX,UAAY,KAAa;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,aAAa,EACtD,EAAE,WAAW,EAAE,KAAK,EAAE,EACtB,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,qDAAsB,GAAtB,UAAuB,IAAiB;QACvC,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CACjC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,EAC7C;YACC,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB,CACD,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,UAAU,CAAC,aAAa,CAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,YAAY,CACrD,EACD,YAAY,CACZ,CAAC;IACH,CAAC;IAED,6CAAc,GAAd;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,mBAAgB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5H,CAAC;IAED,kDAAmB,GAAnB,UAAoB,MAAc;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,mCAA8B,MAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,2CAAY,GAAZ,UAAa,eAA4B;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAc,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,cAAc,EACzF,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,0CAAW,GAAX,UAAY,MAAM;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,GAAG,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,4CAAa,GAAb;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAClH,CAAC;IACH,CAAC;IAED,8CAAe,GAAf,UAAgB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAc;QAChD,IAAM,MAAM,GAAG;YACd,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;YACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;YACrB,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,aAAa,EAAE,aAAa;SAC5B,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,2CAAY,GAAZ,UAAa,mBAA0C;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,cAAc,EAAE,mBAAmB,EAChH,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,+CAAgB,GAAhB,UAAiB,uBAA8C;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,uBAAuB,EACxH,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,iDAAkB,GAAlB,UAAmB,kBAAwC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,kBAAkB,EACpI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,kDAAmB,GAAnB,UAAoB,kBAAkB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,kBAAkB,EACpI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,gDAAiB,GAAjB,UAAkB,QAAgB,EAAE,KAAa,EAAE,IAAY;QAC9D,IAAM,MAAM,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACrI,CAAC;IAED,6CAAc,GAAd,UAAe,eAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,cAAc,EAAE,eAAe,EAC7F,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,mDAAoB,GAApB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAI,sBAAsB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,4CAAa,GAAb,UAAc,UAAkB,EAAE,MAAc;QAC9C,OAAuC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,eAAe,CAAC,EACvF;YACC,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAG;SACpE,CACD,CAAC;IACJ,CAAC;IAED,6CAAc,GAAd,UAAe,KAAa,EAAG,MAAc,EAAG,YAAwB;QAAxB,+CAAwB;QACvE,OAAgC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,eAAe,CAAC,EACvF;YACC,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAG;SAC1F,CACD,CAAC;IACH,CAAC;IAED,8CAAe,GAAf,UAAgB,MAAM,EAAE,MAAM;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,+BAA0B,MAAM,gBAAW,MAAQ,EAChH,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,yCAAU,GAAV,UAAW,SAAS;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,YAAY,EAAE,EAAE,MAAM,EAAE,EAAC,SAAS,aAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9H,CAAC;IAED,4CAAa,GAAb,UAAc,EAAU,EAAE,KAAa,EAAE,IAAY;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,EAAE,CAAC,EACzF,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACnD,CAAC;IACH,CAAC;IAED,mDAAoB,GAApB,UAAqB,MAAM;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAC,MAAM,UAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED,8DAA+B,GAA/B,UAAgC,SAAiB,EAAE,MAAc;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,2BAAwB,EAAE;YAC3G,MAAM,EAAE,EAAC,SAAS,aAAE,MAAM,UAAE;YAC3B,eAAe,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,yCAAU,GAAV,UAAW,MAA2B;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,cAAW,EAAE;YACpG,MAAM,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;aACvB;YACD,eAAe,EAAE,IAAI;SACrB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,+CAAgB,GAAhB,UAAiB,SAAsB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,cAAW,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACzH,CAAC;IAEO,kDAAmB,GAA3B,UAA4B,WAAmB;QAC9C,OAAO;YACN,cAAc,EAAE,mCAAmC;YACnD,eAAe,EAAE,UAAU;YAC3B,kBAAkB,EAAE,gBAAgB;YACpC,6BAA6B,EAAE,GAAG;YAClC,aAAa,EAAE,QAAQ,GAAG,WAAW;YACrC,UAAU,EAAE,GAAG;SACf,CAAC;IACH,CAAC;IAEO,6CAAc,GAAtB;QACC,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE;YAC3C,OAAO,sDAAa,CAAC,SAAS,CAAC;SAC/B;aAAM;YACN,OAAO,sDAAa,CAAC,aAAa,CAAC;SACnC;IACF,CAAC;IAEO,iEAAkC,GAA1C,UAA2C,OAAwB,EAAE,UAA2B,EAAE,MAAe,EAAE,cAAuB;QAA/F,yCAAwB;QAAE,+CAA2B;QAC/F,kBACC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,EAC9C,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EACxC,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM,IACjB,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC,IAAI,EAAC,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAC,CAAC,EACzF;IACH,CAAC;IAED,6CAAc,GAAd,UAAe,OAAgB,EAAE,UAAmB;QACnD,OAAO,OAAO,CAAC,CAAC,CAAC,kEAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kEAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,kEAAyB,CAAC,mBAAmB,CAAE,CAAC;IAC5J,CAAC;IAlVW,oBAAoB;QAHhC,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAGgC,0GAAsB;YAClC,oEAAU;YAChB,+DAAU;OAJb,oBAAoB,CAmVhC;IAAD,2BAAC;CAAA;AAnVgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXU;AAEH;AACW;AACI;AACyB;AACY;AAC7B;AACS;AAC/B;AACqD;AACzB;AAMrE;IAUC,qBACS,YAA0B,EAC1B,aAA4B,EAC5B,oBAA0C,EAC1C,oBAA0C,EAC1C,mBAAwC,EACxC,MAAc,EACd,MAAqB;QANrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAe;QAhBtB,yBAAoB,GAAW,CAAC,CAAC;QACjC,cAAS,GAAiC,IAAI,oDAAe,CAAc,SAAS,CAAC,CAAC;QACtF,mBAAc,GAAY,KAAK,CAAC;QAChC,4BAAuB,GAAG,EAAE,CAAC;QAcpC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IAbD,sBAAI,iCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;;;OAAA;IAaO,wCAAkB,GAA1B;QACC,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACrC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,IAAI,CAAC;SAC/C,CAAC;IACH,CAAC;IAGO,6CAAuB,GAA/B;QACC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAC5C,2DAAkB,CAAC,YAAY,CAC/B,CAAC;IACH,CAAC;IAEM,0CAAoB,GAA3B,UAA4B,IAAuB;QAClD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CACrC,2DAAkB,CAAC,YAAY,EAC/B,IAAI,CACJ,CAAC;IACH,CAAC;IAEM,qCAAe,GAAtB,UAAuB,IAAuB;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACrF,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;SAC5G;IACF,CAAC;IAED,sCAAgB,GAAhB,UAAiB,MAAM,EAAE,GAAG;QAC3B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,MAAM,UAAE,GAAG,OAAC,CAAC,CAAC;IAClD,CAAC;IACD,8CAAwB,GAAxB,UAAyB,MAAM,EAAE,GAAG;QACnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAA1C,CAA0C,CAAC,CAAC;IAC1H,CAAC;IACD,gDAA0B,GAA1B,UAA2B,MAAM,EAAE,GAAG;QACrC,IAAI,cAAc,CAAC;QACnB,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAC,IAAI;YACvD,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,cAAc,CAAC;IACzB,CAAC;IAED,2BAAK,GAAL,UAAM,KAAa,EAAE,QAAgB,EAAE,cAAuB;QAA9D,iBAWC;QAVA,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CACjG,0DAAG,CAAC,UAAC,QAAqB;YACzB,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,EACF,iEAAU,CAAC,eAAK;YACf,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAY,EAAE,MAAc,EAAE,OAAe;QAA/E,iBAUC;QATA,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACtF,0DAAG,CAAC,UAAC,QAAqB;YACzB,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,EACF,iEAAU,CAAC,eAAK;YACf,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAGD,uCAAiB,GAAjB,UAAkB,KAAa,EAAE,IAAY;QAA7C,iBAWC;QAVA,oDAAoD;QACpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CACrE,0DAAG,CAAC,UAAC,QAAqB;YACzB,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,EACF,iEAAU,CAAC,eAAK;YACf,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;QAC3D,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IACD,yCAAmB,GAAnB;QAAA,iBAaC;QAZC,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAC3D,0DAAG,CAAC,UAAC,QAAqB;YAC1B,IAAI,QAAQ,EAAE;gBACb,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM;gBACN,KAAI,CAAC,sBAAsB,EAAE,CAAC;aAC9B;QACF,CAAC,CAAC,EACF,iEAAU,CAAC,aAAG;YACb,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,uDAAU,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAU,GAAV,UAAW,IAAiB;QAA5B,iBASC;QARA,OAAO,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CACjE,0DAAG,CAAC,UAAC,QAAqB;YACzB,IAAI,QAAQ,EAAE;gBACb,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;QACF,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAED,mCAAa,GAAb;QAAA,iBAcC;QAbA,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,IAAI,CACpD,0DAAG,CAAC,UAAC,QAAqB;YACzB,IAAI,QAAQ,EAAE;gBACb,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM;gBACN,KAAI,CAAC,sBAAsB,EAAE,CAAC;aAC9B;QACF,CAAC,CAAC,EACF,iEAAU,CAAC,aAAG;YACb,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,uDAAU,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAEO,2CAAqB,GAA7B,UAA8B,QAAqB;QAClD,IAAI,QAAQ,EAAE;YACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAM,MAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtC,IAAI,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjE,IAAI,MAAI,CAAC,UAAU,EAAE;gBACpB,IAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,MAAM,KAAK,MAAI,CAAC,UAAU,EAA/B,CAA+B,CAAC,CAAC;gBAClF,IAAI,YAAY,EAAE;oBACjB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,MAAM,KAAK,MAAI,CAAC,UAAU,EAA/B,CAA+B,CAAC,CAAC;oBAC7E,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC,UAAU,CAAC;iBACxE;qBAAM;oBACN,MAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnE;aACD;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAM,WAAW,GAAsB,EAAE,IAAI,EAAK,QAAQ,CAAC,SAAS,SAAI,QAAQ,CAAC,QAAU,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YAC1H,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;SACvC;IACF,CAAC;IAEO,4CAAsB,GAA9B;QACC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAElC,6EAA6E;QAC7E,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,2DAAkB,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,2DAAkB,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,2DAAkB,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,2DAAkB,CAAC,qBAAqB,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,2DAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,gCAAU,GAAV;QACC,wCAAwC;QACxC,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IAGD,4BAAM,GAAN,UAAO,QAAe;QAAtB,iBAqBC;QArBM,0CAAe;QACrB,OAAO,IAAI,+CAAU,CAAC,UAAC,CAAC;YACvB,OAAO,KAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,IAAI,CAC7C,0DAAG,CAAE,WAAC;gBACL,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;iBACH,SAAS,CAAC;gBACV,IAAM,WAAW,GAAG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACjG,IAAI,WAAW,EAAE;oBAChB,IAAI,QAAQ,EAAE;wBACb,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;qBACnC;oBACD,CAAC,CAAC,IAAI,EAAE,CAAC;oBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACb,OAAO;iBACP;gBACD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,uCAAiB,GAAjB;QACC,IAAI,IAAuB,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4CAAsB,GAAtB,UAAuB,SAAiB;QAAxC,iBAOC;QANA,OAAO,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,IAAI,CACtE,iEAAU,CAAC,aAAG;YACb,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAsB,GAAK,EAAE,GAAG,CAAC,CAAC;YACpD,OAAO,uDAAU,CAAC,wBAAsB,GAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAED,wCAAkB,GAAlB;QACC,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE;YAChB,OAAO,SAAS,CAAC;SACjB;QAED,OAAO,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAGD,wCAAkB,GAAlB,UAAmB,MAAc;QAAjC,iBAUE;QATD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACnG,IAAI,CAAC,QAAQ;aACZ,IAAI,CAAC,2DAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CACT,UAAC,IAAiB;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,MAAM,KAAK,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC5D,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CACD,CAAC;IACF,CAAC;IAEF,gCAAU,GAAV,UAAW,MAAc;QACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,+BAAS,GAAT,UAAU,MAAc;QACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,iCAAW,GAAX,UAAY,QAAqB;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7C;IACF,CAAC;IA1QW,WAAW;QAHvB,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAYsB,2EAAY;YACX,gEAAa;YACN,2FAAoB;YACpB,mGAAoB;YACrB,iGAAmB;YAChC,sDAAM;YACN,6EAAa;OAjBlB,WAAW,CA2QvB;IAAD,kBAAC;CAAA;AA3QuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBmB;AACQ;AACd;AACiB;AAMtD;IAOE,gCAAsC,QAAa,EAAU,YAA0B;QAAjD,aAAQ,GAAR,QAAQ,CAAK;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAFvF,sBAAiB,GAAY,KAAK,CAAC;QAGjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACvC,CAAC;IAEO,mCAAE,GAAV,UAAW,UAAkB;QAC3B,OAAO,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,qDAAoB,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEO,+CAAc,GAAtB,UAAuB,CAAS,EAAE,CAAS;QACzC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,EAAE;YACZ,GAAG,IAAI,MAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAG,CAAC;YACnC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3B;QAED,GAAG,IAAI,MAAI,CAAC,GAAG,CAAG,CAAC;QAEnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0CAAS,GAAT;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,OAAO,iDAAQ,CAAC,SAAS,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YAC1B,OAAO,iDAAQ,CAAC,SAAS,CAAC;SAC3B;QACD,OAAO,iDAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC;IAEM,0CAAS,GAAhB;QACE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjD,IAAI;gBACF,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE,GAAG;SAChB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACM,yCAAQ,GAAf;QACE,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC,UAAU,CAAC,IAAI,IAAI,qVAAqV,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,ykDAAykD,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9gE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjD,IAAI;gBACF,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE,GAAG;SAChB;QACD,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;IAEM,yCAAQ,GAAf;QACE,oCAAoC;QACpC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC,UAAU,CAAC,IAAI,IAAI,0TAA0T,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,ykDAAykD,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAAE,KAAK,GAAG,IAAI,CAAC;SAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;QACx/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qDAAoB,GAApB,UAAqB,YAAoB;QAApB,mDAAoB;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,OAAO;SACR;QAED,IAAM,MAAM,GAAG,EAAE,EACf,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACxE,UAAU,GAAG,OAAO,CAAC,MAAM,EAC3B,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EACjC,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,QAAQ,EACZ,CAAC,GAAG,QAAQ,EACZ,CAAC,GAAG,SAAS,EACb,CAAC,GAAG,QAAQ,EACZ,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,QAAQ,EACZ,CAAC,GAAG,QAAQ,EACZ,CAAC,GAAG,SAAS,EACb,EAAE,GAAG,YAAY,EACjB,IAAI,GAAG,OAAO,EACd,EAAE,GAAG,SAAS,EAEd,UAAU,GAAG;YACX,UAAU;YACV,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;mBACjD,CAAC,sCAAsC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;oBACjC,CAAC,mCAAmC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjH,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpB,CAAC,mCAAmC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;gCAC3G,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAC3G,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gCAElC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;oCACvB,CAAC,EAAE;wCACD,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;4CACnC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;4CAC3E,CAAC,CAAC,CAAC,yCAAyC,CAAC,IAAI,CAAC,EAAE,CAAC;gDACnD,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gDAC5E,CAAC,CAAC,EAAE,CAAC,CACR,CACF,CAAC,aAAa;oCAEf,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;wCACpB,CAAC,CAAC;4CACA,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;gDACnC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;gDACzE,CAAC,CAAC,EAAE,CAAC;8CACL,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;gDACrC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;gDAChE,CAAC,CAAC,EAAE,CAAC,CACR,CAAC,UAAU;wCAEZ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;4CAC/B,CAAC,kCAAkC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE;gDAChE,CAAC,CAAM,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4CAE3E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;gDAE7B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;oDACzB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;wDACV,CAAC,mCAAmC,CAAC,IAAI,CAAC,EAAE,CAAC;4DAC3C,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;4DACzE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gEAC3B,CAAC;oEACD,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;wEAC3G,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;4EACrC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;gFACrC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;oFACpC,CAAC,CAAC,EAAE,CAAC;gEACb,CAAC,CAAC,EAAE,CAAC,CACR,CACF,CAAC,cAAc;oDAEhB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAElD,SAAS;;YACP,IAAI,CAAC,EAAE,CAAC,2EAA2E,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAEvH,cAAc;;YACZ,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;gBACxB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC7B,CACE,CACE,8CAA8C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACvD,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CACrD,GAAG,GAAG,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3D,CAAC,SAAS;oBAEX,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;wBAChC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ;4BACjC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gCAChC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;oCACtB,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC9G,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;wCACtB,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ;4CACpC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO;gDACnC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO;oDACnC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ;wDACpC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;4DAClE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;gEACrC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;oEAC5D,CAAC,CAAC,EAAE,CACjB;wCACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;4CAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;gDAChC,CAAC,CAAC,EAAE;YAEtB,sBAAsB;;YACpB,CAAC,2CAA2C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAElH,iCAAiC;;YAC/B,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC9B,CAAC;QAEJ,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;YACnC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5B;QAGD,IAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAO,MAAO,CAAC,QAAQ,CAAC;QAEpF,6BAA6B;QAC7B,IAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAE3C,4CAA4C;QAC5C,IAAM,MAAM,GAAG;YACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK;SACrC,CAAC;QAEF,qBAAqB;QACrB,IAAI,GAAG,EAAE;YACP,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;gBACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC5B;iBAAM;gBACL,IAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;gBAC/C,IAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;gBAE/C,IAAI,OAAO,EAAE;oBACX,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC5B;gBACD,IAAI,OAAO,EAAE;oBACX,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC5B;aACF;SACF;QAED,IAAI,YAAY,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAvOU,sBAAsB;QAHlC,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;QAQa,uEAAM,CAAC,wDAAQ,CAAC;iDAA8C,iEAAY;OAP5E,sBAAsB,CAwOlC;IAAD,6BAAC;CAAA;AAxOkC;;;;;;;;;;;;;;;;;;;;;;;;;ACTmB;AAQtD;IASE;QAPA,kBAAa,GAAG;YACd,OAAO,EAAG,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;SACf,CAAC;IAIF,CAAC;IAED,qCAAe,GAAf,UAAgB,aAA8B;QAC7C,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,EAAE;YACpE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC7C;aAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACrD,IAAI,CAAC,eAAe,EAAE,CAAC;SACvB;aAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,IAAI,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACzF,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;SAC7D;aAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,IAAI,aAAa,CAAC,aAAa,EAAE;YAC5E,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;SAC1D;IACJ,CAAC;IAEO,sCAAgB,GAAxB,UAAyB,GAAW;QACnC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAE3B,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpC,CAAC;IAEA,qCAAe,GAAf;QACE,aAAa;QACd,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAC,CAAC,IAAG,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,EAAE,EAAC,CAAC,GAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAM,CAAC,MAAM,GAAC,cAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAC,EAAC,MAAM,CAAC,EAAE,GAAC,MAAM,CAAC,EAAE,IAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC,GAAG,GAAC,kBAAkB,EAAC,CAAC,CAAC,KAAK,GAAC,EAAE,EAAC,CAAC,CAAC,IAAI,GAAC,cAAc,EAAC,CAAC,CAAC,CAAC,YAAY,IAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAC,eAAe,EAAC,CAAC,GAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,GAAC,CAAC,CAAC,aAAa,EAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,CAAC,KAAG;YAAC,CAAC,GAAC,CAAC;SAAC;QAAA,OAAM,CAAC,EAAC;YAAC,CAAC,GAAC,QAAQ,CAAC,MAAM,EAAC,CAAC,CAAC,GAAG,GAAC,6CAA6C,GAAC,CAAC,GAAC,YAAY,EAAC,CAAC,GAAC,CAAC;SAAC,EAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAC,cAAW,IAAI,CAAC,GAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAC,IAAE,CAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,GAAC,iBAAiB,EAAC,CAAC,CAAC,GAAG,GAAC,yDAAyD,EAAC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,IAAI,EAAC,IAAI,CAAC,WAAW,GAAC,oBAAoB,EAAC,IAAI,CAAC,OAAO,GAAC,CAAC,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAC,EAAC,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAC,CAAC,CAAC,KAAK,EAAE,GAAC,EAAE,CAAC;QAE7yB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,kCAAY,GAAZ,UAAc,WAAmB;QAC/B,IAAM,SAAS,GAAQ,MAAM,CAAC;QAC7B,aAAa;QACb,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnC,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAErC,CAAC;YACF,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAAC,EAAE,CAAC,IAAI,GAAG,iBAAiB,CAAC;YAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,iCAAiC,CAAC;YAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC,CAChS,EAAE,CAAC;QAGD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,4CAAsB,GAAtB,UAAuB,OAAO;QAC5B,IAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,EAAE,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC5B,EAAE,CAAC,EAAE,GAAC,YAAY,CAAC;QACrB,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,mCAAa,GAAb,UAAc,SAAoB;QAChC,IAAI,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC3B,CAAC,CAAC,IAAI,GAAG,0wBAYwE,CAAC;QAClF,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,8BAAQ,GAAR;QACE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAClC,IAAM,SAAS,GAAQ,MAAM,CAAC;YAC3B,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE;gBAC3C,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;aACrC;SACF;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAClC;IACD,CAAC;IAxFU,WAAW;QAHvB,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;;OACW,WAAW,CAyFvB;IAAD,kBAAC;CAAA;AAzFuB;;;;;;;;;;;;;;;;;;;;;;;;;ACRmB;AAO3C;IAGE;IAAgB,CAAC;IAEjB,+CAAgB,GAAhB;QACA,OAAO,IAAI,CAAC,aAAa,CAAC;IAC1B,CAAC;IAED,+CAAgB,GAAhB,UAAiB,OAAwB;QACxC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC9B,CAAC;IAXU,oBAAoB;QAHhC,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;;OACW,oBAAoB,CAahC;IAAD,2BAAC;CAAA;AAbgC;;;;;;;;;;;;;;;;;;;;;;;;;ACPU;AAM3C;IAGE;IAAgB,CAAC;IAEjB,4CAAkB,GAAlB;QACA,OAAO,IAAI,CAAC,eAAe,CAAC;IAC5B,CAAC;IAED,4CAAkB,GAAlB,UAAmB,OAAwB;QAC1C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IAChC,CAAC;IAXU,eAAe;QAH3B,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;;OACW,eAAe,CAa3B;IAAD,sBAAC;CAAA;AAb2B;;;;;;;;;;;;;;;;;;;;;;;;;;ACN+C;AAChC;AAM3C;IAGE,yBAAoB,YAAiC;QAAjC,iBAAY,GAAZ,YAAY,CAAqB;IAAI,CAAC;IAE1D,sCAAY,GAAZ,UAAa,QAAgB,EAAE,QAAiC,EAAE,eAAkC,EAAE,eAA8B;QAA9B,wDAA8B;QAClI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;IAEO,sCAAY,GAApB,UAAqB,QAAgB,EAAE,eAAkC,EAAE,eAA8B;QAA9B,wDAA8B;QAEvG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YAC5C,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;YACnD,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YACvD,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YAC3D,cAAc,EAAG,eAAe,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YAC9F,UAAU,EAAE;gBACV,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;gBACzE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;aACtE;YACD,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,oCAAU,GAAjB,UAAkB,UAAkB,EAAE,YAAqB;QACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU;aACd,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,KAAK,YAAY,CAAC,EAAnF,CAAmF,CAAC,CAAC;IAClH,CAAC;IAEM,6CAAmB,GAA1B,UAA2B,UAAkB,EAAE,YAAqB,EAAE,YAAqB,EAAE,YAAqB;QAChH,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,YAAY,CAAC;SACrB;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SACrF;QAED,IAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,YAAY,EAAvB,CAAuB,CAAC,CAAC;QACxE,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC,KAAK,CAAC;SACxB;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,4CAAkB,GAAzB;QACA,IAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3D,OAAO,YAAY,IAAI,YAAY,CAAC,aAAa,KAAK,UAAU,IAAI,kBAAkB;YAC1C,kBAAkB,CAAC,aAAa,KAAK,SAAS,CAAC;IAC3F,CAAC;IA1DU,eAAe;QAH3B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAIkC,sFAAmB;OAH1C,eAAe,CA2D3B;IAAD,sBAAC;CAAA;AA3D2B;;;;;;;;;;;;;;;;;;;;;;;;;ACPe;AAO3C;IACE,6IAA6I;IAE7I;IAAgB,CAAC;IAEjB,mDAAqB,GAArB;QACE,OAAO,OAAO,YAAY,KAAK,WAAW,CAAC;IAC7C,CAAC;IAED,qCAAO,GAAP,UAAQ,GAAW,EAAE,KAAa;QAChC,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAChC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAClC;IACH,CAAC;IAED,wCAAU,GAAV,UAAW,GAAW;QACpB,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAChC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,uCAAS,GAAT;QACA,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YACjC,YAAY,CAAC,KAAK,EAAE,CAAC;SACrB;IACF,CAAC;IAEA,qCAAO,GAAP,UAAQ,GAAW;QACjB,IAAI,GAAG,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,IAAI,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YACrC,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;IAED,2CAAa,GAAb,UAAiB,GAAW;QAC1B,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;IAED,2CAAa,GAAb,UAAiB,GAAW,EAAE,GAAM;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IA7CU,mBAAmB;QAH/B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;;OACW,mBAAmB,CA+C/B;IAAD,0BAAC;CAAA;AA/C+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPW;AACU;AAClB;AAEgB;AACA;AAKnD;IAMI,6BAAoB,SAA2B,EAC3B,aAA4B;QAD5B,cAAS,GAAT,SAAS,CAAkB;QAC3B,kBAAa,GAAb,aAAa,CAAe;QAHxC,6BAAwB,GAA4B,IAAI,oDAAe,CAAS,SAAS,CAAC,CAAC;QAI/F,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED,+CAAiB,GAAjB,UAAkB,QAAgB,EAAE,QAAgC;QAChE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACnC;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,yCAAW,GAAX,UAAY,IAAoC;QAAhD,iBAkBC;QAlBW,8BAAe,IAAI,CAAC,gBAAgB;QAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB;SACtE;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW;QACnE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAI,IAAI,SAAI,IAAI,CAAC,QAAU,CAAC;aAC7C,SAAS,CAAC,cAAO,CAAC,EACf,UAAC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,cAAY,IAAI,CAAC,WAAW,EAAE,iEAA8D,CAAC,CAAC;YAC5G,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1D,KAAI,CAAC,SAAS,CAAC,GAAG,CAAI,KAAI,CAAC,gBAAgB,SAAI,KAAI,CAAC,QAAU,CAAC,CAAC;YAChE,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAChD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,KAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,sBAAI,oDAAmB;aAAvB;YACF,OAAO,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC;QAClD,CAAC;;;OAAA;IAED,gDAAkB,GAAlB;QACI,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,yDAA2B,GAA3B,UAA4B,QAAgC;QAExD,IAAI,CAAC,OAAO,GAAG;YACX,IAAI,EAAE,QAAQ,CAAC,UAAU,IAAI,YAAY;YACzC,MAAM,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ;YACzC,QAAQ,EAAE,QAAQ,CAAC,cAAc,IAAI,SAAS;YAC9C,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,GAAG;SACjD,CAAC;QAEF,gDAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAO;YAC/C,UAAU,EAAE;gBACR,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG;gBAC/C,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,GAAG;aAC9C;YACD,aAAa,EAAE;gBACX,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,GAAG;aAChB;YACD,OAAO,EAAE,UAAU,MAAM;gBACrB,IAAI,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC;gBACpB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACzC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACd,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,QAAQ,EAAE;gBACN,MAAM,EAAE,QAAQ,CAAC,cAAc,IAAI,GAAG;aACzC;SACJ,CAAC,CAAC;QACH,8CAAc,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAvFQ,mBAAmB;QAH/B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAOiC,oEAAgB;YACZ,gEAAa;OAPvC,mBAAmB,CAyF/B;IAAD,0BAAC;CAAA;AAzF+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACVW;AAGqB;AAKhE;IAEI;IAAgB,CAAC;IAEjB,6BAAK,GAAL,UAAM,OAAe;QACjB,IAAI,CAAC,qEAAW,CAAC,UAAU,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9B;IACL,CAAC;IAED,4BAAI,GAAJ,UAAK,OAAe,EAAE,KAAsB;QAAtB,qCAAsB;QACxC,IAAI,KAAK,IAAI,CAAC,qEAAW,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,+BAAO,GAAP,UAAQ,OAAe;QACnB,IAAI,CAAC,qEAAW,CAAC,UAAU,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAChC;IACL,CAAC;IAED,6BAAK,GAAL,UAAM,OAAe,EAAE,KAAW;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAEO,2BAAG,GAAX,UAAY,IAAY,EAAE,OAAe,EAAE,KAAW;QAClD,IAAI;YACA,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,KAAK,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACtB;SACJ;QACD,OAAM,GAAG,EAAE;SACV;IAEL,CAAC;IApCQ,aAAa;QAHzB,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;;OACW,aAAa,CAqCzB;IAAD,oBAAC;CAAA;AArCyB;;;;;;;;;;;;;;;;;;;;;;;;;;ACRiB;AACO;AAKlD;IAEE,yBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAEzC,qCAAW,GAAX,UAAY,MAAM;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,GAAG,gBAAgB,CAAC,CAAC;IACvE,CAAC;IANU,eAAe;QAH3B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAG0B,+DAAU;OAFzB,eAAe,CAO3B;IAAD,sBAAC;CAAA;AAP2B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNe;AACM;AAKjD;IAQE,qBAAoB,WAAiB;QAAjB,gBAAW,GAAX,WAAW,CAAM;QAN7B,YAAO,GAAW,QAAQ,CAAC;QAC3B,cAAS,GAAW,UAAU,CAAC;QAC/B,oBAAe,GAAW,gBAAgB,CAAC;QAC3C,cAAS,GAAW,UAAU,CAAC;QAC/B,oBAAe,GAAW,qBAAqB,CAAC;IAEf,CAAC;IAEnC,qCAAe,GAAtB,UAAuB,GAAW,EAAE,KAAa,EAAE,WAAmB,EAAE,KAAa;QACnF,IAAI,QAAQ,GAAG,uGAAuG,CAAC;QACvH,IAAI,IAAI,GAAG;YACT,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;YAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;YAClC,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;YAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC;SAC5C,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAEO,6BAAO,GAAf,UAAgB,IAAe;QAA/B,iBAIC;QAHC,IAAI,CAAC,OAAO,CAAC,iBAAO;YAClB,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IA1BU,WAAW;QAHvB,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCASiC,8DAAI;OAR1B,WAAW,CA2BvB;IAAD,kBAAC;CAAA;AA3BuB;AA6BxB;IAIE,iBAAY,IAAY,EAAE,KAAa;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACH,cAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CkD;AACa;AAG1B;AACM;AACsB;AAChB;AACC;AAKnD;IAkBC,oBAAoB,YAA0B,EACrC,aAA4B,EAC5B,IAAgB;QAFL,iBAAY,GAAZ,YAAY,CAAc;QACrC,kBAAa,GAAb,aAAa,CAAe;QAC5B,SAAI,GAAJ,IAAI,CAAY;QAnBzB,iIAAiI;QAEzH,eAAU,GAAG,uCAAuC,CAAC;QAK7D,8HAA8H;QACtH,6BAAwB,GAAG,EAAE,CAAC,CAAC,gEAAgE;QAC/F,kCAA6B,GAAG,EAAE,CAAC;QAMnC,eAAU,GAAW,EAAE,CAAC;QAK/B,IAAI,CAAC,iBAAiB,GAAG,qEAAW,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC3E,IAAI,CAAC,aAAa,GAAG,qEAAW,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAEnE,qDAAqD;QACrD,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;YACpC,IAAI,CAAC,iBAAiB,GAAG,qDAAqD,CAAC;YAC/E,IAAI,CAAC,aAAa,GAAG,iDAAiD,CAAC;YAEvE,wFAAwF;YACxF,gFAAgF;SAChF;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;YACpC,kLAAkL;YAClL,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,EAAE;gBACnD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAC9D,UAAU,CACV,CAAC;gBACF,iGAAiG;gBACjG,IAAI,CAAC,aAAa,CAAC,GAAG,CACrB,uBAAuB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,SAAS,EACT,GAAG,CACH,CAAC;aACF;iBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE;gBAC3D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAClD,uBAAuB,CACvB,CAAC;aACF;SACD;IACF,CAAC;IAED;;;OAGG;IACH,gDAA2B,GAA3B,UACC,SAAiB,EACjB,cAAsB,EACtB,UAAkB,EAClB,mBAA2B;QAG3B,IAAI,mBAAmB,EAAE;YACxB,OAAO,CAAC,mBAAmB,GAAG,UAAU;gBACvC,SAAS;gBACT,GAAG;gBACH,cAAc,CAAC,CAAC;SACjB;QACD,OAAO,CACN,IAAI,CAAC,UAAU;YACf,GAAG;YACH,kBAAkB,CAAC,UAAU,CAAC;YAC9B,UAAU;YACV,SAAS;YACT,GAAG;YACH,cAAc,CACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,kDAA6B,GAA7B,UACC,WAAmB,EACnB,cAAsB,EACtB,UAAkB;QAElB,OAAO,CACN,IAAI,CAAC,UAAU,GAAG,GAAG;YACrB,kBAAkB,CAAC,UAAU,CAAC;YAC9B,eAAe,GAAG,cAAc,GAAG,GAAG;YACtC,kBAAkB,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,CACN,CAAC;IACH,CAAC;IAEM,yCAAoB,GAA3B;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAEM,qCAAgB,GAAvB;QACC,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAEM,kCAAa,GAApB,UAAqB,QAAgB;QACpC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC/B,OAAU,QAAQ,kBAAa,IAAI,CAAC,qBAAuB,CAAC;SAC5D;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,8BAAS,GAAT,UACC,KAAa,EACb,QAAe,EACf,MAAe,EACf,WAAqB,EACrB,CAAM;QAHN,0CAAe;QACf,wCAAe;QACf,mDAAqB;QACrB,0BAAM;QAEN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,EACzD;YACC,MAAM,EAAE;gBACP,CAAC,EAAE,KAAK;gBACR,QAAQ,EAAE,QAAQ;gBAClB,CAAC,EAAE,MAAM;gBACT,SAAS,EAAE,WAAW;gBACtB,CAAC,EAAE,CAAC;aACJ;SACD,CACD,CAAC;IACH,CAAC;IAED,qCAAgB,GAAhB,UAAiB,UAAkB,EAAE,QAAe;QAAf,0CAAe;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,EAC3D;YACC,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC9C,CACD,CAAC;IACH,CAAC;IAED,uCAAkB,GAAlB,UAAmB,eAAuB;QAA1C,iBA8BC;QA7BA,uEAAuE;QACvE,IAAI,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE;YACnD,OAAO,+CAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC;SAC1D;QAED,IAAI,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,EAAE;YACxD,iFAAiF;YACjF,kDAAkD;YAClD,OAAO,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI;aAC7D,GAAG,CACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,EAC7D;YACC,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;SACrC,CACD;aACA,IAAI,CACJ,0DAAG,CAAC,aAAG;YACN,qFAAqF;YACrF,KAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YAE3D,KAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;YACrD,OAAO,KAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC,CAAC,CACF;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC,CAAC,CAAC,gEAAgE;QACjF,OAAO,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,yCAAoB,GAApB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,CACnE,CAAC;IACH,CAAC;IAED,qCAAgB,GAAhB,UAAiB,UAAkB,EAAE,WAAmB;QAAnB,iDAAmB;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,EAC/D;YACC,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE;SACzD,CACD,CAAC;IACH,CAAC;IAED,qCAAgB,GAAhB,UAAiB,IAAI;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,EAC3D,IAAI,CACJ,CAAC;IACH,CAAC;IAED,kCAAa,GAAb,UAAc,IAAI;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,EACxD,IAAI,EACJ,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC;IACH,CAAC;IAED,4BAAO,GAAP,UAAQ,IAAsB,EAAE,eAAgC;QAAhC,yDAAgC;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,mBAAE,CAC7E,CAAC;IACH,CAAC;IAED,qCAAgB,GAAhB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,CAC/D,CAAC;IACH,CAAC;IAED,uCAAkB,GAAlB,UAAmB,UAAkB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,GAAG,aAAa,GAAG,UAAU,CAAC,CAC/F,CAAC;IACH,CAAC;IAED,0CAAqB,GAArB,UAAsB,IAA6B;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,EACpE,IAAI,EACJ,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;IAED,wCAAmB,GAAnB,UAAoB,IAA6B;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,EAClE,IAAI,EACJ,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;IAED,kCAAa,GAAb,UAAc,IAAI,EAAE,eAAgC;QAAhC,yDAAgC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,EACxD,IAAI,EACJ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,mBAAE,CACjC,CAAC;IACH,CAAC;IAED,wCAAmB,GAAnB,UAAoB,IAAI;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,EAC9D,IAAI,EACJ,EAAE,MAAM,EAAE,IAAI,EAAE,CAChB,CAAC;IACH,CAAC;IAED,kCAAa,GAAb,UAAc,IAAI;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,EACxD,IAAI,CACJ,CAAC;IACH,CAAC;IAED,4CAAuB,GAAvB,UAAwB,OAAe;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,kCAAkC,GAAG,OAAO,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,qCAAgB,GAAhB,UAAiB,IAA4B;QAC5C,yDAAyD;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,EAC3D,IAAI,CACJ,CAAC;IACH,CAAC;IAED,uCAAkB,GAAlB,UAAmB,IAAI;QACtB,8CAA8C;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,EACjE,IAAI,CACJ,CAAC;IACH,CAAC;IAED,qCAAgB,GAAhB,UAAiB,IAAI;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,EACrD,IAAI,CACJ,CAAC;IACH,CAAC;IAED,8CAAyB,GAAzB,UAA0B,QAAQ;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,QAAQ,GAAG,0BAA0B,CAAC,CAAC;IAClF,CAAC;IAED,uCAAkB,GAAlB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,gCAAW,GAAX,UAAY,MAAc;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,EAAE;YAC5F,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC1B,eAAe,EAAE,IAAI;SACrB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,8CAAyB,GAAzB,UAA0B,OAAkB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;IACzG,CAAC;IAED;;;;;;;OAOG;IACH,4BAAO,GAAP,UAAW,QAAgB,EAAE,QAA0B;QACtD,IAAM,GAAG,GAAG,qBAAmB,QAAQ,SAAI,QAAU,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,kCAAa,GAAb,UAAc,MAAM;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,oBAAoB,EAAE,GAAG,eAAe,EAC7C,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CACzC,CAAC;IACH,CAAC;IAED,kCAAa,GAAb,UAAc,IAAI,EAAE,eAAgC;QAAhC,yDAAgC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,EACxD,IAAI,EACJ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,mBAAE,CACjC,CAAC;IACH,CAAC;IAED,oCAAe,GAAf,UAAgB,aAAa;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,eAEtD,aAAa,GAEjB,EAAC,eAAe,EAAE,KAAK,EAAE,CACzB,CAAC;IACH,CAAC;IAED,iCAAY,GAAZ;QACC,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,iCAAY,GAAZ,UAAa,KAAK;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IA3WW,UAAU;QAHtB,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAmBiC,0EAAY;YACtB,gEAAa;YACtB,+DAAU;OApBb,UAAU,CA6WtB;IAAD,iBAAC;CAAA;AA7WsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbwC;AACpB;AAEN;AACoB;AACb;AACI;AACiB;AACT;AACN;AACgB;AACN;AACG;AACQ;AACG;AACV;AACb;AAC4B;AAChB;AACR;AAKvD;IAEC,qBACS,MAAqB,EACrB,YAAmB,EACnB,WAAiB,EACjB,GAAe,EACf,YAA0B,EAC1B,eAAgC,EAChC,IAAgB,EAChB,cAA8B,EAC9B,cAA+B,EAC/B,WAAwB,EACxB,YAAyB,EACzB,iBAAoC,EACpC,aAA4B,EAC5B,oBAA0C,EAC1C,eAAgC,EAChC,SAA2B;QAf3B,WAAM,GAAN,MAAM,CAAe;QACrB,iBAAY,GAAZ,YAAY,CAAO;QACnB,gBAAW,GAAX,WAAW,CAAM;QACjB,QAAG,GAAH,GAAG,CAAY;QACf,iBAAY,GAAZ,YAAY,CAAc;QAC1B,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAiB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAa;QACzB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,oBAAe,GAAf,eAAe,CAAiB;QAChC,cAAS,GAAT,SAAS,CAAkB;IACjC,CAAC;IAEI,kCAAY,GAApB;QAAA,iBAgBC;QAfA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YACnE,IAAM,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;YAClE,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,KAAK,sDAAa,CAAC,EAAE,EAAE;gBAC/D,KAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;aACzC;YAED,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAEhD,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,EACtD,aAAa,CAAC,qBAAqB,EAAE,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;YAEtF,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,QAAQ,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,yCAAmB,GAA3B;QAAA,iBA0BC;QAzBA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YAEnE,IAAI,aAAa,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;gBAC5E,KAAI,CAAC,YAAY,CAAC,aAAa,EAAE;qBAChC,SAAS,CAAC,UAAC,QAAqB;oBAChC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACd,CAAC,EAAE,eAAK;oBACN,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;oBAC5D,CAAC,CAAC,IAAI,EAAE,CAAC;oBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;aACH;iBAAM;gBACN,IAAI,CAAC,CAAC,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,UAAU,CAAC,EAAE;oBACtD,KAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAE,WAAC;wBACnD,CAAC,CAAC,IAAI,EAAE,CAAC;wBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACd,CAAC,CAAC,CAAC;iBACH;qBAAM;oBACN,CAAC,CAAC,IAAI,EAAE,CAAC;oBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACb;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,kCAAY,GAApB;QAAA,iBAUC;QATA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YACnE,KAAI,CAAC,GAAG,CAAC,OAAO,CAAe,aAAa,CAAC,QAAQ,EAAE,yDAAgB,CAAC,SAAS,CAAC;iBAC/E,SAAS,CAAC,UAAC,SAAuB;gBAClC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;gBACpC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACJ,CAAC;IACO,mCAAa,GAArB;QAAA,iBAcC;QAbA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YACnE,KAAI,CAAC,GAAG,CAAC,OAAO,CAAgB,aAAa,CAAC,QAAQ,EAAE,yDAAgB,CAAC,UAAU,CAAC;iBACjF,SAAS,CAAC,UAAC,UAAyB;gBACpC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;gBACtC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;YACd,CAAC,EACD;gBACC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,6BAAO,GAAf;QAAA,iBAOC;QANA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YACnE,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,QAAQ,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,kCAAY,GAApB;QAAA,iBA2BC;QA1BA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAoB,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YACpF,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;iBACrD,SAAS,CAAC,UAAC,IAAgB;gBAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC;gBACtB,IAAI,QAAQ,CAAC,KAAK,EAAE;oBACnB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBACnE;gBAED,KAAK,IAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBACvC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;4BACvB,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;yBAC5B,CAAC,CAAC;qBACH;iBACD;gBAED,IAAI,QAAQ,CAAC,OAAO,EAAE;oBACrB,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC/C;gBAED,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,yCAAmB,GAA3B;QAAA,iBAOC;QANA,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,aAAa,GAAoB,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;YACpF,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC9D,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,QAAQ,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,8BAAQ,GAAR;QAAA,iBAiCC;QAhCA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,sEAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,wDAAe,CAAC,QAAQ,CAAC,CAAC;QAE3D,OAAO,IAAI,+CAAU,CAAO,WAAC;YAC5B,KAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,uBAAa;gBAClD,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAC1D,0FAA0F;gBAC1F,KAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAe;oBACnF,KAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;oBACzD,KAAI,CAAC,GAAG,CAAC,OAAO,CAAmB,aAAa,CAAC,QAAQ,EAAE,yDAAgB,CAAC,QAAQ,CAAC;yBACnF,SAAS,CAAC,UAAC,QAA0B;wBACrC,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAClC,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;wBAC1D,IAAM,kBAAkB,GAAG;4BAC1B,KAAI,CAAC,YAAY,EAAE;4BACnB,KAAI,CAAC,mBAAmB,EAAE;4BAC1B,KAAI,CAAC,YAAY,EAAE;4BACnB,KAAI,CAAC,aAAa,EAAE;4BACpB,KAAI,CAAC,OAAO,EAAE;4BACd,KAAI,CAAC,YAAY,EAAE;4BACnB,KAAI,CAAC,mBAAmB,EAAE;4BAC1B,KAAI,CAAC,yBAAyB,EAAE;yBAChC,CAAC;wBAEF,6CAAQ,eAAI,kBAAkB,EAAE,SAAS,CAAC;4BACzC,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,wDAAe,CAAC,QAAQ,CAAC,CAAC;4BAC1D,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACd,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,+CAAyB,GAAzB;QAAA,iBAmBC;QAlBA,IAAM,sBAAsB,GAAG,GAAG,CAAC;QACnC,IAAM,gBAAgB,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,+CAAU,CAAC,WAAC;YACtB,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,EAAE;gBACT,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACb,OAAO;aACP;YACD,KAAoB,UAAG,EAAH,WAAG,EAAH,iBAAG,EAAH,IAAG,EAAE;gBAApB,IAAI,OAAO;gBACf,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE;oBACzC,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qDAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;iBAC3F;aACD;YACD,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,QAAQ,EAAE,CAAC;QACd,CAAC,CAAC;IACH,CAAC;IAnMW,WAAW;QAHvB,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAIgB,oEAAa;YACP,+DAAK;YACN,8DAAI;YACZ,2DAAU;YACD,0EAAY;YACT,4EAAe;YAC1B,+DAAU;YACA,wEAAc;YACd,0EAAe;YAClB,wEAAW;YACV,mFAAW;YACN,mFAAiB;YACrB,iEAAa;YACN,2FAAoB;YACzB,2EAAe;YACrB,qEAAgB;OAlBxB,WAAW,CAoMvB;IAAD,kBAAC;CAAA;AApMuB;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBmB;AAGZ;AAM/B;IAIE;QAHQ,gBAAW,GAAG,EAAE,CAAC;QACzB,sBAAiB,GAAiB,IAAI,4CAAO,EAAE,CAAC;IAEhC,CAAC;IAEjB;;OAEG;IAEH,qCAAY,GAAZ,UAAa,aAA8B,EAAE,cAAwB,EAAE,OAAU;QAAV,sCAAU;QAC/E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,WAAE,CAAC;QACtH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,oCAAW,GAAX,UAAY,aAA8B;QACxC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,kCAAS,GAAT,UAAU,aAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IACzD,CAAC;IAED,+CAAsB,GAAtB;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IA3BU,cAAc;QAH1B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;;OACW,cAAc,CA4B1B;IAAD,qBAAC;CAAA;AA5B0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTgB;AAEN;AACC;AACU;AACT;AAKvC;IAME,2BAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QALnC,qBAAgB,GAAyC,IAAI,oDAAe,CAAsB,EAAE,CAAC,CAAC;QACtG,sBAAiB,GAA4C,IAAI,oDAAe,CAAyB,SAAS,CAAC,CAAC;QACpH,qBAAgB,GAA6C,IAAI,oDAAe,CAA0B,SAAS,CAAC,CAAC;QACrH,0BAAqB,GAA6C,IAAI,oDAAe,CAA0B,SAAS,CAAC,CAAC;IAEpF,CAAC;IAE/C,sBAAI,8CAAe;aAAnB;YACC,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,+CAAgB;aAApB;YACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,8CAAe;aAAnB;YACC,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,mDAAoB;aAAxB;YACC,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;QAClD,CAAC;;;OAAA;IAED,0CAAc,GAAd,UAAe,QAAgB;QAC9B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAEO,4CAAgB,GAAxB,UAAyB,QAAgB;QACxC,IAAI,CAAC,eAAe,CAAsB,QAAQ,EAAE,yDAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrG,IAAI,CAAC,eAAe,CAAyB,QAAQ,EAAE,yDAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClH,IAAI,CAAC,eAAe,CAA0B,QAAQ,EAAE,yDAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxH,IAAI,CAAC,eAAe,CAA0B,QAAQ,EAAE,yDAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC3H,CAAC;IAED,2CAAe,GAAf,UAAmB,QAAgB,EAAE,QAA0B,EAAE,OAA2B;QAC1F,IAAI,CAAC,UAAU;aAChB,OAAO,CAAI,QAAQ,EAAE,QAAQ,CAAC;aAC9B,IAAI,CAAC,2DAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC,UAAC,IAAO;YAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,EAAE;YACF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACF,CAAC;IA5CU,iBAAiB;QAH7B,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAOgC,2DAAU;OAN/B,iBAAiB,CA6C7B;IAAD,wBAAC;CAAA;AA7C6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVa;AACQ;AACL;AACiC;AAG/E,oOAAoO;AAIpO;IAEC,sBAAoB,aAA4B,EACvC,oBAA0C;QAD/B,kBAAa,GAAb,aAAa,CAAe;QACvC,yBAAoB,GAApB,oBAAoB,CAAsB;IAAI,CAAC;IAExD,qCAAc,GAAd;QACC,qKAAqK;QACrK,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1F,OAAO,CAAC,OAAO,CAAC,UAAU,WAAW;YACpC,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;gBAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9D;QACF,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED,2CAAoB,GAApB;QACC,oKAAoK;QACpK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE;YAC3C,qJAAqJ;YACrJ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;SAC7C;IACF,CAAC;IAGD,4FAA4F;IAC5F,oDAA6B,GAA7B,UAA8B,MAAM;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACnB,IAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;IACF,CAAC;IAED,qCAAc,GAAd;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IACD,4BAAK,GAAL;QACC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;IAChD,CAAC;IAED,kCAAW,GAAX;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IACrD,CAAC;IAED,+CAAwB,GAAxB,UAAyB,QAAgB;QACxC,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;YAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;IACF,CAAC;IAED,8CAAuB,GAAvB,UAAwB,QAAgB;QACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC7D;IACF,CAAC;IAED,iCAAU,GAAV,UAAW,KAAa;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,kCAAW,GAAX;QACC,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,gCAAS,GAAT;QACC,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3H,CAAC;IAED,iCAAU,GAAV,UAAW,GAAG;QACb,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,8BAAO,GAAP,UAAQ,MAAM;QACb,IAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC;QAC7B,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;QAC5B,SAAS,CAAC,IAAI,GAAG,wBAAsB,MAAM,oCAAiC,CAAC;QAC/E,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE5B,IAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,GAAG,YAAY,CAAC;QAC/B,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;QAC9B,WAAW,CAAC,IAAI,GAAG,wBAAsB,MAAM,qDAAkD,CAAC;QAClG,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACjG,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC;YAC7B,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;YAC5B,SAAS,CAAC,IAAI,GAAG,+CAA+C,CAAC;YACjE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC5B;IACF,CAAC;IAED,+BAAQ,GAAR,UAAS,IAAI,EAAE,OAAO;QACrB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAExB,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,EACjC,YAAY,GAAG,CAAC,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAC1F,SAAS,GAAG,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAClF,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,EAChC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAEnC,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACnC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;aACtB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,KAAK,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,GAAG,GAAG,CAAC,EACV,GAAG,EAAE,GAAG,EAAE,GAAG,EACb,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,EAAE,EACb,IAAI,GAAG,KAAK,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAEpC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,yCAAyC;YACzC,IAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEzC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAChB,SAAS;aACT;YAED,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAEnB,IAAI,GAAG,IAAI,KAAK,EAAE;oBACjB,GAAG,GAAG,EAAE,CAAC;iBACT;qBAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;oBAE1C,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;oBAElB,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;wBACzB,OAAO,GAAG,EAAE;4BACX,GAAG,IAAI,CAAC,CAAC;4BACT,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gCACzB,MAAM;6BACN;yBACD;qBACD;yBAAM;wBAEN,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAEhD,wBAAwB;wBACxB,IAAI,CAAC,SAAS,EAAE;4BACf,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;gCACf,GAAG,IAAI,GAAG,CAAC;6BACX;iCAAM;gCACN,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;6BACjB;yBACD;qBACD;oBAED,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;oBAErC,IAAI,QAAQ,EAAE;wBACb,GAAG,IAAI,WAAW,GAAG,QAAQ,GAAG,gCAAgC,CAAC;qBACjE;oBAED,GAAG,GAAG,KAAK,CAAC;oBACZ,IAAI,GAAG,IAAI,CAAC;iBACZ;qBAAM;oBACN,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;iBACrB;aACD;iBAAM,IAAI,CAAC,YAAY,EAAE;gBACzB,GAAG,GAAG,EAAE,CAAC;aACT;iBAAM,IAAI,GAAG,IAAI,KAAK,EAAE;gBAExB,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEtC,IAAI,OAAO,EAAE;oBACZ,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;wBAEjC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvB,GAAG,GAAG,EAAE,CAAC;qBACT;yBAAM;wBAEN,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;4BACpE,QAAQ,CAAC,GAAG,EAAE,CAAC;yBACf;wBAED,IAAI,QAAQ,CAAC,MAAM,EAAE;4BACpB,GAAG,GAAG,EAAE,CAAC;yBACT;wBAED,QAAQ,CAAC,GAAG,EAAE,CAAC;qBACf;iBACD;qBAAM;oBACN,GAAG,GAAG,EAAE,CAAC;iBACT;aACD;YAED,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACb;QAED,OAAO;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,IAAI,EAAE,IAAI;SACV,CAAC;IACH,CAAC;IAEA,kCAAW,GAAX,UAAY,QAAkB;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,kCAAW,GAAX,UAAY,KAAK,EAAE,WAAW;QAC7B,IAAI,CAAC,KAAK,EAAE;YACX,OAAO,KAAK,CAAC;SACb;QACD,IAAM,SAAS,GAAc,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,SAAS,EAAE;YACd,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;SACd;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,mCAAY,GAAZ,UAAa,WAAW;QACvB,IAAI,SAAS,GAAc,IAAI,CAAC;QAEhC,QAAQ,WAAW,EAAE;YACpB,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,IAAI;gBACR,SAAS,GAAG,IAAI,2DAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;SACP;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAtQW,YAAY;QAHxB,gEAAU,CAAC;YACX,UAAU,EAAE,MAAM;SAClB,CAAC;yCAGkC,gEAAa;YACjB,0FAAoB;OAHvC,YAAY,CAuQxB;IAAD,mBAAC;CAAA;AAvQwB;;;;;;;;;;;;ACVzB,oQAAoQ,gCAAgC,gB;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7M;AACW;AACnC;AAM/D;IAOE,iBAAoB,EAAc,EACxB,sBAA8C,EAC9C,WAAwB;QAFd,OAAE,GAAF,EAAE,CAAY;QACxB,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,gBAAW,GAAX,WAAW,CAAa;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;IACD,0BAAQ,GAAR;QACE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;QACrH,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IACrH,CAAC;IAKD,yBAAO,GAAP;QACE,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IACrH,CAAC;IApB8B;QAA9B,+DAAS,CAAC,kBAAkB,CAAC;kCAAW,wDAAU;8CAAC;IAkBpD;QAFC,kEAAY,CAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpD,kEAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;0CAGzC;IAtBU,OAAO;QAJnB,+DAAS,CAAC;YACT,QAAQ,EAAE,KAAK;YACf,yFAA8B;SAC/B,CAAC;yCAQwB,wDAAU;YACA,0GAAsB;YACjC,uEAAW;OATvB,OAAO,CAuBnB;IAAD,cAAC;CAAA;AAvBmB;;;;;;;;;;;;;ACRpB;AAAA;AAAA;;;;EAIE;AAEK,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IAClB,SAAS,EAAE,EAAE;IACZ,OAAO,EAAE,cAAc;CACxB,CAAC;;;;;;;;;;;;;ACVF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACkB;AAE9B;AACY;AAEvC;AAElB,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,gGAAsB,EAAE,CAAC,eAAe,CAAC,yDAAS,CAAC;KAC9C,KAAK,CAAC,aAAG;IACR,IAAI;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAClB;IACD,OAAM,KAAK,EAAE,GAAE;AACjB,CAAC,CAAC,CAAC","file":"main.js","sourcesContent":["var map = {\n\t\"./guest.module\": [\n\t\t\"./src/app/guest.module.ts\",\n\t\t\"default~guest-module~registered-registered-module\",\n\t\t\"guest-module\"\n\t],\n\t\"./registered/registered.module\": [\n\t\t\"./src/app/registered/registered.module.ts\",\n\t\t\"default~guest-module~registered-registered-module\",\n\t\t\"registered-registered-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","\r\n\r\nexport enum SpinnerTarget {\r\n\tGetBrands,\r\n\tGetSettings,\r\n\tMarkAsPurchasedSubmit,\r\n\tSearchResults,\r\n\tInitSite,\r\n\tGetRegistryDetails,\r\n\tGetRegistryItems,\r\n\tCalcTax,\r\n\tCheckout,\r\n\tPaypalCheckout,\r\n\tAddShipping,\r\n\tGetStores,\r\n\tGetOrderedCategories,\r\n\tSearchCatalog,\r\n\tGetMyList,\r\n\tDeleteListProduct,\r\n\tUpdateListProductQuantity,\r\n\tVouchers,\r\n\tShipToMe,\r\n\tAddExistingProduct,\r\n\tUpdateMarkedBuyer,\r\n\tMarkAsBought,\r\n\tGetUserVouchers,\r\n\tCreateVoucherRequest,\r\n\tSettingsViewLoading,\r\n\tShareByEmail,\r\n\tAddCustomItem,\r\n\tgetProduct,\r\n\tUploadImage,\r\n\tGetVoucher,\r\n\tRedeem,\r\n\tAzulPayment,\r\n\tNotifyRequest\r\n}\r\n\r\nexport enum ProductChangeAction {\r\n\tAdded,\r\n\tRemoved,\r\n\tUpdated\r\n}\r\nexport enum LoginSource {\r\n\tWeb = 1,\r\n\tiPhone = 2, //app\r\n\tAndroid = 3, //app\r\n\tCoupleWebsite = 4,\r\n\tMobileWeb = 5,\r\n\tTablet = 6, //app\r\n}\r\n\r\nexport enum Status {\r\n\tEnabled,\r\n\tDisabled\r\n}\r\nexport enum TopPicsCategoriesImage {\r\n\tMobile = 0,\r\n\tDesktop = 1\r\n}\r\nexport enum LinkType {\r\n\tStatic = 'static',\r\n\tLogin = 'login',\r\n\tLogout = 'logout',\r\n\tCart = 'cart',\r\n\tAppDownload = 'appDownload',\r\n\tLiveChat = 'chat',\r\n\tPhone = 'phone',\r\n\tExternalUrl = 'externalUrl',\r\n\tGuestList = 'guest-list',\r\n\tShareList = 'share-list',\r\n\tChangeList = 'change-list',\r\n\tListLink = 'list-link',\r\n\tAddGifts = 'add-gifts',\r\n\tnewTab = 'newTab',\r\n\tLanguage = 'language'\r\n}\r\n\r\nexport enum ScanOptionsTitle {\r\n\tScanBarcode = 1,\r\n\tEnterItemNumber = 2,\r\n\tBrowseCatalog = 3,\r\n\tSnapItemPhoto = 4\r\n}\r\n\r\nexport enum ProductStatus { /*in server fields it called just Status */\r\n\tNotAdded = 0,\r\n\tWaiting = 1,\r\n\tChipIn = 2,\r\n\tBought = 3,\r\n\tRedeem = 4,\r\n\tMarkAsBought = 5\r\n}\r\nexport enum ProductPurchasedStatus {\r\n\tAll = 0,\r\n\tPartiallyPurchased = 1,\r\n\tPurchased = 2,\r\n\tRemaining = 3\r\n}\r\n\r\nexport enum SortOptions {\r\n\tPriceLowToHigh,\r\n\tPriceHighToLow,\r\n\tCategory\r\n}\r\n\r\nexport enum BuyOption {\r\n\tRequested1AndNotBought,\r\n\tRequested1AndChipedInAmount,\r\n\tRequested1AndFullyBought,\r\n\tRequestedMoreThan1AndNotBought,\r\n\tRequestedMoreThan1AndChipedInQuantity,\r\n\tRequestedMoreThan1AndFullyBought,\r\n}\r\n\r\nexport enum RegistryItemAction {\r\n\tGiftIt = 1,\r\n\tChipIn = 2,\r\n\tPurchasedInStore = 3\r\n}\r\n\r\nexport enum RegistryItemPopupState {\r\n\tGeneral, // display all available actions\r\n\tUpdateItem, // update item state after added to cart\r\n\tChipIn, // display chip in state\r\n\tGiftIt, // display gift it state\r\n\tPurchasedInStore // display purchased in store state\r\n}\r\n\r\nexport enum EventType {\r\n\tWedding = 1,\r\n\tBirthDay = 2\r\n}\r\n\r\nexport enum PaymentType {\r\n\tCreditCard = 1,\r\n\tPayPal = 2,\r\n\tPayU = 3,\r\n\tAzulPaymentPage = 4,\r\n\tAzulWebService = 5\r\n}\r\n\r\nexport enum DeliveryOption {\r\n\tSelfPickup = 1,\r\n\tShipping = 2,\r\n\tDigital = 3,\r\n\tDigitalAndShipping = 4,\r\n\tDigitalAndPickup = 5\r\n}\r\n\r\nexport enum CartButtonType {\r\n\tShipToMe = 1,\r\n\tShipToReg = 2,\r\n\tPickUpInStore = 3,\r\n\tContactMeForDeliveryOptions = 4,\r\n\tRegisteredRequestShipping = 5,\r\n\tRegisteredProceedToCheckout = 6,\r\n\tMoneyTransfer = 7,\r\n\tDigitalMoneyTransfer = 8,\r\n\tShipToMeShippingPickup = 9\r\n}\r\n\r\nexport enum OptionState {\r\n\tOn = 1,\r\n\tOff = 0\r\n}\r\n\r\nexport enum ChatTypes {\r\n Zendesk = 'zendesk',\r\n LiveChat = 'livechat',\r\n Olark = 'olark'\r\n}\r\n\r\nexport enum Source {\r\n\tDesktopWeb = 1,\r\n\tMobileWeb = 5,\r\n\tTabletWeb = 6\r\n}\r\n\r\nexport enum ShippingSenderReceiver { // Indicates the side originating Or receiving the shipping.\r\n Couple = 1,\r\n Guest = 2\r\n}\r\n\r\nexport enum GAEventCategory {\r\n\tGuest = 'guest',\r\n\tCouple = 'couple'\r\n}\r\n\r\nexport enum GAEventAction {\r\n\tView = 'view',\r\n\tAction = 'action'\r\n}\r\n\r\nexport enum GAEventLabel {\r\n\tHomePage = 'Home page',\r\n\tSearchResults = 'Search Results',\r\n\tList = 'List',\r\n\tCart = 'Cart',\r\n\tGreeting = 'Greeting',\r\n\tShipToMe = 'Ship To Me',\r\n\tStartCheckout = 'Start Checkout',\r\n\tCompleteCheckout = 'Complete Checkout',\r\n\tAddToCart = 'Add To Cart',\r\n\tPurchaseInStore = 'Purchase In Store'\r\n}\r\n\r\n\r\nexport enum EventFieldWhichEventImagesPathBasedOn {\r\n\tEventType = 1,\r\n\tDestination = 2\r\n}\r\n\r\n\r\nexport enum SearchResultFields {\r\n\tEventName = 1,\r\n\tRegistrant = 2,\r\n\tCoRegistrant = 3,\r\n\tDate = 4,\r\n\tStoreDisplayName = 5,\r\n\tHoneymoonDate = 6\r\n}\r\n\r\nexport enum ListProductStatus {\r\n\tRemaining = 1,\r\n\tPartiallyPurchased = 2,\r\n\tPurchasedNotRedeemed = 3,\r\n\tRedeemed = 4,\r\n\tMarkedAsBought = 5\r\n}\r\n\r\nexport enum BuyType {\r\n\tNormal = 1,\r\n\tChipIn = 2,\r\n\tMarkAsBought = 3\r\n}\r\n\r\nexport enum SearchResultFieldType {\r\n\tText = 1,\r\n\tDate = 2\r\n}\r\n\r\nexport enum SiteType {\r\n\tCouples,\r\n\tGuests\r\n}\r\n\r\nexport enum ProductHierarchyLevel {\r\n\tChild = 1,\r\n\tParent = 2,\r\n\tGrandparent = 3\r\n}\r\n\r\nexport enum CookieKeys {\r\n Name = 'LoggedInUserName',\r\n UserListID = 'LoggedInUserLastListID',\r\n Jcookielit = 'JCOOKIELIT',\r\n TKN = 'TKN',\r\n TKNLISTID = 'TKNLISTID',\r\n ADMINHEADER = 'ADMINHEADER',\r\n RefferalCode = 'RefferalCode',\r\n XSRF = 'X-XSRF-Token'\r\n}\r\n\r\n\r\nexport enum LocalStorageKeys {\r\n LoggedInUser = 'LoggedInUser',\r\n ShipToMeCartList = 'shipToMeCartList',\r\n AvailableFunds = 'availableFunds',\r\n UserDetails = 'userDetails',\r\n ShippingCorrelationId = 'shippingCorrelationId',\r\n CartData = 'cartData'\r\n}\r\n\r\nexport enum CategoryItemType {\r\n\tSlider = 'slider',\r\n\tDefault = 'default'\r\n}\r\n\r\nexport enum Variant {\r\n\tColor = 'Color',\r\n\tSize = 'Size',\r\n\tWeight = 'Weight',\r\n\tFinish = 'Finish'\r\n}\r\n\r\nexport enum StaticJsonName {\r\n \tContext = 'context.json',\r\n\tRegistryBenefits = 'registry-benefits.json',\r\n\tFeatures = 'features.json',\r\n\tPageLinks = 'page-links.json',\r\n\tCouplesNavigationLinks = 'navigation-couples.json',\r\n\tGuestNavigationLinks = 'navigation-guest.json',\r\n\tHowItWorks = 'how-it-works.json'\r\n}\r\n\r\n\r\nexport enum RedeemDataStatus {\r\n\tFullyPurchased = 1,\r\n\tChipIn = 2\r\n}\r\n\r\n\r\nexport enum ManageListFilterType {\r\n\tAll,\r\n\tPurchased,\r\n\tPartiallyPurchased,\r\n\tRemaining,\r\n\tGiftTracker\r\n}\r\n\r\nexport enum ManageListSortType {\r\n\tPriceRange,\r\n\tCategory,\r\n\tStatus\r\n}\r\n\r\n\r\nexport enum SortingOptions {\r\n\tNewest = 'Newest',\r\n\tPriceHighToLow = 'Price: High to Low',\r\n\tPriceLowToHigh = 'Price: Low to High',\r\n\tAlphapatical = 'Alphapatical'\r\n}\r\n\r\nexport enum SpecialBrandsCategory {\r\n\tBrands = 'brands',\r\n\tTopPics = 'topPics'\r\n}\r\n\r\nexport enum ProductParamMode {\r\n\tSiblingsAndSelf,\r\n\tExactSKU,\r\n\tSelfAndParents\r\n}\r\nexport enum LoginAuthenticationType {\r\n\tBasicAuthentication = '1',\r\n\tFacebook = '2',\r\n\tJCOOKIELIT = '3'\r\n}\r\n\r\nexport enum TaxType {\r\n\tTaxShippingProvince = 1,\r\n\tFixedTax = 6\r\n}\r\n\r\nexport enum Country {\r\n\tCanada = 'Canada',\r\n\tUnitedState = 'UnitedStates'\r\n}\r\n","import { SiteInitializer } from './initializers/site.initializer';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\n\r\n// CR: Why do we need this here?\r\nimport 'hammerjs';\r\n\r\nimport { routing } from './config/app.routes';\r\nimport { AppView } from './views/app/app.view';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FacebookModule } from 'ngx-facebook';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\n\r\nimport { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';\r\nimport { AccessGuard } from './config/access.guard';\r\nimport { UnauthorizedInterceptor } from './registered/interceptors/unauthorized.interceptor';\r\nimport { ForgeryInterceptor } from './registered/interceptors/frogery.interceptor';\r\n\r\ndeclare var Hammer: any;\r\n\r\nexport class MyHammerConfig extends HammerGestureConfig {\r\n buildHammer(element: HTMLElement) {\r\n const hammer = new Hammer(element, {\r\n touchAction: 'pan-y',\r\n });\r\n return hammer;\r\n }\r\n}\r\n\r\n\r\n// AoT requires an exported function for factories\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n\treturn new TranslateHttpLoader(http, 'assets/i18n/');\r\n}\r\n\r\nexport function initSite(siteInitializer: SiteInitializer) {\r\n\treturn () => siteInitializer.initialize();\r\n}\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tBrowserAnimationsModule,\r\n\t\tHttpClientModule,\r\n\t\trouting,\r\n\t\tTranslateModule.forRoot({\r\n\t\t\tloader: {\r\n\t\t\t\tprovide: TranslateLoader,\r\n\t\t\t\tuseFactory: HttpLoaderFactory,\r\n\t\t\t\tdeps: [HttpClient]\r\n\t\t\t}\r\n\t\t}),\r\n\t\tFacebookModule.forRoot(),\r\n\t\tModalModule.forRoot()\r\n\t],\r\n\tdeclarations: [\r\n\t\tAppView,\r\n\t],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: initSite,\r\n\t\t\tdeps: [SiteInitializer],\r\n\t\t\tmulti: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: HAMMER_GESTURE_CONFIG,\r\n\t\t\tuseClass: MyHammerConfig\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: UnauthorizedInterceptor,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: ForgeryInterceptor,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\tSiteInitializer,\r\n\t\tCookieService,\r\n\t\tAccessGuard\r\n\t],\r\n\tbootstrap: [AppView]\r\n})\r\nexport class AppModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n\tCanActivate,\r\n\tActivatedRouteSnapshot,\r\n\tRouterStateSnapshot\r\n} from \"@angular/router\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FeaturesService } from \"../services/features/features.service\";\r\n\r\n@Injectable()\r\nexport class AccessGuard implements CanActivate {\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate featureService: FeaturesService\r\n\t) {}\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\t\t// const routePath = route.routeConfig.path;\r\n\t\tconst shouldNavigateToLandingPageDirectly = this.featureService.checkSystemFeature();\r\n\r\n\t\tif (shouldNavigateToLandingPageDirectly) {\r\n\t\t\tthis.router.navigate(['Event/Aspiranet-Registry']);\r\n\t\t}\r\n\r\n\t\treturn !shouldNavigateToLandingPageDirectly;\r\n\t}\r\n}\r\n","import { ModuleWithProviders } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AccessGuard } from './access.guard';\r\n\r\nexport const routes: Routes = [\r\n\t{\r\n\t\tpath: '',\r\n\t\tloadChildren: './guest.module#GuestModule'\r\n\t},\r\n\t{\r\n\t\tpath: 'registered',\r\n\t\tloadChildren: './registered/registered.module#RegisteredModule',\r\n\t\tcanActivate: [AccessGuard],\r\n\t},\r\n\r\n\t// Page not found route (MUST BE LAST!)\r\n\t{ path: '**', redirectTo: '/404' }\r\n];\r\n\r\n\r\nexport const routing: ModuleWithProviders = RouterModule.forRoot(routes);\r\n","import { Injectable, Inject, PLATFORM_ID, Injector } from '@angular/core';\r\nimport { SiteService } from '../services/site/site.service';\r\n\r\n@Injectable()\r\nexport class SiteInitializer {\r\n\tconstructor(private injector: Injector, @Inject(PLATFORM_ID) private platformId: Object) { }\r\n\r\n\tinitialize(): Promise {\r\n\t\treturn this.injector.get(SiteService).initSite().toPromise();\r\n\t}\r\n\r\n\r\n\tpublic getParameterByName(name: string) {\r\n\t\tconst url = window.location.href.toLowerCase();\r\n\t\tname = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n\t\tconst regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n\t\t\tresults = regex.exec(url);\r\n\r\n\t\tif (!results || !results[2]) {\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\r\n\t\treturn decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n\t}\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpErrorResponse, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { NetService } from '../../services/net/net.service';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class ForgeryInterceptor implements HttpInterceptor {\r\n constructor(private netService: NetService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n let modifiedReq = req.clone();\r\n if (this.netService.getXsrfToken()) {\r\n\r\n modifiedReq = req.clone({\r\n headers: req.headers.set('XSRF-TOKEN', this.netService.getXsrfToken())\r\n });\r\n }\r\n return next.handle(modifiedReq).pipe(tap(evt => {\r\n if (evt instanceof HttpResponse) {\r\n if (evt.headers.get('XSRF-TOKEN')) {\r\n this.netService.setXsrfToken(evt.headers.get('XSRF-TOKEN'));\r\n }\r\n }\r\n }));\r\n }\r\n}\r\n","import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpErrorResponse} from '@angular/common/http';\r\nimport {Observable, throwError, of} from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport {Injectable} from '@angular/core';\r\nimport {NavigationService} from '../../registered/services/navigation/navigation.service';\r\nimport { NetService } from '../../services/net/net.service';\r\nimport { SpinnerService } from '../../services/spinner/spinner.service';\r\n\r\nconst UNATHORIZED_ERROR_CODE = 401;\r\nconst FROGERY_ERROR_CODE = 909;\r\n\r\n@Injectable()\r\nexport class UnauthorizedInterceptor implements HttpInterceptor {\r\n constructor(private navigationService: NavigationService,\r\n private spinnerService: SpinnerService,\r\n private netService: NetService) { }\r\n\r\n private handleAuthError(err: HttpErrorResponse, request: HttpRequest): Observable {\r\n if (request.url.indexOf(this.netService.getRegistryServerUrl()) > -1) {\r\n if (err.status === UNATHORIZED_ERROR_CODE || err.status === FROGERY_ERROR_CODE) {\r\n this.spinnerService.stopLoadingAllSpinners();\r\n this.navigationService.navigateToLogin(true);\r\n return of(undefined);\r\n }\r\n }\r\n return throwError(err);\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(x => this.handleAuthError(x, request)));\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ClientDetailsService } from '../../../services/clientDetails/client-details.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class NavigationService {\r\n\r\n\tconstructor(private injector: Injector ) {\r\n\t}\r\n\r\n\tnavigateToLogin(error = false) {\r\n\t\tconst clientDetailsService = this.injector.get(ClientDetailsService);\r\n\t\tconst clientDetails = clientDetailsService.getClientDetails();\r\n\t\tif (clientDetails.Features.externalLoginEnabled) {\r\n\t\t\tif (clientDetails.Features.externalLoginUrl) {\r\n\t\t\t\twindow.location.href = clientDetails.Features.externalLoginUrl;\r\n\t\t\t} else {\r\n\t\t\t\twindow.location.href = clientDetails.SignInUrl;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.navigate('login', error);\r\n\t\t}\r\n\t}\r\n\r\n\thasExternalLoginPage() {\r\n\t\tconst clientDetailsService = this.injector.get(ClientDetailsService);\r\n\t\tconst clientDetails = clientDetailsService.getClientDetails();\r\n\t\tif (clientDetails.Features.externalLoginEnabled) {\r\n\t\t\tif (clientDetails.Features.externalLoginUrl) {\r\n\t\t\t\twindow.location.href = clientDetails.Features.externalLoginUrl;\r\n\t\t\t} else {\r\n\t\t\t\twindow.location.href = clientDetails.SignInUrl;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tnavigateToCreateEvent() {\r\n\t\tthis.navigate('event');\r\n\t}\r\n\r\n\tprivate navigate(route: string, error = false) {\r\n\t\tconst router = this.injector.get(Router);\r\n\t\tif (error) {\r\n\t\t\trouter.navigate([`/registered/${route}`], { queryParams: { error } });\r\n\t\t} else {\r\n\t\t\trouter.navigate([`/registered/${route}`]);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NetService } from '../../../services/net/net.service';\r\nimport * as M from '../../../app.models';\r\nimport * as E from '../../../app.enums';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BrowserSelectorService } from '../../../services/browser-selector/browser-selector.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class RegisteredNetService {\r\n\tconstructor(\r\n\t\tprivate browserSelectorService: BrowserSelectorService,\r\n\t\tprivate netService: NetService,\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetCategories(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(this.netService.getRegistryServerUrl() + 'GetCategories'),\r\n\t\t\t{\r\n\t\t\t\tparams: { source: this.getLoginSource().toString() },\r\n\t\t\t\twithCredentials: true\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateListProductQuantity(listProductId: number, quantity: number): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'UpdateListProductQuantity'\r\n\t\t\t),\r\n\t\t\t{\r\n\t\t\t\tparams: { listProductId: listProductId.toString(), quantity: quantity.toString() }, withCredentials: true\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteListProduct(listProductId: number): Observable {\r\n\t\tconst params = { ListProductId: listProductId.toString() };\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getRegistryServerUrl() + 'DeleteListProduct', { params: params, withCredentials: true });\r\n\t}\r\n\r\n\tgetMyList(listId: number): Observable {\r\n\t\tconst params = { listId: listId.toString() };\r\n\t\treturn this.http.get(this.netService.getRegistryServerUrl() + 'GetMyList', { params: params, withCredentials: true });\r\n\t}\r\n\r\n\tgetBrands(listId: string): Observable {\r\n\t\treturn >this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'GetBrands'\r\n\t\t\t),\r\n\t\t\t{\r\n\t\t\t\tparams: { listId: listId },\r\n\t\t\t\twithCredentials: true\r\n\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\r\n\tAddManualProduct(productData): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'AddManualProduct'\r\n\t\t\t),\r\n\t\t\tproductData,\r\n\t\t\t{ withCredentials: true }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * @param {string} credentials - encoded password and email\r\n\t * @returns {Observable} returns observable of UsersData Type object from server in case of success. Returns null with success status(204) if user is not registered in database.\r\n\t * Sometimes returns 500, without any reason.\r\n\t * @memberof RegisteredNetService\r\n\t */\r\n\tloginAndGetUserData(credentials: string, type: string = '', listId?: string, isAdmin?: string, listIdToActive?: number): Observable {\r\n\t\tconst header = this.getAuthorizedHeader(credentials);\r\n\t\tif (isAdmin) {\r\n\t\t\theader['JHEADER1'] = '3';\r\n\t\t}\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'Login'\r\n\t\t\t),\r\n\t\t\t{\r\n\t\t\t\theaders: header,\r\n\t\t\t\tparams: type === E.LoginAuthenticationType.Facebook ? this.generateClientIdentificationObject(false, true) : this.generateClientIdentificationObject(false, false, listId, listIdToActive),\r\n\t\t\t\twithCredentials: true\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\r\n\r\n\t/**\r\n\t * @returns {Observable} returns 204 if completed successfully. Disables the user token on the server side.\r\n\t * @memberof RegisteredNetService\r\n\t */\r\n\tlogout(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'Logout'\r\n\t\t\t),\r\n\t\t\t{ withCredentials: true }\r\n\t\t);\r\n\t}\r\n\r\n\tremoveList(listId: string) {\r\n\t\treturn this.http.get(this.netService.getServiceUrl(\r\n\t\t\tthis.netService.getRegistryServerUrl() + 'RemoveList'\r\n\t\t), { params: { listId: listId }, withCredentials: true });\r\n\t}\r\n\r\n\t/**\r\n\t * @returns {Observable} returns observable of UsersData Type object from server in case of success. Returns null with success status(204) if user is not registered in database.\r\n\t * Sometimes returns 500, without any reason. THIS METHOD WILL ONLY WORK IF USER AUTHORIZED BEFORE!\r\n\t * @memberof RegisteredNetService\r\n\t */\r\n\tloginAuthorizedUser(): Observable {\r\n\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'Login'\r\n\t\t\t), {\r\n\t\t\t\tparams: this.generateClientIdentificationObject(true),\r\n\t\t\t\twithCredentials: true\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param {string} email address of the user, who forgot the password\r\n\t * @returns {Observable} returns null in case of success, exception if fails\r\n\t * @memberof RegisteredNetService\r\n\t */\r\n\tsendResetPasswordEmail(email: string): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'resetPassword'\r\n\t\t\t),\r\n\t\t\t{ params: { email: email } }\r\n\t\t);\r\n\t}\r\n\r\n\tuploadImage(image: string): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.netService.getRegistryServerUrl() + 'CreateImage',\r\n\t\t\t{ imageBase64: image },\r\n\t\t\t{ withCredentials: true }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * @returns {Observable} returns observable of basic UsersData (userid + username) Type object from server in case of success\r\n\t * returns 521, if user already exists\r\n\t * @memberof RegisteredNetService\r\n\t */\r\n\tregisterAndGetUserData(data: M.LoginData): Observable {\r\n\t\tconst registerData = Object.assign(\r\n\t\t\tthis.generateClientIdentificationObject(true),\r\n\t\t\t{\r\n\t\t\t\tUserName: data.email,\r\n\t\t\t\tPassword: data.password\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\treturn this.http.post(\r\n\t\t\tthis.netService.getServiceUrl(\r\n\t\t\t\tthis.netService.getRegistryServerUrl() + 'CreateUser'\r\n\t\t\t),\r\n\t\t\tregisterData\r\n\t\t);\r\n\t}\r\n\r\n\tgetListDetails(): Observable {\r\n\t\treturn this.http.get(`${this.netService.getRegistryServerUrl()}GetListDetails`, { withCredentials: true });\r\n\t}\r\n\r\n\tgetDashboardDetails(listId: string): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\t`${this.netService.getRegistryServerUrl()}GetDashboardDetails?listId=${listId}`, { withCredentials: true });\r\n\t}\r\n\r\n\tsaveSettings(settingsRequest: M.UsersData): Observable {\r\n\t\treturn this.http.post(this.netService.getRegistryServerUrl() + 'SaveSettings',\r\n\t\t\tsettingsRequest, { withCredentials: true });\r\n\t}\r\n\r\n\tgetMessages(siteId) {\r\n\t\treturn this.http.get('assets/data/site' + siteId + '/messages.json');\r\n\t}\r\n\r\n\tloginExternal(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(this.netService.getRegistryServerUrl() + 'LoginExternal'), { withCredentials: true }\r\n\t\t);\r\n\t}\r\n\r\n\tgetProductBySKU(listId, mode, sku, listProductId?): Observable {\r\n\t\tconst params = {\r\n\t\t\tlistId: listId.toString(),\r\n\t\t\tmode: mode.toString(),\r\n\t\t\tsku: sku.toString(),\r\n\t\t\tListProductId: listProductId\r\n\t\t};\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getRegistryServerUrl() + 'GetProductsBySKU', { params: params, withCredentials: true });\r\n\t}\r\n\r\n\tmarkAsBought(markAsBoughtProduct: M.MarkAsBoughtProduct): Observable {\r\n\t\treturn this.http.post(this.netService.getRegistryServerUrl() + 'MarkAsBought', markAsBoughtProduct,\r\n\t\t\t{ withCredentials: true });\r\n\t}\r\n\tundoMarkAsBought(undoMarkAsBoughtProduct: M.MarkAsBoughtProduct): Observable {\r\n\t\treturn this.http.post(this.netService.getRegistryServerUrl() + 'UndoMarkAsBought', undoMarkAsBoughtProduct,\r\n\t\t\t{ withCredentials: true });\r\n\t}\r\n\taddExistingProduct(addExistingProduct: M.AddExistingProduct): Observable {\r\n\t\treturn this.http.post(this.netService.getRegistryServerUrl() + 'AddExistingProduct', addExistingProduct,\r\n\t\t\t{ withCredentials: true });\r\n\t}\r\n\r\n\taddExistingProducts(addExistingProduct): Observable {\r\n\t\treturn this.http.post(this.netService.getRegistryServerUrl() + 'AddExistingProduct', addExistingProduct,\r\n\t\t\t{ withCredentials: true });\r\n\t}\r\n\r\n\tupdateMarkedBuyer(gifterId: number, email: string, name: string): Observable {\r\n\t\tconst params = { buyerId: gifterId.toString(), email: email, name: name };\r\n\t\treturn this.http.get(this.netService.getRegistryServerUrl() + 'UpdateMarkedBuyer', { params: params, withCredentials: true });\r\n\t}\r\n\r\n\tcreateNewEvent(newEventRequest) {\r\n\t\treturn this.http.post(this.netService.getRegistryServerUrl() + 'SaveSettings', newEventRequest,\r\n\t\t\t{ withCredentials: true });\r\n\t}\r\n\r\n\tGetStoresDataReduced() {\r\n\t\treturn this.http.get(this.netService.getRegistryServerUrl() + 'GetStoresDataReduced',\t{ withCredentials: true });\r\n\t}\r\n\r\n\tsearchCatalog(categoryId: string, listId: number): Observable {\r\n\t\t\treturn >this.http.get(\r\n\t\t\t\tthis.netService.getServiceUrl(this.netService.getRegistryServerUrl() + 'SearchCatalog'),\r\n\t\t\t\t{\r\n\t\t\t\t\twithCredentials: true,\r\n\t\t\t\t\tparams: { onlineCategoryId: categoryId, listId: listId.toString() }\r\n\t\t\t\t},\r\n\t\t\t);\r\n\t}\r\n\r\n\tsearchProducts(query: string , listId: number , sortOptionId: number = 3): Observable {\r\n\t\treturn >this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(this.netService.getRegistryServerUrl() + 'SearchCatalog'),\r\n\t\t\t{\r\n\t\t\t\twithCredentials: true,\r\n\t\t\t\tparams: { text: query, listId: listId.toString(), sortOptionId: sortOptionId.toString() }\r\n\t\t\t},\r\n\t\t);\r\n\t}\r\n\r\n\tgetUserVouchers(listId, source) {\r\n\t\treturn this.http.get(`${this.netService.getRegistryServerUrl()}GetUserVouchers?listId=${listId}&source=${source}`,\r\n\t\t\t{ withCredentials: true });\r\n\t}\r\n\r\n\tgetVoucher(voucherId) {\r\n\t\treturn this.http.get(this.netService.getRegistryServerUrl() + 'GetVoucher', { params: {voucherId }, withCredentials: true });\r\n\t}\r\n\r\n\tgetRedeemData(id: number, order: number, lang: string): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.netService.getServiceUrl(this.netService.getSiteServerUrl() + 'GetRedeemData/' + id),\r\n\t\t\t{ params: { order: order.toString(), lang: lang } }\r\n\t\t);\r\n\t}\r\n\r\n\tcreateVoucherRequest(listId) {\r\n\t\treturn this.http.get(this.netService.getRegistryServerUrl() + 'RequestVoucher', { params: {listId }, withCredentials: true });\r\n\t}\r\n\r\n\tgetOrderedCategoriesByBrandName(brandName: string, listId: string): Observable {\r\n\t\treturn this.http.get(`${this.netService.getRegistryServerUrl()}GetProductsByBrandName`, {\r\n\t\t\tparams: {brandName, listId },\r\n\t\t\t withCredentials: true\r\n\t\t\t});\r\n\t}\r\n\r\n\tsendThanks(gifter: M.SendThanksRequest) {\r\n\t\treturn this.http.get(`${this.netService.getRegistryServerUrl()}SayThanks`, {\r\n\t\t\tparams: {\r\n\t\t\t\tGifterId: gifter.GifterId.toString(),\r\n\t\t\t\tListProductId: gifter.ListProductId.toString(),\r\n\t\t\t\tMessage: gifter.Message\r\n\t\t\t},\r\n\t\t\twithCredentials: true\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * @param {M.EmailItem} emailItem\r\n\t * @returns {Observable}\r\n\t * @memberof RegisteredNetService\r\n\t *\r\n\t * Shares EmailItem.Content with receivers list from EmailItem.Email. Returns HttpResponse from server;\r\n\t */\r\n\tshareListByEmail(emailItem: M.EmailItem): Observable {\r\n\t\treturn this.http.post(`${this.netService.getRegistryServerUrl()}SendEmail`, emailItem, { withCredentials: true });\r\n\t}\r\n\r\n\tprivate getAuthorizedHeader(credentials: string) {\r\n\t\treturn {\r\n\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\r\n\t\t\t'Cache-Control': 'no-cache',\r\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\r\n\t\t\t'Access-Control-Allow-Origin': '*',\r\n\t\t\tAuthorization: 'Basic ' + credentials,\r\n\t\t\tJHEADERUID: '0',\r\n\t\t};\r\n\t}\r\n\r\n\tprivate getLoginSource(): E.LoginSource {\r\n\t\tif (this.browserSelectorService.isMobile()) {\r\n\t\t\treturn E.LoginSource.MobileWeb;\r\n\t\t} else {\r\n\t\t\treturn E.LoginSource.CoupleWebsite;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate generateClientIdentificationObject(jcookie: boolean = false, isFacebook: boolean = false, listId?: string, listIdToActive?: number) {\r\n\t\treturn {\r\n\t\t\ttype: this.chackLoginType(jcookie, isFacebook),\r\n\t\t\tsource: this.getLoginSource().toString(),\r\n\t\t\tappVersion: '6.5.4',\r\n\t\t\tdeviceId: 'a',\r\n\t\t\tJHEADERUID: '0',\r\n\t\t\tactiveListId: listId,\r\n\t\t\t...(listIdToActive && listIdToActive !== 0 && {listIdToActive: listIdToActive.toString()})\r\n\t\t};\r\n\t}\r\n\r\n\tchackLoginType(jcookie: boolean, isFacebook: boolean) {\r\n\t\treturn jcookie ? E.LoginAuthenticationType.JCOOKIELIT : (isFacebook ? E.LoginAuthenticationType.Facebook : E.LoginAuthenticationType.BasicAuthentication );\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as M from '../../../app.models';\r\nimport * as E from '../../../app.enums';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { tap, catchError, take } from 'rxjs/operators';\r\nimport { RegisteredNetService } from '../registered-net/registered-net.service';\r\nimport { LocalStorageService } from '../../../services/local-storage/local-storage.service';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { LoggerService } from '../../../services/logger/logger.service';\r\nimport { Router } from '@angular/router';\r\nimport { ClientDetailsService } from '../../../services/clientDetails/client-details.service';\r\nimport { UtilsService } from '../../../services/utils/utils.service';\r\n\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UserService {\r\n\tprivate cookieExpirationDate: number = 7;\r\n\tprivate _userData: BehaviorSubject = new BehaviorSubject(undefined);\r\n\tprivate userIsLoggedIn: boolean = false;\r\n\tprivate lastAddedToListProducts = [];\r\n\r\n\tget userData(): Observable {\r\n\t\treturn this._userData.asObservable();\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate utilsService: UtilsService,\r\n\t\tprivate cookieService: CookieService,\r\n\t\tprivate registeredNetService: RegisteredNetService,\r\n\t\tprivate clientDetailsService: ClientDetailsService,\r\n\t\tprivate localStorageService: LocalStorageService,\r\n\t\tprivate router: Router,\r\n\t\tprivate logger: LoggerService) {\r\n\t\tthis.userIsLoggedIn = !!(this.cookieService.get(E.CookieKeys.Jcookielit));\r\n\t}\r\n\r\n\tprivate getUserFromCookies(): M.LocalStoredUser {\r\n\t\treturn {\r\n\t\t\tlastListId: this.getCurrentUserList(),\r\n\t\t\tname: this.cookieService.get(E.CookieKeys.Name)\r\n\t\t};\r\n\t}\r\n\r\n\r\n\tprivate getUserFromLocalStorage(): M.LocalStoredUser {\r\n\t\treturn this.localStorageService.getObjectItem(\r\n\t\t\tE.LocalStorageKeys.LoggedInUser\r\n\t\t);\r\n\t}\r\n\r\n\tpublic saveUserLocalStorage(user: M.LocalStoredUser) {\r\n\t\tthis.localStorageService.setObjectItem(\r\n\t\t\tE.LocalStorageKeys.LoggedInUser,\r\n\t\t\tuser\r\n\t\t);\r\n\t}\r\n\r\n\tpublic saveUserCookies(user: M.LocalStoredUser) {\r\n\t\tthis.cookieService.set(E.CookieKeys.Name, user.name, this.cookieExpirationDate, '/');\r\n\t\tif (user.lastListId) {\r\n\t\t\tthis.cookieService.set(E.CookieKeys.UserListID, user.lastListId.toString(), this.cookieExpirationDate, '/');\r\n\t\t}\r\n\t}\r\n\r\n\taddToListProduct(listId, sku) {\r\n\t\tthis.lastAddedToListProducts.push({listId, sku});\r\n\t}\r\n\tremoveAddedToListProduct(listId, sku) {\r\n\t\tthis.lastAddedToListProducts = this.lastAddedToListProducts.filter((item) => item.listId !== listId && item.sku !== sku);\r\n\t}\r\n\tisProductAddedToListByUser(listId, sku) {\r\n\t\tlet isProductExist;\r\n\t\tisProductExist = this.lastAddedToListProducts.find((item) => {\r\n\t\t\treturn item.listId === listId && item.sku === sku;\r\n\t\t});\r\n\t\treturn !!isProductExist;\r\n\t}\r\n\r\n\tlogin(email: string, password: string, listIdToActive?: number): Observable {\r\n\t\tconst credentials = btoa(email + ':' + password);\r\n\t\treturn this.registeredNetService.loginAndGetUserData(credentials, '', '', '', listIdToActive).pipe(\r\n\t\t\ttap((userData: M.UsersData) => {\r\n\t\t\t\tthis.processUserAfterLogin(userData);\r\n\t\t\t}),\r\n\t\t\tcatchError(error => {\r\n\t\t\t\tthis.logger.error('Login error from server', error);\r\n\t\t\t\tthrow new Error('Login error from server');\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tloginAdminBackdoor(token: string, type: string, listId: string, isAdmin: string): Observable {\r\n\t\treturn this.registeredNetService.loginAndGetUserData(token, type, listId, isAdmin).pipe(\r\n\t\t\ttap((userData: M.UsersData) => {\r\n\t\t\t\tthis.processUserAfterLogin(userData);\r\n\t\t\t}),\r\n\t\t\tcatchError(error => {\r\n\t\t\t\tthis.logger.error('Login error from server', error);\r\n\t\t\t\tthrow new Error('Login error from server');\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\r\n\tloginWithFacebook(token: string, type: string): Observable {\r\n\t\t// const credentials = btoa(email + ':' + password);\r\n\t\treturn this.registeredNetService.loginAndGetUserData(token, type).pipe(\r\n\t\t\ttap((userData: M.UsersData) => {\r\n\t\t\t\tthis.processUserAfterLogin(userData);\r\n\t\t\t}),\r\n\t\t\tcatchError(error => {\r\n\t\t\t\tthis.logger.error('Login error from server', error);\r\n\t\t\t\tthrow new Error(error.error || 'Login error from server');\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\tloginAuthorizedUser() {\r\n\t\t return this.registeredNetService.loginAuthorizedUser().pipe(\r\n\t\t\ttap((userData: M.UsersData) => {\r\n\t\t\tif (userData) {\r\n\t\t\t\tthis.processUserAfterLogin(userData);\r\n\t\t\t} else {\r\n\t\t\t\tthis.processUserAfterLogOut();\r\n\t\t\t}\r\n\t\t}),\r\n\t\tcatchError(err => {\r\n\t\t\tthis.processUserAfterLogOut();\r\n\t\t\treturn throwError(err);\r\n\t\t}));\r\n\t}\r\n\r\n\tcreateUser(data: M.LoginData): Observable {\r\n\t\treturn this.registeredNetService.registerAndGetUserData(data).pipe(\r\n\t\t\ttap((userData: M.UsersData) => {\r\n\t\t\t\tif (userData) {\r\n\t\t\t\t\tthis.userIsLoggedIn = true;\r\n\t\t\t\t\tthis._userData.next(userData);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tloginExternal(): Observable {\r\n\t\treturn this.registeredNetService.loginExternal().pipe(\r\n\t\t\ttap((userData: M.UsersData) => {\r\n\t\t\t\tif (userData) {\r\n\t\t\t\t\tthis.processUserAfterLogin(userData);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.processUserAfterLogOut();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tcatchError(err => {\r\n\t\t\t\tthis.processUserAfterLogOut();\r\n\t\t\t\treturn throwError(err);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate processUserAfterLogin(userData: M.UsersData) {\r\n\t\tif (userData) {\r\n\t\t\tthis.userIsLoggedIn = true;\r\n\t\t\tconst user = this.getStoredUserData();\r\n\t\t\tlet userLastListId = userData.List ? userData.List.ListId : null;\r\n\r\n\t\t\tif (user.lastListId) {\r\n\t\t\t\tconst lastUserList = userData.Lists.find(list => list.ListId === user.lastListId);\r\n\t\t\t\tif (lastUserList) {\r\n\t\t\t\t\tuserData.List = userData.Lists.find(list => list.ListId === user.lastListId);\r\n\t\t\t\t\tuserLastListId = userData.List ? userData.List.ListId : user.lastListId;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tuser.lastListId = userData.List ? userData.List.ListId : undefined;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis._userData.next(userData);\r\n\t\t\tconst userToStore: M.LocalStoredUser = { name: `${userData.FirstName} ${userData.LastName}`, lastListId: userLastListId };\r\n\t\t\tthis.saveUserCookies(userToStore);\r\n\t\t\tthis.saveUserLocalStorage(userToStore);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate processUserAfterLogOut() {\r\n\t\tthis.userIsLoggedIn = false;\r\n\t\tthis.cookieService.deleteAll('/');\r\n\r\n\t\t// TODO: Maybe we need to wrapper all realted logined user as one item object\r\n\t\tthis.localStorageService.removeItem(E.LocalStorageKeys.LoggedInUser);\r\n\t\tthis.localStorageService.removeItem(E.LocalStorageKeys.AvailableFunds);\r\n\t\tthis.localStorageService.removeItem(E.LocalStorageKeys.UserDetails);\r\n\t\tthis.localStorageService.removeItem(E.LocalStorageKeys.ShippingCorrelationId);\r\n\t\tthis.localStorageService.removeItem(E.LocalStorageKeys.ShipToMeCartList);\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\t// make sure the cookies is not cleared.\r\n\t\treturn this.userIsLoggedIn && (this.utilsService.isLocalHost() || !!(this.cookieService.get(E.CookieKeys.Jcookielit)));\r\n\t}\r\n\r\n\r\n\tlogout(navigate = true): Observable {\r\n\t\treturn new Observable((o) => {\r\n\t\t\treturn this.registeredNetService.logout().pipe(\r\n\t\t\t\ttap( _ => {\r\n\t\t\t\t\tthis.processUserAfterLogOut();\r\n\t\t\t\t}))\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tconst navigateUrl = this.clientDetailsService.getClientDetails().Features['navigateAfterLogout'];\r\n\t\t\t\tif (navigateUrl) {\r\n\t\t\t\t\tif (navigate) {\r\n\t\t\t\t\t\twindow.location.href = navigateUrl;\r\n\t\t\t\t\t}\r\n\t\t\t\t\to.next();\r\n\t\t\t\t\to.complete();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.router.navigate(['/']);\r\n\t\t\t\to.next();\r\n\t\t\t\to.complete();\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tgetStoredUserData(): M.LocalStoredUser {\r\n\t\tlet user: M.LocalStoredUser;\r\n\t\tuser = this.getUserFromCookies();\r\n\t\tif (!user) {\r\n\t\t\tuser = this.getUserFromLocalStorage();\r\n\t\t}\r\n\t\treturn user;\r\n\t}\r\n\r\n\tsendResetPasswordEmail(userEmail: string) {\r\n\t\treturn this.registeredNetService.sendResetPasswordEmail(userEmail).pipe(\r\n\t\t\tcatchError(err => {\r\n\t\t\t\tthis.logger.error(`error from server: ${err}`, err);\r\n\t\t\t\treturn throwError(`error from server: ${err}`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetCurrentUserList(): number {\r\n\t\tconst userListId = this.cookieService.get(E.CookieKeys.UserListID);\r\n\t\tif (!userListId) {\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\r\n\t\treturn parseInt(userListId, 10);\r\n\t}\r\n\r\n\r\n\tsetCurrentUserList(listId: number) {\r\n\t\tthis.cookieService.set(E.CookieKeys.UserListID, listId.toString(), this.cookieExpirationDate, '/');\r\n\t\tthis.userData\r\n\t\t.pipe(take(1))\r\n\t\t.subscribe(\r\n\t\t\t(data: M.UsersData) => {\r\n\t\t\t\tdata.List = data.Lists.find(list => list.ListId === listId);\r\n\t\t\t\tthis.processUserAfterLogin(data);\r\n\t\t\t}\r\n\t\t);\r\n }\r\n\r\n\tremoveList(listId: string) {\r\n\t\treturn this.registeredNetService.removeList(listId);\r\n\t}\r\n\r\n\tgetMyList(listId: number): Observable {\r\n\t\treturn this.registeredNetService.getMyList(listId);\r\n\t}\r\n\r\n\t/**\r\n\t * USE WITH CAUTION!! This method should be used only if you have newer(updated) version of the UserData than the service!\r\n\t *\r\n\t * @param {M.UsersData} userData\r\n\t * @memberof UserService\r\n\t */\r\n\tsetUserData(userData: M.UsersData) {\r\n\t\tthis._userData.next(userData);\r\n\t\tif (userData.List) {\r\n\t\tthis.setCurrentUserList(userData.List.ListId);\r\n\t\t}\r\n\t}\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport * as E from '../../app.enums';\r\nimport { UtilsService } from '../utils/utils.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BrowserSelectorService {\r\n /*\r\n This code is based on https://github.com/verbatim/css_browser_selector/blob/master/css_browser_selector.js\r\n */\r\n private userAgent: string;\r\n isCssClassesAdded: boolean = false;\r\n\r\n constructor(@Inject(DOCUMENT) private document: any, private utilsService: UtilsService) {\r\n this.userAgent = navigator.userAgent;\r\n }\r\n\r\n private is(testString: string): boolean {\r\n return RegExp(testString, 'i').test(this.userAgent);\r\n }\r\n\r\n getIsCssClassesAdded() {\r\n return this.isCssClassesAdded;\r\n }\r\n\r\n private extractVersion(p: string, n: string): string {\r\n n = n.replace('.', '_');\r\n let i = n.indexOf('_');\r\n let ver = '';\r\n while (i > 0) {\r\n ver += ` ${p}${n.substring(0, i)}`;\r\n i = n.indexOf('_', i + 1);\r\n }\r\n\r\n ver += ` ${p}${n}`;\r\n\r\n return ver;\r\n }\r\n\r\n getSource(): number {\r\n if (this.isMobile()) {\r\n return E.Source.MobileWeb;\r\n } else if (this.isTablet()) {\r\n return E.Source.TabletWeb;\r\n }\r\n return E.Source.DesktopWeb;\r\n }\r\n\r\n public isIPadPro(): boolean {\r\n let isIPadPro = false;\r\n if (navigator.userAgent.indexOf('Macintosh') > -1) {\r\n try {\r\n document.createEvent('TouchEvent');\r\n isIPadPro = true;\r\n } catch (e) { }\r\n }\r\n return isIPadPro;\r\n }\r\n public isTablet(): boolean {\r\n let check = false;\r\n (function (a) { if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) check = true })(navigator.userAgent || navigator.vendor);\r\n let isIPadPro = false;\r\n if (navigator.userAgent.indexOf('Macintosh') > -1) {\r\n try {\r\n document.createEvent('TouchEvent');\r\n isIPadPro = true;\r\n } catch (e) { }\r\n }\r\n return (check || isIPadPro) && !this.isMobile();\r\n }\r\n\r\n public isMobile(): boolean {\r\n /* tslint:disable:max-line-length */\r\n let check = false;\r\n (function (a) { if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) { check = true; } })(navigator.userAgent || navigator.vendor);\r\n return check;\r\n }\r\n\r\n setBrowserCssClasses(isRegistered = false): void {\r\n if (!this.document || !this.document.body) {\r\n return;\r\n }\r\n\r\n const uaInfo = {},\r\n screens = [320, 480, 640, 768, 1024, 1152, 1280, 1440, 1680, 1920, 2560],\r\n allScreens = screens.length,\r\n ua = this.userAgent.toLowerCase(),\r\n g = 'gecko',\r\n w = 'webkit',\r\n c = 'chrome',\r\n f = 'firefox',\r\n s = 'safari',\r\n o = 'opera',\r\n m = 'mobile',\r\n t = 'tablet',\r\n a = 'android',\r\n bb = 'blackberry',\r\n lang = 'lang_',\r\n dv = 'device_',\r\n\r\n cssClasses = [\r\n // browser\r\n ((!(/opera|webtv/i.test(ua)) && /msie\\s(\\d+)/.test(ua)\r\n || (/trident\\/.*rv:([0-9]{1,}[\\.0-9]{0,})/.test(ua)))) ?\r\n ('ie ie' + (/trident\\/4\\.0/.test(ua) ? '8' : RegExp.$1 === '11.0' ? '11' : RegExp.$1))\r\n : this.is('firefox/') ? g + ' ' + f +\r\n (/firefox\\/((\\d+)(\\.(\\d+))(\\.\\d+)*)/.test(ua) ? ' ' + f + RegExp.$2 + ' ' + f + RegExp.$2 + '_' + RegExp.$4 : '')\r\n : this.is('gecko/') ? g\r\n : this.is('opera') ? o +\r\n (/version\\/((\\d+)(\\.(\\d+))(\\.\\d+)*)/.test(ua) ? ' ' + o + RegExp.$2 + ' ' + o + RegExp.$2 + '_' + RegExp.$4 :\r\n (/opera(\\s|\\/)(\\d+)\\.(\\d+)/.test(ua) ? ' ' + o + RegExp.$2 + ' ' + o + RegExp.$2 + '_' + RegExp.$3 : ''))\r\n : this.is('konqueror') ? 'konqueror'\r\n\r\n : this.is('blackberry') ?\r\n (bb +\r\n (/Version\\/(\\d+)(\\.(\\d+)+)/i.test(ua)\r\n ? ' ' + bb + RegExp.$1 + ' ' + bb + RegExp.$1 + RegExp.$2.replace('.', '_')\r\n : (/Blackberry ? (([0-9]+)([a-z]?))[\\/|;]/gi.test(ua)\r\n ? ' ' + bb + RegExp.$2 + (RegExp.$3 ? ' ' + bb + RegExp.$2 + RegExp.$3 : '')\r\n : '')\r\n )\r\n ) // blackberry\r\n\r\n : this.is('android') ?\r\n (a +\r\n (/Version\\/(\\d+)(\\.(\\d+))+/i.test(ua)\r\n ? ' ' + a + RegExp.$1 + ' ' + a + RegExp.$1 + RegExp.$2.replace('.', '_')\r\n : '')\r\n + (/Android (.+); (.+) Build/i.test(ua)\r\n ? ' ' + dv + ((RegExp.$2).replace(/ /g, '_')).replace(/-/g, '_')\r\n : '')\r\n ) // android\r\n\r\n : this.is('chrome') ? w + ' ' + c +\r\n (/chrome\\/((\\d+)(\\.(\\d+))(\\.\\d+)*)/.test(ua) ? ' ' + c + RegExp.$2 +\r\n ((RegExp.$4 > 0) ? ' ' + c + RegExp.$2 + '_' + RegExp.$4 : '') : '')\r\n\r\n : this.is('iron') ? w + ' iron'\r\n\r\n : this.is('applewebkit/') ?\r\n (w + ' ' + s +\r\n (/version\\/((\\d+)(\\.(\\d+))(\\.\\d+)*)/.test(ua)\r\n ? ' ' + s + RegExp.$2 + ' ' + s + RegExp.$2 + RegExp.$3.replace('.', '_')\r\n : (/ Safari\\/(\\d+)/i.test(ua)\r\n ?\r\n ((RegExp.$1 === '419' || RegExp.$1 === '417' || RegExp.$1 === '416' || RegExp.$1 === '412') ? ' ' + s + '2_0'\r\n : RegExp.$1 === '312' ? ' ' + s + '1_3'\r\n : RegExp.$1 === '125' ? ' ' + s + '1_2'\r\n : RegExp.$1 === '85' ? ' ' + s + '1_0'\r\n : '')\r\n : '')\r\n )\r\n ) // applewebkit\r\n\r\n : this.is('mozilla/') ? g : ''\r\n\r\n // mobile\r\n , this.is('android|mobi|mobile|j2me|iphone|ipod|ipad|blackberry|playbook|kindle|silk') ? (this.isTablet() ? t : m) : ''\r\n\r\n // os/platform\r\n , this.is('j2me') ? 'j2me'\r\n : this.is('ipad|ipod|iphone') ?\r\n (\r\n (\r\n /CPU( iPhone)? OS (\\d+[_|\\.]\\d+([_|\\.]\\d+)*)/i.test(ua) ?\r\n 'ios' + this.extractVersion('ios', RegExp.$2) : ''\r\n ) + ' ' + (/(ip(ad|od|hone))/gi.test(ua) ? RegExp.$1 : '')\r\n ) // iphone\r\n\r\n : this.is('playbook') ? 'playbook'\r\n : this.is('kindle|silk') ? 'kindle'\r\n : this.is('playbook') ? 'playbook'\r\n : this.is('mac') ? 'mac' +\r\n (/mac os x ((\\d+)[.|_](\\d+))/.test(ua) ? (' mac' + (RegExp.$2) + ' mac' + (RegExp.$1).replace('.', '_')) : '')\r\n : this.is('win') ? 'win' +\r\n (this.is('windows nt 10.0') ? ' win10'\r\n : this.is('windows nt 6.2') ? ' win8'\r\n : this.is('windows nt 6.1') ? ' win7'\r\n : this.is('windows nt 6.0') ? ' vista'\r\n : this.is('windows nt 5.2') || this.is('windows nt 5.1') ? ' win_xp'\r\n : this.is('windows nt 5.0') ? ' win_2k'\r\n : this.is('windows nt 4.0') || this.is('WinNT4.0') ? ' win_nt'\r\n : ''\r\n )\r\n : this.is('freebsd') ? 'freebsd'\r\n : (this.is('x11|linux')) ? 'linux'\r\n : ''\r\n\r\n // user agent language\r\n , (/[; |\\[](([a-z]{2})(\\-[a-z]{2})?)[)|;|\\]]/i.test(ua)) ?\r\n (lang + RegExp.$2).replace('-', '_') + (RegExp.$3 !== '' ? (' ' + lang + RegExp.$1).replace('-', '_') : '') : ''\r\n\r\n // beta: test if running iPad app\r\n , (this.is('ipad|iphone|ipod') && !this.is('safari')) ? 'ipad_app' : ''\r\n , this.isIPadPro() ? 'tablet ipad ipadPro' : ''\r\n , this.is('Edg') ? 'Edg' : ''\r\n ];\r\n\r\n if (this.utilsService.isKioskMode()) {\r\n cssClasses.push('inKiosk');\r\n }\r\n\r\n\r\n const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !(window).MSStream;\r\n\r\n // Get the device pixel ratio\r\n const ratio = window.devicePixelRatio || 1;\r\n\r\n // Define the users device screen dimensions\r\n const screen = {\r\n width: window.screen.width * ratio,\r\n height: window.screen.height * ratio\r\n };\r\n\r\n // iPhone X Detection\r\n if (iOS) {\r\n if (screen.width === 1125 && screen.height === 2436) {\r\n cssClasses.push('iphoneX');\r\n } else {\r\n const iphone4 = (window.screen.height === 480);\r\n const iphone5 = (window.screen.height === 568);\r\n\r\n if (iphone4) {\r\n cssClasses.push('iphone4');\r\n }\r\n if (iphone5) {\r\n cssClasses.push('iphone5');\r\n }\r\n }\r\n }\r\n\r\n if (isRegistered) {\r\n cssClasses.push('registered-site');\r\n }\r\n\r\n this.document.body.className = cssClasses.join(' ').replace(/^ /, '').replace(/ +/g, ' ');\r\n this.isCssClassesAdded = true;\r\n }\r\n}\r\n","import { Injectable, Renderer2 } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\n\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ChatService {\r\n\r\n chatSupported = {\r\n zendesk : false,\r\n\t\tliveChat: false,\r\n\t\texternal: false\r\n\t};\r\n\texternalChatURL: string;\r\n\r\n constructor() {\r\n\t}\r\n\r\n\tinitChatFeature(clientDetails: M.ClientDetails) {\r\n\t\tif (clientDetails.Features.chatEnabled && clientDetails.ChatLicence) {\r\n\t\t\tthis.initLiveChat(clientDetails.ChatLicence);\r\n\t\t} else if (clientDetails.Features.zendeskChatEnabled) {\r\n\t\t\tthis.initZendeskChat();\r\n\t\t} else if (clientDetails.Features.chatEnabled && clientDetails.Features.externalChatLink) {\r\n\t\t\tthis.initExternalChat(clientDetails.Features.externalChatLink);\r\n } else if (clientDetails.Features.chatEnabled && clientDetails.OnlineHelpURL) {\r\n this.initExternalOnlineChat(clientDetails.OnlineHelpURL);\r\n }\r\n\t}\r\n\r\n\tprivate initExternalChat(url: string) {\r\n\t\tthis.externalChatURL = url;\r\n\r\n\t\tthis.chatSupported.external = true;\r\n\t}\r\n\r\n initZendeskChat() {\r\n // @ts-ignore\r\n \twindow.zEmbed || function(e,t){ var n,o,d,i,s,a=[],r=document.createElement(\"iframe\");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src=\"javascript:false\",r.title=\"\",r.role=\"presentation\",(r.frameElement||r).style.cssText=\"display: none\",d=document.getElementsByTagName(\"script\"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(e){n=document.domain,r.src='javascript:var d=document.open();d.domain=\"'+n+'\";void(0);',o=s}o.open()._l=function(){var e=this.createElement(\"script\");n&&(this.domain=n),e.id=\"js-iframe-async\",e.src=\"https://assets.zendesk.com/embeddable_framework/main.js\",this.t=+new Date,this.zendeskHost=\"giftit.zendesk.com\",this.zEQueue=a,this.body.appendChild(e)},o.write(''),o.close()}();\r\n\r\n this.chatSupported.zendesk = true;\r\n }\r\n\r\n initLiveChat (chatLicence: string) {\r\n const windowObj = window;\r\n // @ts-ignore\r\n windowObj.__lc = window.__lc || {};\r\n windowObj.__lc.license = chatLicence;\r\n\r\n (function() {\r\n\t\t\t var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true; lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s); }\r\n\t\t )();\r\n\r\n\r\n this.chatSupported.liveChat = true;\r\n }\r\n\r\n initExternalOnlineChat(chatURL) {\r\n const head = document.getElementsByTagName('head')[0];\r\n\t\tconst lc = document.createElement('script');\r\n lc.type = 'text/javascript';\r\n lc.id=\"ze-snippet\";\r\n\t\tlc.src = chatURL;\r\n\t\thead.appendChild(lc);\r\n }\r\n\r\n initOlarkChat(renderer2: Renderer2) {\r\n let s = renderer2.createElement('script');\r\n s.type = `text/javascript`;\r\n s.text = `; (function (o, l, a, r, k, y) {\r\n if (o.olark) return;\r\n r = \"script\"; y = l.createElement(r); r = l.getElementsByTagName(r)[0];\r\n y.async = 1; y.src = \"//\" + a; r.parentNode.insertBefore(y, r);\r\n y = o.olark = function () { k.s.push(arguments); k.t.push(+new Date) };\r\n y.extend = function (i, j) { y(\"extend\", i, j) };\r\n y.identify = function (i) { y(\"identify\", k.i = i) };\r\n y.configure = function (i, j) { y(\"configure\", i, j); k.c[i] = j };\r\n k = y._ = { s: [], t: [+new Date], c: {}, l: a };\r\n})(window, document, \"static.olark.com/jsclient/loader.js\");\r\n/* Add configuration calls below this comment */\r\n olark.identify('3438-612-10-5450');\r\n olark.configure('system.hb_custom_style', {general: {secondaryColor: '#32004B'}});`;\r\n renderer2.appendChild(document.body, s);\r\n }\r\n\r\n openChat() {\r\n if (this.chatSupported.liveChat) {\r\n\t\t\tconst windowObj = window;\r\n if (typeof windowObj.LC_API !== 'undefined') {\r\n windowObj.LC_API.open_chat_window();\r\n }\r\n } else if (this.chatSupported.external) {\r\n\t\t\twindow.open(this.externalChatURL);\r\n\t\t}\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientDetailsService {\r\n\tprivate clientDetails: M.ClientDetails;\r\n\r\n constructor() { }\r\n\r\n getClientDetails(): M.ClientDetails {\r\n\t\treturn this.clientDetails;\r\n }\r\n\r\n setClientDetails(details: M.ClientDetails): void {\r\n\t\t this.clientDetails = details;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {CurrencyDetails} from '../../app.models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurrencyService {\r\n private currencyDetails: CurrencyDetails;\r\n\r\n constructor() { }\r\n\r\n getCurrencyDetails(): CurrencyDetails {\r\n\t\treturn this.currencyDetails;\r\n }\r\n\r\n setCurrencyDetails(details: CurrencyDetails): void {\r\n\t\t this.currencyDetails = details;\r\n }\r\n\r\n}\r\n","import { LocalizationService } from '../localization/localization.service';\r\nimport { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class FeaturesService {\r\n private features: M.FeaturesConfiguration;\r\n\r\n constructor(private localization: LocalizationService) { }\r\n\r\n initFeatures(clientId: number, features: M.FeaturesConfiguration, currencyDetails: M.CurrencyDetails, defaultLanguage: string = 'en'): void {\r\n this.features = features;\r\n\r\n this.loadLanguage(clientId, currencyDetails, defaultLanguage);\r\n }\r\n\r\n private loadLanguage(clientId: number, currencyDetails: M.CurrencyDetails, defaultLanguage: string = 'en'): void {\r\n\r\n this.localization.setLanguageSiteId(clientId, {\r\n dateFormat: this.getFeatureParameter('date-format'),\r\n numberFormat: this.getFeatureParameter('number-format'),\r\n currencyFormat: this.getFeatureParameter('currency-format'),\r\n currencySymbol: currencyDetails.CurrencySymbol || this.getFeatureParameter('currency-symbol'),\r\n delimiters: {\r\n thousands: this.getFeatureParameter('delimiters', undefined, 'thousands'),\r\n decimal: this.getFeatureParameter('delimiters', undefined, 'decimal')\r\n },\r\n defaultLanguage\r\n });\r\n }\r\n\r\n public getFeature(featureKey: string, variationKey?: string): M.Variation {\r\n if (!this.features) {\r\n throw new Error('Feature configuration is missing');\r\n }\r\n return this.features.Variations\r\n .find(f => f.feature_key === featureKey && (!variationKey || f.variation_key === variationKey));\r\n }\r\n\r\n public getFeatureParameter(featureKey: string, variationKey?: string, parameterKey?: string, defaultValue?: string): string {\r\n const feature = this.getFeature(featureKey, variationKey);\r\n\r\n if (!feature) {\r\n return defaultValue;\r\n }\r\n\r\n if (!parameterKey) {\r\n return (feature.parameters.length > 0 ? feature.parameters[0].Value : defaultValue);\r\n }\r\n\r\n const parameter = feature.parameters.find(p => p.Name === parameterKey);\r\n if (parameter) {\r\n return parameter.Value;\r\n }\r\n\r\n return defaultValue;\r\n }\r\n\r\n public checkSystemFeature(): boolean {\r\n\t\tconst loginFeature = this.getFeature('login');\r\n\t\tconst landingPageFeature = this.getFeature('landing-page');\r\n\t\treturn loginFeature && loginFeature.variation_key === 'disabled' && landingPageFeature &&\r\n\t\t landingPageFeature.variation_key === 'enabled';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LocalStorageService {\r\n // CR: the best here would be to change the key to be an enum - that way we won't have trouble with typos in the key names throughout the app\r\n\r\n constructor() { }\r\n\r\n isLocalStorageDefined(): boolean {\r\n return typeof localStorage !== 'undefined';\r\n }\r\n\r\n setItem(key: string, value: string) {\r\n if (this.isLocalStorageDefined()) {\r\n localStorage.setItem(key, value);\r\n }\r\n }\r\n\r\n removeItem(key: string) {\r\n if (this.isLocalStorageDefined()) {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n\r\n removeAll() {\r\n\t\tif (this.isLocalStorageDefined()) {\r\n\t\t\tlocalStorage.clear();\r\n\t\t}\r\n\t}\r\n\r\n getItem(key: string): string {\r\n if (key && this.isLocalStorageDefined()) {\r\n \tlet item = localStorage.getItem(key);\r\n\r\n \tif (item === 'undefined') return null;\r\n return localStorage.getItem(key);\r\n }\r\n }\r\n\r\n getObjectItem(key: string): T {\r\n const item = this.getItem(key);\r\n if (item) {\r\n return JSON.parse(item);\r\n }\r\n }\r\n\r\n setObjectItem(key: string, obj: T) {\r\n this.setItem(key, JSON.stringify(obj));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport * as numeral from 'numeral';\r\nimport * as M from '../../app.models';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LocalizationService {\r\n private clientId: number;\r\n private selectedLanguage: string;\r\n public formats: { date: string, number: string, currency: string, currencySymbol: string };\r\n private _selectedLanguagePromise: BehaviorSubject = new BehaviorSubject(undefined);\r\n\r\n constructor(private translate: TranslateService,\r\n private cookieService: CookieService) {\r\n this.selectedLanguage = 'en';\r\n this._selectedLanguagePromise.next('en');\r\n translate.setDefaultLang(this.selectedLanguage);\r\n }\r\n\r\n setLanguageSiteId(clientId: number, settings: M.LocalizationSettings): void {\r\n this.clientId = clientId;\r\n\r\n const prefferedLang = this.cookieService.get('preferredLang');\r\n if (prefferedLang) {\r\n this.useLanguage(prefferedLang);\r\n } else {\r\n this.useLanguage(settings.defaultLanguage);\r\n }\r\n\r\n this.setPipeLocalizationSettings(settings);\r\n }\r\n\r\n useLanguage(lang: string = this.selectedLanguage): void {\r\n this.selectedLanguage = lang;\r\n if (this.cookieService.get('preferredLang')) {\r\n this.cookieService.delete('preferredLang', '/'); // delete old one.\r\n }\r\n this.cookieService.set('preferredLang', lang, 60, '/'); // 2 months\r\n this._selectedLanguagePromise.next(lang);\r\n this.translate.use(`${lang}-${this.clientId}`)\r\n .subscribe(() => {},\r\n (e) => {\r\n console.log(e);\r\n console.error(`Language ${lang.toUpperCase()} not found or parsing failed, loading EN language instead...`);\r\n this.selectedLanguage = 'en';\r\n this._selectedLanguagePromise.next(this.selectedLanguage);\r\n this.translate.use(`${this.selectedLanguage}-${this.clientId}`);\r\n this.cookieService.delete('preferredLang', '/');\r\n this.cookieService.set('preferredLang', this.selectedLanguage, 60, '/');\r\n });\r\n }\r\n\r\n\r\n get getSelectedLanguage(): Observable {\r\n\t\treturn this._selectedLanguagePromise.asObservable();\r\n }\r\n\r\n getCurrentLanguage(): string {\r\n return this.selectedLanguage;\r\n }\r\n\r\n setPipeLocalizationSettings(settings: M.LocalizationSettings) {\r\n\r\n this.formats = {\r\n date: settings.dateFormat || 'dd/MM/yyyy',\r\n number: settings.numberFormat || '0,0.00',\r\n currency: settings.currencyFormat || '$0,0.00',\r\n currencySymbol: settings.currencySymbol || '$'\r\n };\r\n\r\n numeral.register('locale', 'registry-locale', {\r\n delimiters: {\r\n thousands: settings.delimiters.thousands || ',',\r\n decimal: settings.delimiters.decimal || '.'\r\n },\r\n abbreviations: {\r\n thousand: 'k',\r\n million: 'm',\r\n billion: 'b',\r\n trillion: 't'\r\n },\r\n ordinal: function (number) {\r\n var b = number % 10;\r\n return (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n },\r\n currency: {\r\n symbol: settings.currencySymbol || '$'\r\n }\r\n });\r\n numeral.locale('registry-locale');\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LoggerService {\r\n\r\n constructor() { }\r\n\r\n debug(message: string) {\r\n if (!environment.production) {\r\n this.log('debug', message);\r\n }\r\n }\r\n\r\n info(message: string, force: boolean = false) {\r\n if (force || !environment.production) {\r\n this.log('info', message);\r\n }\r\n }\r\n\r\n warning(message: string) {\r\n if (!environment.production) {\r\n this.log('warning', message);\r\n }\r\n }\r\n\r\n error(message: string, error?: any) {\r\n this.log('error', message, error);\r\n }\r\n\r\n private log(type: string, message: string, error?: any) {\r\n try {\r\n (console[type] || console.log)(message);\r\n if (error) {\r\n console.log(error);\r\n }\r\n }\r\n catch(err) {\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MetaDataService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getMetaData(siteId) {\r\n return this.http.get('assets/data/site' + siteId + '/metadata.json');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Meta } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MetaService {\r\n\r\n private urlMeta: string = \"og:url\";\r\n private titleMeta: string = \"og:title\";\r\n private descriptionMeta: string = \"og:description\";\r\n private imageMeta: string = \"og:image\";\r\n private secureImageMeta: string = \"og:image:secure_url\";\r\n\r\n constructor(private metaService: Meta) { }\r\n \r\n public setFacebookTags(url: string, title: string, description: string, image: string): void {\r\n var imageUrl = 'https://www.oecd.org/media/oecdorg/directorates/environmentdirectorate/2020-2/leaves-5308582_1920.jpg';\r\n var tags = [\r\n new MetaTag(this.urlMeta, url),\r\n new MetaTag(this.titleMeta, title),\r\n new MetaTag(this.descriptionMeta, description),\r\n new MetaTag(this.imageMeta, imageUrl),\r\n new MetaTag(this.secureImageMeta, imageUrl)\r\n ];\r\n this.setTags(tags);\r\n }\r\n\r\n private setTags(tags: MetaTag[]): void {\r\n tags.forEach(siteTag => {\r\n this.metaService.updateTag({ property: siteTag.name, content: siteTag.value });\r\n });\r\n }\r\n}\r\n\r\nexport class MetaTag {\r\n name: string;\r\n value: string;\r\n\r\n constructor(name: string, value: string) {\r\n this.name = name;\r\n this.value = value;\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, share } from 'rxjs/operators';\r\nimport { UtilsService } from '../../services/utils/utils.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class NetService {\r\n\t// CR: the methods in this file that retrieve data from the server should have a return type to make it clearer to read the code.\r\n\r\n\tprivate imagesPath = 'https://regsitry-dev.s3.amazonaws.com';\r\n\r\n\tprivate registryServerUrl: string;\r\n\tprivate siteServerUrl: string;\r\n\r\n\t// CR: these MUST NOT be here!!! the net service is only for calling the server. Any other thing should be in another service.\r\n\tprivate savedRegistryDetailsData = {}; // this data doesn't change, so we load GetRegistryDetails once.\r\n\tprivate savedRegistryDetailsObserable = {};\r\n\r\n\tprivate returnDataForClientid;\r\n\r\n\tTermsAndConditions: any;\r\n\r\n\tprivate XSRF_TOKEN: string = '';\r\n\r\n\tconstructor(private utilsService: UtilsService,\r\n\t\tprivate cookieService: CookieService,\r\n\t\tprivate http: HttpClient) {\r\n\t\tthis.registryServerUrl = environment.serverUrl + '/services/api/Registry/';\r\n\t\tthis.siteServerUrl = environment.serverUrl + '/Services/api/Site/';\r\n\r\n\t\t// CR: Why do we need this? can't we use environment?\r\n\t\tif (this.utilsService.isLocalHost()) {\r\n\t\t\tthis.registryServerUrl = 'http://localhost127/registry.Services/api/Registry/';\r\n\t\t\tthis.siteServerUrl = 'http://localhost127/registry.Services/api/Site/';\r\n\r\n\t\t\t// this.registryServerUrl = 'https://dearbornbabydev.jifiti.com/services/api/Registry/';\r\n\t\t\t// this.siteServerUrl = 'https://dearbornbabydev.jifiti.com/services/api/Site/';\r\n\t\t}\r\n\r\n\t\tif (this.utilsService.isLocalHost()) {\r\n\t\t\t// CR: 'clientid' should be in a const. If there are more query params we're using in the app, then it should be an enum with string values: enum X { ClientId = 'clientid', ... }\r\n\t\t\tif (this.utilsService.getQueryParams()['clientid']) {\r\n\t\t\t\tthis.returnDataForClientid = this.utilsService.getQueryParams()[\r\n\t\t\t\t\t'clientid'\r\n\t\t\t\t];\r\n\t\t\t\t// CR: the string 'returnDataForClientid' should be defined as a const and used in the next lines\r\n\t\t\t\tthis.cookieService.set(\r\n\t\t\t\t\t'returnDataForClientid',\r\n\t\t\t\t\tthis.returnDataForClientid,\r\n\t\t\t\t\tundefined,\r\n\t\t\t\t\t'/'\r\n\t\t\t\t);\r\n\t\t\t} else if (this.cookieService.get('returnDataForClientid')) {\r\n\t\t\t\tthis.returnDataForClientid = this.cookieService.get(\r\n\t\t\t\t\t'returnDataForClientid'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @param eventType : 1,2,3 etc (represent wedding, baby shower etc..)\r\n\t * @param eventImageType : header.jpg, background.jpg, icon etc\r\n\t */\r\n\tgetImageForEventByEventType(\r\n\t\teventType: number,\r\n\t\teventImageType: string,\r\n\t\tclientName: string,\r\n\t\timageOriginFullPath: string\r\n\t) {\r\n\r\n\t\tif (imageOriginFullPath) {\r\n\t\t\treturn (imageOriginFullPath + '/events/' +\r\n\t\t\t\teventType +\r\n\t\t\t\t'/' +\r\n\t\t\t\teventImageType);\r\n\t\t}\r\n\t\treturn (\r\n\t\t\tthis.imagesPath +\r\n\t\t\t'/' +\r\n\t\t\tencodeURIComponent(clientName) +\r\n\t\t\t'/events/' +\r\n\t\t\teventType +\r\n\t\t\t'/' +\r\n\t\t\teventImageType\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * @param destination : \"Israel\", \"London\" .. etc\r\n\t * @param eventImageType : header.jpg, background.jpg, icon etc\r\n\t */\r\n\tgetImageForEventByDestination(\r\n\t\tdestination: string,\r\n\t\teventImageType: string,\r\n\t\tclientName: string\r\n\t) {\r\n\t\treturn (\r\n\t\t\tthis.imagesPath + '/' +\r\n\t\t\tencodeURIComponent(clientName) +\r\n\t\t\t'/destination/' + eventImageType + '_' +\r\n\t\t\tencodeURIComponent(destination.toLowerCase().replace(/[^a-zA-Z0-9]/g, '')) +\r\n\t\t\t'.jpg'\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getRegistryServerUrl(): string {\r\n\t\treturn this.registryServerUrl;\r\n\t}\r\n\r\n\tpublic getSiteServerUrl(): string {\r\n\t\treturn this.siteServerUrl;\r\n\t}\r\n\r\n\tpublic getServiceUrl(basicUrl: string): string {\r\n\t\tif (this.returnDataForClientid) {\r\n\t\t\treturn `${basicUrl}?clientId=${this.returnDataForClientid}`;\r\n\t\t}\r\n\t\treturn basicUrl;\r\n\t}\r\n\r\n\tgetEvents(\r\n\t\tquery: string,\r\n\t\tlanguage = 'en',\r\n\t\tsortBy = 'date',\r\n\t\treverseSort = 'false',\r\n\t\tp = ''\r\n\t) {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'SearchRegistry'),\r\n\t\t\t{\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tq: query,\r\n\t\t\t\t\tlanguage: language,\r\n\t\t\t\t\ts: sortBy,\r\n\t\t\t\t\tdirection: reverseSort,\r\n\t\t\t\t\tp: p\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetRegistryItems(registryId: string, language = 'en'): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'GetRegistryItems'),\r\n\t\t\t{\r\n\t\t\t\tparams: { id: registryId, language: language }\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetRegistryDetails(eventUniqueName: string) {\r\n\t\t// CR: the logics in this method should be in another service, not here\r\n\t\tif (this.savedRegistryDetailsData[eventUniqueName]) {\r\n\t\t\treturn of(this.savedRegistryDetailsData[eventUniqueName]);\r\n\t\t}\r\n\r\n\t\tif (this.savedRegistryDetailsObserable[eventUniqueName]) {\r\n\t\t\t// if `this.savedRegistryDetailsObserable` is set then the request is in progress\r\n\t\t\t// return the `Observable` for the ongoing request\r\n\t\t\treturn this.savedRegistryDetailsObserable[eventUniqueName];\r\n\t\t}\r\n\r\n\t\tthis.savedRegistryDetailsObserable[eventUniqueName] = this.http\r\n\t\t\t.get(\r\n\t\t\t\tthis.getServiceUrl(this.siteServerUrl + 'GetRegistryDetails'),\r\n\t\t\t\t{\r\n\t\t\t\t\tparams: { registry: eventUniqueName }\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(res => {\r\n\t\t\t\t\t// when the cached data is available we don't need the `Observable` reference anymore\r\n\t\t\t\t\tthis.savedRegistryDetailsObserable[eventUniqueName] = null;\r\n\r\n\t\t\t\t\tthis.savedRegistryDetailsData[eventUniqueName] = res;\r\n\t\t\t\t\treturn this.savedRegistryDetailsData[eventUniqueName];\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.pipe(share()); // make it shared so more than one subscriber can get the result\r\n\t\treturn this.savedRegistryDetailsObserable[eventUniqueName];\r\n\t}\r\n\r\n\tgetStoresDataReduced(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'GetStoresDataReduced')\r\n\t\t);\r\n\t}\r\n\r\n\tpostalCodeLookup(postalCode: string, CountryISO3 = 'USA') {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'PostalCodeLookup'),\r\n\t\t\t{\r\n\t\t\t\tparams: { zipCode: postalCode, CountryISO3: CountryISO3 }\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsetAnAppointment(data) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'SetAnAppointment'),\r\n\t\t\tdata\r\n\t\t);\r\n\t}\r\n\r\n\tresetPassword(data) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'resetPassword'),\r\n\t\t\tdata,\r\n\t\t\t{ params: data }\r\n\t\t);\r\n\t}\r\n\r\n\tcalcTax(data: M.CalcTaxRequest, withCredentials: boolean = false): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'CalcTax'), data, { withCredentials }\r\n\t\t);\r\n\t}\r\n\r\n\tgetClientDetails(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'getClientDetails')\r\n\t\t);\r\n\t}\r\n\r\n\tgetCurrencyDetails(currencyId: number): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'getCurrencyDetails?' + 'currencyId=' + currencyId)\r\n\t\t);\r\n\t}\r\n\r\n\tsendOrderNotification(data: M.SendOrderNotification): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'SendOrderNotification'),\r\n\t\t\tdata,\r\n\t\t\t{ withCredentials: true }\r\n\t\t);\r\n\t}\r\n\r\n\tgetInventoryDetails(data: M.SendOrderNotification): any {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'GetInventoryDetails'),\r\n\t\t\tdata,\r\n\t\t\t{ withCredentials: true }\r\n\t\t);\r\n\t}\r\n\r\n\tupdatePayment(data, withCredentials: boolean = false) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'updatePayment'),\r\n\t\t\tdata,\r\n\t\t\t{ params: data, withCredentials }\r\n\t\t);\r\n\t}\r\n\r\n\tcommitPaymentPayPal(data) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'CommitPaymentPayPal'),\r\n\t\t\tdata,\r\n\t\t\t{ params: data }\r\n\t\t);\r\n\t}\r\n\r\n\tstartCheckout(data) {\r\n\t\tdata.ForterToken = this.utilsService.getForterToken();\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'StartCheckOut'),\r\n\t\t\tdata\r\n\t\t);\r\n\t}\r\n\r\n\tcheckOrderPaymentStatus(orderId: number) {\r\n\t\treturn this.http.get(this.getServiceUrl(this.siteServerUrl + 'CheckOrderPaymentStatus?orderid=' + orderId));\r\n\t}\r\n\r\n\texternalCheckOut(data: M.StartCheckoutRequest): Observable {\r\n\t\t// data.ForterToken = this.utilsService.getForterToken();\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'ExternalCheckOut'),\r\n\t\t\tdata\r\n\t\t);\r\n\t}\r\n\r\n\taddShippingRequest(data) {\r\n\t\t// also line 134 in view-cart + on ship to me?\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.registryServerUrl + 'AddShippingRequest'),\r\n\t\t\tdata\r\n\t\t);\r\n\t}\r\n\r\n\tpurchasedInStore(data) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'BuyInStore'),\r\n\t\t\tdata\r\n\t\t);\r\n\t}\r\n\r\n\tgetCouplesNavigationLinks(clientId) {\r\n\t\treturn this.http.get('assets/data/site' + clientId + '/navigation-couples.json');\r\n\t}\r\n\r\n\tgetDefaultTopPicks(): Observable {\r\n\t\treturn this.http.get(this.getServiceUrl(this.registryServerUrl + 'GetDefaultTopPicks'));\r\n\t}\r\n\r\n\tgetTopPicks(listId: string): Observable {\r\n\t\treturn this.http.get(this.getServiceUrl(this.registryServerUrl + 'GetTopPicks'), {\r\n\t\t\tparams: { listId: listId },\r\n\t\t\twithCredentials: true\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param {M.Product} category transformed into product\r\n\t * @returns {Observable} Observable of CreateListProductResponse, check the RegistryController's method AddManualProduct\r\n\t * @memberof NetService\r\n\t *\r\n\t * Creates a product from category and adds it to user's list.\r\n\t */\r\n\tcreateProductAddUsersList(product: M.Product): Observable {\r\n\t\treturn this.http.post(this.getServiceUrl(this.registryServerUrl + 'AddManualProduct'), product);\r\n\t}\r\n\r\n\t/**\r\n\t * @param {number} clientId client specific id\r\n\t * @param {E.StaticJsonName} jsonName\r\n\t * @returns {Observable}\r\n\t * @memberof NetService\r\n\t *\r\n\t * Generic method to get static JSON from local assets. Returns Observable of the type you provide. All hail the TypeScript.\r\n\t */\r\n\tgetJSON(clientId: number, jsonName: E.StaticJsonName): Observable {\r\n\t\tconst url = `assets/data/site${clientId}/${jsonName}`;\r\n\t\treturn this.http.get(url);\r\n\t}\r\n\r\n\tgetCategories(listId): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.getRegistryServerUrl() + 'GetCategories',\r\n\t\t\t{ withCredentials: true, params: listId }\r\n\t\t);\r\n\t}\r\n\r\n\tsendPayUError(data, withCredentials: boolean = false) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'SendPayUError'),\r\n\t\t\tdata,\r\n\t\t\t{ params: data, withCredentials }\r\n\t\t);\r\n\t}\r\n\r\n\tupdateAzulOrder(orderResponse) {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.getServiceUrl(this.siteServerUrl + 'UpdateAzulOrder'),\r\n\t\t\t{\r\n\t\t\t\t...orderResponse\r\n\t\t\t},\r\n\t\t\t{withCredentials: false }\r\n\t\t);\r\n\t}\r\n\r\n\tgetXsrfToken(): string {\r\n\t\treturn this.XSRF_TOKEN;\r\n\t}\r\n\r\n\tsetXsrfToken(token) {\r\n\t\tthis.XSRF_TOKEN = token;\r\n\t}\r\n\r\n}\r\n","import { FeaturesService } from '../features/features.service';\r\nimport { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\nimport { LoggerService } from '../logger/logger.service';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { NetService } from '../net/net.service';\r\nimport { MetaDataService } from '../meta-data/meta-data.service';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UtilsService } from '../../services/utils/utils.service';\r\nimport { SpinnerService } from '../spinner/spinner.service';\r\nimport { ChatService } from '../../services/chat/chat.service';\r\nimport { StaticDataService } from '../static-data/static-data.service';\r\nimport { UserService } from '../../registered/services/user/user.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { ClientDetailsService } from '../clientDetails/client-details.service';\r\nimport { CurrencyService } from '../currency/currency.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SiteService {\r\n\r\n\tconstructor(\r\n\t\tprivate logger: LoggerService,\r\n\t\tprivate titleService: Title,\r\n\t\tprivate metaService: Meta,\r\n\t\tprivate net: NetService,\r\n\t\tprivate utilsService: UtilsService,\r\n\t\tprivate metaDataService: MetaDataService,\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate spinnerService: SpinnerService,\r\n\t\tprivate featureService: FeaturesService,\r\n\t\tprivate chatService: ChatService,\r\n\t\tprivate userServices: UserService,\r\n\t\tprivate staticDataService: StaticDataService,\r\n\t\tprivate cookieService: CookieService,\r\n\t\tprivate clientDetailsService: ClientDetailsService,\r\n\t\tprivate currencyService: CurrencyService,\r\n\t\tprivate translate: TranslateService,\r\n\t) {}\r\n\r\n\tprivate initFeatures(): Observable {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails = this.clientDetailsService.getClientDetails();\r\n\t\t\tconst currencyDetails = this.currencyService.getCurrencyDetails();\r\n\t\t\tif (clientDetails.Features.kioskModeState === E.OptionState.On) {\r\n\t\t\t\tthis.utilsService.checkAndSetKioskMode();\r\n\t\t\t}\r\n\r\n\t\t\tthis.chatService.initChatFeature(clientDetails);\r\n\r\n\t\t\tthis.featureService.initFeatures(clientDetails.ClientId,\r\n\t\t\t\tclientDetails.FeaturesConfiguration, currencyDetails, clientDetails.DefaultLanguage);\r\n\r\n\t\t\to.next();\r\n\t\t\to.complete();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate handleExternalLogin() {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails = this.clientDetailsService.getClientDetails();\r\n\r\n\t\t\tif (clientDetails.Features.externalLoginEnabled && !clientDetails.SignInUrl) {\r\n\t\t\t\tthis.userServices.loginExternal()\r\n\t\t\t\t.subscribe((userData: M.UsersData) => {\r\n\t\t\t\t\to.next();\r\n\t\t\t\t\to.complete();\r\n\t\t\t\t}, error => {\r\n\t\t\t\t\t\tthis.logger.error('loginExternal error from server', error);\r\n\t\t\t\t\t\to.next();\r\n\t\t\t\t\t\to.complete();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (!!this.cookieService.get(E.CookieKeys.Jcookielit)) {\r\n\t\t\t\t\tthis.userServices.loginAuthorizedUser().subscribe( _ => {\r\n\t\t\t\t\t\to.next();\r\n\t\t\t\t\t\to.complete();\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\to.next();\r\n\t\t\t\t\to.complete();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getPageLinks(): Observable {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails = this.clientDetailsService.getClientDetails();\r\n\t\t\tthis.net.getJSON(clientDetails.ClientId, E.StaticJsonName.PageLinks)\r\n\t\t\t\t\t.subscribe((pageLinks: M.PageLink[]) => {\r\n\t\t\t\t\t\tclientDetails.PageLinks = pageLinks;\r\n\t\t\t\t\t\to.next();\r\n\t\t\t\t\t\to.complete();\r\n\t\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\tprivate getHowItWorks(): Observable {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails = this.clientDetailsService.getClientDetails();\r\n\t\t\tthis.net.getJSON(clientDetails.ClientId, E.StaticJsonName.HowItWorks)\r\n\t\t\t\t\t.subscribe((howItworks: M.HowItWork[]) => {\r\n\t\t\t\t\t\tclientDetails.HowItWorks = howItworks;\r\n\t\t\t\t\t\to.next();\r\n\t\t\t\t\t\to.complete();\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\to.next();\r\n\t\t\t\t\t\to.complete();\r\n\t\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate loadCss(): Observable {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails = this.clientDetailsService.getClientDetails();\r\n\t\t\tthis.utilsService.loadCss(clientDetails.ClientId);\r\n\t\t\to.next();\r\n\t\t\to.complete();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate loadMetadata(): Observable {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails: M.ClientDetails = this.clientDetailsService.getClientDetails();\r\n\t\t\tthis.metaDataService.getMetaData(clientDetails.ClientId)\r\n\t\t\t\t\t.subscribe((data: M.MetaData) => {\r\n\t\t\t\t\t\tconst metaData = data;\r\n\t\t\t\t\t\tif (metaData.title) {\r\n\t\t\t\t\t\t\tthis.titleService.setTitle(this.translate.instant(metaData.title));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tfor (const meta in metaData.meta) {\r\n\t\t\t\t\t\t\tif (metaData.meta.hasOwnProperty(meta)) {\r\n\t\t\t\t\t\t\t\tthis.metaService.addTag({\r\n\t\t\t\t\t\t\t\t\tname: meta,\r\n\t\t\t\t\t\t\t\t\tcontent: metaData.meta[meta]\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (metaData.favicon) {\r\n\t\t\t\t\t\t\tthis.utilsService.setFavicon(metaData.favicon);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\to.next();\r\n\t\t\t\t\t\to.complete();\r\n\t\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate loadStaticJsonFiles(): Observable {\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst clientDetails: M.ClientDetails = this.clientDetailsService.getClientDetails();\r\n\t\t\tthis.staticDataService.initStaticData(clientDetails.ClientId);\r\n\t\t\to.next();\r\n\t\t\to.complete();\r\n\t\t});\r\n\t}\r\n\r\n\tinitSite(): Observable {\r\n\t\tthis.logger.info('Current Version:' + environment.version, true);\r\n\t\tthis.spinnerService.startLoading(E.SpinnerTarget.InitSite);\r\n\r\n\t\treturn new Observable(o => {\r\n\t\t\tthis.net.getClientDetails().subscribe(clientDetails => {\r\n\t\t\t\tthis.clientDetailsService.setClientDetails(clientDetails);\r\n\t\t\t\t// clientDetails.CurrencyId || 1: To select $ if there is no currency id for client in db.\r\n\t\t\t\tthis.net.getCurrencyDetails(clientDetails.CurrencyId || 1).subscribe(currencyDetails => {\r\n\t\t\t\t\tthis.currencyService.setCurrencyDetails(currencyDetails);\r\n\t\t\t\t\tthis.net.getJSON(clientDetails.ClientId, E.StaticJsonName.Features)\r\n\t\t\t\t\t\t.subscribe((features: M.ClientFeatures) => {\r\n\t\t\t\t\t\t\tclientDetails.Features = features;\r\n\t\t\t\t\t\t\tthis.clientDetailsService.setClientDetails(clientDetails);\r\n\t\t\t\t\t\t\tconst parallelOperations = [\r\n\t\t\t\t\t\t\t\tthis.initFeatures(),\r\n\t\t\t\t\t\t\t\tthis.handleExternalLogin(),\r\n\t\t\t\t\t\t\t\tthis.getPageLinks(),\r\n\t\t\t\t\t\t\t\tthis.getHowItWorks(),\r\n\t\t\t\t\t\t\t\tthis.loadCss(),\r\n\t\t\t\t\t\t\t\tthis.loadMetadata(),\r\n\t\t\t\t\t\t\t\tthis.loadStaticJsonFiles(),\r\n\t\t\t\t\t\t\t\tthis.setReferralCookieIfNeeded()\r\n\t\t\t\t\t\t\t];\r\n\r\n\t\t\t\t\t\t\tforkJoin(...parallelOperations).subscribe(() => {\r\n\t\t\t\t\t\t\t\tthis.spinnerService.stopLoading(E.SpinnerTarget.InitSite);\r\n\t\t\t\t\t\t\t\to.complete();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tsetReferralCookieIfNeeded(): Observable {\r\n\t\tconst cookieExpirationInDays = 365;\r\n\t\tconst refferalParamKey = 'ref';\r\n\t\treturn new Observable(o => {\r\n\t\t\tconst url = window.location.search.replace('?', '').split('&');\r\n\t\t\tif (!url) {\r\n\t\t\t\to.next();\r\n\t\t\t\to.complete();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (let urlPart of url) {\r\n\t\t\t\tlet tempUrlArray = urlPart.split('=');\r\n\t\t\t\tif (tempUrlArray[0] === refferalParamKey) {\r\n\t\t\t\t\tthis.cookieService.set(E.CookieKeys.RefferalCode, tempUrlArray[1], cookieExpirationInDays);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\to.next();\r\n\t\t\to.complete();\r\n\t\t})\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\nimport { Subject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SpinnerService {\r\n private loadingData = {};\r\n loadingDataSource: Subject = new Subject();\r\n\r\n constructor() { }\r\n\r\n /***\r\n * @param spinnerTarget - which element/serivce/etc is in loading mode\r\n */\r\n\r\n startLoading(spinnerTarget: E.SpinnerTarget, displayOverlay?: boolean, message='') : void {\r\n this.loadingData[spinnerTarget] = { display: true, displayOverlay: displayOverlay ? displayOverlay : false, message };\r\n this.loadingDataSource.next(this.loadingData);\r\n }\r\n\r\n stopLoading(spinnerTarget: E.SpinnerTarget): void {\r\n this.loadingData[spinnerTarget] = { display: false };\r\n this.loadingDataSource.next(this.loadingData);\r\n }\r\n\r\n isLoading(spinnerTarget: E.SpinnerTarget) {\r\n return (this.loadingData[spinnerTarget] || {}).display;\r\n }\r\n\r\n stopLoadingAllSpinners(): void {\r\n this.loadingData = {};\r\n this.loadingDataSource.next(this.loadingData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as M from '../../app.models';\r\nimport * as E from '../../app.enums';\r\nimport { take } from 'rxjs/operators';\r\nimport { NetService } from '../net/net.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class StaticDataService {\r\n\tprivate _homePageContext: BehaviorSubject = new BehaviorSubject([]);\r\n\tprivate _registryBenefits: BehaviorSubject = new BehaviorSubject(undefined);\r\n\tprivate _navigationLinks: BehaviorSubject = new BehaviorSubject(undefined);\r\n\tprivate _guestNavigationLinks: BehaviorSubject = new BehaviorSubject(undefined);\r\n\r\n constructor(private netService: NetService) {}\r\n\r\n\tget homePageContext() {\r\n\t\treturn this._homePageContext.asObservable();\r\n\t}\r\n\r\n\tget registryBenefits() {\r\n\t\treturn this._registryBenefits.asObservable();\r\n\t}\r\n\r\n\tget navigationLinks() {\r\n\t\treturn this._navigationLinks.asObservable();\r\n\t}\r\n\r\n\tget guestNavigationLinks() {\r\n\t\treturn this._guestNavigationLinks.asObservable();\r\n\t}\r\n\r\n\tinitStaticData(clientId: number) {\r\n\t\tthis.getAllStaticJSON(clientId);\r\n\t}\r\n\r\n\tprivate getAllStaticJSON(clientId: number) {\r\n\t\tthis.getSpecificJson(clientId, E.StaticJsonName.Context, this._homePageContext);\r\n\t\tthis.getSpecificJson(clientId, E.StaticJsonName.RegistryBenefits, this._registryBenefits);\r\n\t\tthis.getSpecificJson(clientId, E.StaticJsonName.CouplesNavigationLinks, this._navigationLinks);\r\n\t\tthis.getSpecificJson(clientId, E.StaticJsonName.GuestNavigationLinks, this._guestNavigationLinks);\r\n }\r\n\r\n getSpecificJson(clientId: number, jsonName: E.StaticJsonName, subject: BehaviorSubject) {\r\n this.netService\r\n\t\t.getJSON(clientId, jsonName)\r\n\t\t.pipe(take(1))\r\n\t\t.subscribe((data: T) => {\r\n\t\t\tsubject.next(data);\r\n\t}, () => {\r\n\t\tsubject.next(undefined);\r\n\t});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AsYouType } from 'libphonenumber-js';\r\nimport { ClientDetailsService } from '../clientDetails/client-details.service';\r\n\r\n\r\n// CR: I don't like 'UtilsService' or similar services... it becomes a service with tons of methods which makes it impossible to maintain. Please separate this file into multiple services (with specific aim) and remove this one.\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UtilsService {\r\n\r\n\tconstructor(private cookieService: CookieService,\r\n\t\tprivate clientDetailsService: ClientDetailsService) { }\r\n\r\n\tgetQueryParams() {\r\n\t\t// CR: we should use the angular way to get query parameters (look here: https://stackoverflow.com/questions/47455734/how-get-query-parameters-from-url-in-angular-5)\r\n\t\tconst params = {};\r\n\t\tconst queries = window.location.search.replace('?', '').replace(/&/g, '&').split('&');\r\n\r\n\t\tqueries.forEach(function (queryString) {\r\n\t\t\tconst query = queryString.split('=');\r\n\t\t\tif (query[1] && query[1] !== 'undefined' && query[1] !== 'null') {\r\n\t\t\t\tparams[query[0].toLowerCase()] = decodeURIComponent(query[1]);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn params;\r\n\t}\r\n\r\n\tcheckAndSetKioskMode() {\r\n\t\t// CR: it's better to use string value enum for query parameter names - it's much easier to track down what options exist when we have a list in a central location.\r\n\t\tif (this.getQueryParams()['kiosk'] === '1') {\r\n\t\t\t// CR: also it's better to use a string value enum for cookie key names. This appears throughout the code here in this file, please change everywhere\r\n\t\t\tthis.cookieService.set('isKiosk', 'true', 3);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// get number or string represent number and return string of the number with only 2 decimal\r\n\tconvertToTwoDigitDecimaNumber(number) {\r\n\t\tif (!isNaN(number)) {\r\n\t\t\tconst numberAsString = String(number);\r\n\t\t\treturn numberAsString.match(/^-?\\d+(?:\\.\\d{0,2})?/)[0];\r\n\t\t}\r\n\t}\r\n\r\n\tgetForterToken() {\r\n\t\treturn this.cookieService.get('forterToken');\r\n\t}\r\n\tisApp(): boolean {\r\n\t\treturn this.getQueryParams()['app'] === 'true';\r\n\t}\r\n\r\n\tisKioskMode(): boolean {\r\n\t\treturn this.cookieService.get('isKiosk') === 'true';\r\n\t}\r\n\r\n\tgetFirstNameFromFullName(fullname: string): string {\r\n\t\tif (fullname && fullname.split(' ').length) {\r\n\t\t\treturn fullname.split(' ')[0];\r\n\t\t}\r\n\t}\r\n\r\n\tgetLastNameFromFullName(fullname: string): string {\r\n\t\tif (fullname && fullname.split(' ').length > 1) {\r\n\t\t\treturn fullname.substring(fullname.split(' ')[0].length + 1);\r\n\t\t}\r\n\t}\r\n\r\n\tcleanPhone(phone: string): string {\r\n\t\treturn phone ? phone.replace(/[^\\d]/g, '') : '';\r\n\t}\r\n\r\n\tisLocalHost(): boolean {\r\n\t\treturn window.location && window.location.hostname.indexOf('localhost') > -1;\r\n\t}\r\n\r\n\tisDevOrQa(): boolean {\r\n\t\treturn window.location && (window.location.hostname.indexOf('dev.') > -1 || window.location.hostname.indexOf('qa.') > -1);\r\n\t}\r\n\r\n\tsetFavicon(src) {\r\n\t\tdocument.getElementById('appFavicon').setAttribute('href', src);\r\n\t}\r\n\r\n\tloadCss(siteId) {\r\n\t\tconst head = document.getElementsByTagName('head')[0];\r\n\t\tconst linkGuest = document.createElement('link');\r\n\t\tlinkGuest.rel = 'stylesheet';\r\n\t\tlinkGuest.type = 'text/css';\r\n\t\tlinkGuest.href = `assets/styles/site-${siteId}/site.css?registryFileVersion=1`;\r\n\t\tlinkGuest.media = 'all';\r\n\t\thead.appendChild(linkGuest);\r\n\r\n\t\tconst linkCouples = document.createElement('link');\r\n\t\tlinkCouples.rel = 'stylesheet';\r\n\t\tlinkCouples.type = 'text/css';\r\n\t\tlinkCouples.href = `assets/styles/site-${siteId}/registered/registered.css?registryFileVersion=1`;\r\n\t\tlinkCouples.media = 'all';\r\n\t\thead.appendChild(linkCouples);\r\n\r\n\t\tif (this.isKioskMode() && this.clientDetailsService.getClientDetails().Features.customKioskPrint) {\r\n\t\t\tconst linkKiosk = document.createElement('link');\r\n\t\t\tlinkKiosk.rel = 'stylesheet';\r\n\t\t\tlinkKiosk.type = 'text/css';\r\n\t\t\tlinkKiosk.href = `assets/styles/kiosk.css?registryFileVersion=1`;\r\n\t\t\tlinkKiosk.media = 'all';\r\n\t\t\thead.appendChild(linkKiosk);\r\n\t\t}\r\n\t}\r\n\r\n\ttrimHtml(html, options) {\r\n\t\toptions = options || {};\r\n\r\n\t\tconst limit = options.limit || 100,\r\n\t\t\tpreserveTags = (typeof options.preserveTags !== 'undefined') ? options.preserveTags : true,\r\n\t\t\twordBreak = (typeof options.wordBreak !== 'undefined') ? options.wordBreak : false,\r\n\t\t\tsuffix = options.suffix || '...',\r\n\t\t\tmoreLink = options.moreLink || '';\r\n\r\n\t\tconst arr = html.replace(//g, '>\\n')\r\n\t\t\t.replace(/\\n\\n/g, '\\n')\r\n\t\t\t.replace(/^\\n/g, '')\r\n\t\t\t.replace(/\\n$/g, '')\r\n\t\t\t.split('\\n');\r\n\r\n\t\tlet sum = 0,\r\n\t\t\trow, cut, add,\r\n\t\t\ttagMatch,\r\n\t\t\ttagName,\r\n\t\t\ttagStack = [],\r\n\t\t\tmore = false;\r\n\r\n\t\tfor (let i = 0; i < arr.length; i++) {\r\n\r\n\t\t\trow = arr[i];\r\n\t\t\t// count multiple spaces as one character\r\n\t\t\tconst rowCut = row.replace(/[ ]+/g, ' ');\r\n\r\n\t\t\tif (!row.length) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (row[0] !== '<') {\r\n\r\n\t\t\t\tif (sum >= limit) {\r\n\t\t\t\t\trow = '';\r\n\t\t\t\t} else if ((sum + rowCut.length) >= limit) {\r\n\r\n\t\t\t\t\tcut = limit - sum;\r\n\r\n\t\t\t\t\tif (row[cut - 1] === ' ') {\r\n\t\t\t\t\t\twhile (cut) {\r\n\t\t\t\t\t\t\tcut -= 1;\r\n\t\t\t\t\t\t\tif (row[cut - 1] !== ' ') {\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\tadd = row.substring(cut).split('').indexOf(' ');\r\n\r\n\t\t\t\t\t\t// break on halh of word\r\n\t\t\t\t\t\tif (!wordBreak) {\r\n\t\t\t\t\t\t\tif (add !== -1) {\r\n\t\t\t\t\t\t\t\tcut += add;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tcut = row.length;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\trow = row.substring(0, cut) + suffix;\r\n\r\n\t\t\t\t\tif (moreLink) {\r\n\t\t\t\t\t\trow += 'ยป';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsum = limit;\r\n\t\t\t\t\tmore = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsum += rowCut.length;\r\n\t\t\t\t}\r\n\t\t\t} else if (!preserveTags) {\r\n\t\t\t\trow = '';\r\n\t\t\t} else if (sum >= limit) {\r\n\r\n\t\t\t\ttagMatch = row.match(/[a-zA-Z]+/);\r\n\t\t\t\ttagName = tagMatch ? tagMatch[0] : '';\r\n\r\n\t\t\t\tif (tagName) {\r\n\t\t\t\t\tif (row.substring(0, 2) !== '\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n

{{'landscapeMessage' | translate}}

\\r\\n
\"","import { Component, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { BrowserSelectorService } from '../../services/browser-selector/browser-selector.service';\r\nimport { MetaService } from '../../services/meta/meta.service';\r\n\r\n@Component({\r\n selector: 'app',\r\n templateUrl: './app.view.html'\r\n})\r\nexport class AppView implements OnInit {\r\n\r\n @ViewChild('landscapeMessage') elementID:ElementRef;\r\n\r\n isLandscape: boolean;\r\n isMobile: boolean;\r\n\r\n constructor(private el: ElementRef,\r\n private browserSelectorService: BrowserSelectorService,\r\n private metaService: MetaService) {\r\n this.isMobile = this.browserSelectorService.isMobile();\r\n }\r\n ngOnInit(): void {\r\n this.metaService.setFacebookTags(window.location.href, 'Check out my registry', 'Check out my description', 'image');\r\n this.isLandscape = !window.matchMedia(\"(orientation: portrait)\").matches && screen.availHeight < screen.availWidth;\r\n }\r\n\r\n\r\n @HostListener('window:orientationchange', ['$event'])\r\n @HostListener('window:resize', ['$event'])\r\n onEvent() {\r\n this.isLandscape = !window.matchMedia(\"(orientation: portrait)\").matches && screen.availHeight < screen.availWidth;\r\n }\r\n}\r\n\r\n\r\n\r\n","/*\r\n **** THIS FILE IS AUTOMATICALLY GENERATED ****\r\n **** --- DO NOT --- ****\r\n **** --- CHANGE IT MANUALLY --- ****\r\n*/\r\n\r\nexport const environment = {\r\n production: false,\r\n\tserverUrl: '',\r\n \tversion: '2.0.0.060219'\r\n};\r\n","import { enableProdMode, Injector } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nimport 'hammerjs';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => {\r\n try {\r\n console.log(err);\r\n }\r\n catch(error) {}\r\n });\r\n"],"sourceRoot":""}