{"version":3,"sources":["./src/app/components/shop/shop.module.ts","./src/app/components/pages/forgot-password/forgot-password.component.html","./src/app/components/shared/sidebar/sidebar.component.html","./src/app/components/shared/email-verify-dialog/email-verify-dialog.component.ts","./src/app/components/pages/shippingaddress/shippingaddress.component.scss","./src/app/components/shared/services/loggedin.guard.service.ts","./src/app/components/shop/products/product-details/product-details.component.scss","./src/app/components/pages/error-page/error-page.component.sass","./src/app/components/pages/login/login.component.html","./src/app/components/color-options/color-options.component.ts","./src/app/components/pages/application/application.component.html","./src/app/components/shared/services/cart1.service.ts","./src/app/components/shared/pipes/safe.pipe.ts","./src/app/modals/responsebase.modal.ts","./src/app/components/shared/model/contact/contact.component.scss","./src/app/components/shop/products/products.component.scss","./src/app/components/shared/services/shopping-cart.service.ts","./src/app/components/pages/order-history/order-history.component.scss","./src/app/components/shared/banners/banners.component.html","./src/app/components/shared/services/validation.service.ts","./src/app/components/shared/services/utility.service.ts","./src/app/components/shared/pipes/check-valid-date.pipe.ts","./src/app/components/shop/products/product-no-sidebar/product-no-sidebar.component.ts","./src/app/components/shared/services/validatekeyword.service.ts","./src/app/components/shared/sidebar/sidebar.component.ts","./src/app/components/shop/products/product-dialog/product-dialog.component.ts","./src/app/components/shared/pipes/category-filter.pipe.ts","./src/app/components/pages/application/application.component.ts","./src/app/components/shared/services/product.service.ts","./src/app/components/shop/products/product/product.component.html","./src/app/components/pages/error-page/error-page.component.html","./src/app/components/shared/model/allow-cvv/allow-cvv.component.scss","./src/app/components/shared/model/findenroller/findenroller.component.scss","./src/app/components/shared/model/confirm-dialog/confirm-dialog.component.css","./src/app/components/pages/complete/complete.component.scss","./src/app/components/shared/services/restapi.service.ts","./src/app/components/pages/checkout/checkout.component.html","./src/app/components/main/main.component.scss","./src/app/components/shop/products/product-vertical/product-vertical.component.scss","./src/app/components/shared/model/contact/contact.component.html","./src/app/components/shared/pipes/payment-translate.pipe.ts","./src/app/components/shared/directive/default-img.directive.ts","./src/app/components/shared/pipes/unique.pipe.ts","./src/app/components/pages/checkout/checkout.component.scss","./src/app/components/main/main.component.html","./src/environments/environment.ts","./src/app/components/shop/products/product-details/product-details.component.ts","./src/app/components/shop/products/product-vertical/product-vertical.component.ts","./src/app/components/shared/autoship-edit/autoship-edit.component.html","./src/app/components/pages/contacts/contacts.component.ts","./src/app/components/shared/pack-carousel/pack-carousel.component.scss","./src/app/baseUrl.ts","./src/app/components/shop/products/products.component.html","./src/app/components/shared/services/notification.service.ts","./src/app/components/shared/pack-carousel/pack-carousel.component.ts","./src/app/components/pages/checkout/checkout.component.ts","./src/app/components/shared/breadcrumb/breadcrumb.component.ts","./src/app/components/pages/about-us/about-us.component.ts","./src/app/components/pages/complete/complete.component.html","./src/app/components/shared/model/shipping-address-dialog/shipping-address-dialog.component.scss","./src/app/components/shared/autoship-edit/autoship-edit.component.ts","./src/app/components/pages/login/login.component.scss","./src/app/components/shared/services/user.service.ts","./src/app/components/pages/faq/faq.component.ts","./src/app/components/shared/footer/footer.component.ts","./src/app/components/pages/error-page/error-page.component.ts","./src/app/components/shared/menu/menu.component.ts","./src/app/components/shared/model/market-selector/market-selector.component.scss","./src/app/components/main/main.component.ts","./src/app/components/pages/flickity/flickity.component.html","./src/app/components/shared/banners/banners.component.scss","./src/app/components/pages/order-invoice/order-invoice.component.ts","./src/app/modals/orderhistory.modal.ts","./src/app/components/shared/services/company.service.ts","./src/app/components/pages/manage-autoship/manage-autoship.component.html","./src/app/components/shared/product-banner-carousel/product-banner-carousel.component.scss","./src/app/components/pages/forgot-password/forgot-password.component.scss","./src/app/components/color-options/color-options.component.html","./src/app/components/shared/directive/validation.directive.ts","./src/app/components/shared/shopping-widgets/shopping-widgets.component.scss","./src/app/components/shared/footer/footer.component.html","./src/app/components/shop/main-carousel/main-carousel.component.scss","./src/app/components/shared/menu/menu.component.html","./src/app/components/shop/products/product/product.component.ts","./src/app/components/pages/order-invoice/order-invoice.component.scss","./src/app/components/shared/model/confirm-dialog/confirm-dialog.component.ts","./src/app/components/shared/banners/banners.component.ts","./src/app/components/my-loader/my-loader.component.html","./src/app/components/shared/model/findenroller/findenroller.component.html","./src/app/components/shop/products/product-carousel-three/product-carousel-three.component.ts","./src/app/components/pages/shippingaddress/shippingaddress.component.html","./src/app/components/shared/header/header.component.scss","./src/app/components/shop/products/product-carousel/product-carousel.component.html","./src/app/components/shared/text-sms-verify-dialog/text-sms-verify-dialog.component.html","./src/app/components/color-options/color-options.component.sass","./src/app/components/shared/services/order.service.ts","./src/app/components/shop/products/product-vertical/product-vertical.component.html","./src/app/components/pages/application/application.component.scss","./src/app/components/shared/pipes/group-by-count.pipe.ts","./src/app/components/shared/email-verify-dialog/email-verify-dialog.component.html","./src/app/components/pages/order-invoice/order-invoice.component.html","./src/app/components/shop/main-carousel/main-carousel.component.html","./src/app/components/shared/pipes/date-format.pipe.ts","./src/app/components/pages/manage-autoship/manage-autoship.component.ts","./src/app/components/pages/manage-autoship/manage-autoship.component.scss","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/components/shared/pipes/remove-star.pipe.ts","./src/app/components/shop/products/product-dialog/product-dialog.component.html","./src/app/app.component.ts","./src/app/components/shared/pipes/product-search.pipe.ts","./src/app/components/shared/model/shipping-address-dialog/shipping-address-dialog.component.ts","./src/app/components/shop/products/product-carousel-three/product-carousel-three.component.scss","./src/app/components/shared/email-verify-dialog/email-verify-dialog.component.scss","./src/app/components/shared/text-sms-verify-dialog/text-sms-verify-dialog.component.ts","./src/app/components/shared/model/ship-methods/ship-methods.component.html","./src/app/components/shared/services/itemsList.service.ts","./src/app/components/pages/forgot-password/forgot-password.component.ts","./src/app/components/pages/flickity/flickity.component.scss","./src/app/components/shared/services/interceptors/http-interceptor.service.ts","./src/app/components/shared/model/market-selector/market-selector.component.html","./src/app/components/shared/model/hostedpayment-dialog/hostedpayment-dialog.component.ts","./src/app/components/shared/directive/iconclass.directive.ts","./src/app/components/shared/header/header.component.html","./src/app/components/shared/model/hostedpayment-dialog/hostedpayment-dialog.component.html","./src/app/components/pages/home/home.component.html","./src/app/app.component.html","./src/app/components/shared/customer-type-carousel/customer-type-carousel.component.ts","./src/app/components/pages/pages-routing.module.ts","./src/app/components/pages/signup/signup.component.scss","./src/app/components/pages/about-us/about-us.component.html","./src/app/components/shared/autoship-edit/autoship-edit.component.scss","./src/app/components/my-loader/my-loader.component.scss","./src/app/components/shared/pipes/unsafe.pipe.ts","./src/app/components/shared/model/allow-cvv/allow-cvv.component.ts","./src/app/components/shop/products/product-details/product-details.component.html","./src/app/components/shared/sidebar-summary-cart/sidebar-summary-cart.component.scss","./src/app/app.module.ts","./src/app/components/shop/main-carousel/main-carousel.component.ts","./src/app/components/shared/pipes/decimal-number.pipe.ts","./src/app/components/shared/model/contact/contact.component.ts","./src/app/components/shared/sidebar/sidebar.component.scss","./src/app/components/shared/product-banner-carousel/product-banner-carousel.component.html","./src/app/components/shared/pipes/eange.pipe.ts","./src/app/components/shared/menu/menu.component.scss","./src/app/components/shared/services/payment.service.ts","./src/app/components/shared/services/cart.service.ts","./src/app/components/shared/model/confirm-dialog/confirm-dialog.component.html","./src/app/components/pages/home/home.component.scss","./src/app/components/shared/services/account.service.ts","./src/$_lazy_route_resource lazy namespace object","./src/app/components/shared/pipes/add-symbol-with-number.pipe.ts","./src/app/components/shared/shopping-widgets/shopping-widgets.component.html","./src/app/components/shared/services/persistent.service.ts","./src/app/components/shop/products/product-carousel-three/product-carousel-three.component.html","./src/app/components/shared/customer-type-carousel/customer-type-carousel.component.scss","./src/app/modals/userservice.modal.ts","./src/app/components/shared/services/config.service.ts","./src/app/components/pages/contacts/contacts.component.scss","./src/app/components/shared/pipes/trustas-url.pipe.ts","./src/app/components/shared/shared.module.ts","./src/app/components/shop/products/products.component.ts","./src/app/components/shared/sidebar-summary-cart/sidebar-summary-cart.component.ts","./src/app/components/pages/order-history/order-history.component.html","./src/app/components/shared/pack-carousel/pack-carousel.component.html","./src/app/components/shared/header/header.component.ts","./src/app/components/pages/shippingaddress/shippingaddress.component.ts","./src/app/components/shared/services/color-option.service.ts","./src/app/components/shared/pipes/order-by.pipe.ts","./src/app/components/shared/directive/ng-init.ts","./src/app/components/shared/breadcrumb/breadcrumb.component.scss","./src/app/components/shared/services/auth.guard.service.ts","./src/app/components/shared/breadcrumb/breadcrumb.component.html","./src/app/components/shop/products/product-carousel/product-carousel.component.sass","./src/app/components/shared/services/sidenavbar.service.ts","./src/app/components/shared/customer-type-carousel/customer-type-carousel.component.html","./src/app/components/shop/products/product-carousel/product-carousel.component.ts","./src/app/components/shared/product-banner-carousel/product-banner-carousel.component.ts","./src/app/components/shop/shop-routing.module.ts","./src/app/components/my-loader/my-loader.component.ts","./src/app/components/shared/model/allow-cvv/allow-cvv.component.html","./src/app/components/pages/complete/complete.component.ts","./src/app/components/shared/pipes/smartship-month.pipe.ts","./src/app/components/shared/sidebar/sidebar-menu.service.ts","./src/app/components/shop/products/product-dialog/product-dialog.component.scss","./src/app/components/shared/model/ship-methods/ship-methods.component.ts","./src/app/components/shared/model/hostedpayment-dialog/hostedpayment-dialog.component.scss","./src/app/components/shared/footer/footer.component.scss","./src/app/components/shared/services/loader.service.ts","./src/app/components/pages/signup/signup.component.ts","./src/app/components/pages/pages.module.ts","./src/app/components/pages/faq/faq.component.html","./src/app/components/shared/model/shipping-address-dialog/shipping-address-dialog.component.html","./src/app/components/shared/model/market-selector/market-selector.component.ts","./src/app/components/shop/products/product/product.component.scss","./src/app/components/shared/model/findenroller/findenroller.component.ts","./src/app/components/shared/shopping-widgets/shopping-widgets.component.ts","./src/app/components/pages/flickity/flickity.component.ts","./src/app/app-routing.module.ts","./src/app/components/pages/signup/signup.component.html","./src/app/components/shared/text-sms-verify-dialog/text-sms-verify-dialog.component.scss","./src/app/components/pages/faq/faq.component.scss","./src/app/components/shared/sidebar-summary-cart/sidebar-summary-cart.component.html","./src/app/components/shared/services/interceptors/loader-interceptor.service.ts","./src/app/components/pages/login/login.component.ts","./src/app/components/pages/home/home.component.ts","./src/app/components/pages/order-history/order-history.component.ts","./src/app/components/shop/products/product-no-sidebar/product-no-sidebar.component.html","./src/app/components/shared/services/not-ranslated.service.ts","./src/app/components/shared/services/autoshipConfiguration.service.ts","./src/app/components/shared/model/ship-methods/ship-methods.component.scss","./src/app/components/shared/services/regex.service.ts","./src/app/app.component.scss","./src/app/components/pages/contacts/contacts.component.html","./src/app/components/pages/about-us/about-us.component.scss","./src/app/components/shop/products/product-no-sidebar/product-no-sidebar.component.scss","./src/main.ts"],"names":[],"mappings":"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A+B,gCAAgC,iCAAiC,4BAA4B,GAAG,+BAA+B,2BAA2B,2BAA2B,gBAAgB,oHAAoH,+BAA+B,2BAA2B,uBAAuB,GAAG,uBAAuB,uBAAuB,qBAAqB,GAAG,WAAW,gBAAgB,oBAAoB,uBAAuB,GAAG,YAAY,2BAA2B,MAAM,qBAAqB,8BAA8B,GAAG,aAAa,kBAAkB,6BAA6B,uBAAuB,GAAG,QAAQ,iBAAiB,GAAG,uCAAuC,mBAAmB,iCAAiC,gBAAgB,GAAG,2BAA2B,kCAAkC,GAAG,6CAA6C,+wbAA+wb,E;;;;;;;;;;;ACAlvqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;;;;;;ACnSoD;IAIvC,cAAc,SAAd,cAAc;IAC1B,SAAS,CAAC,KAAK;QACd,IAAI,CAAC,KAAK,EAAE;YACX,OAAO,EAAE,CAAC;SACV;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACD;AAPY,cAAc;IAH1B,0DAAI,CAAC;QACL,IAAI,EAAE,YAAY;KAClB,CAAC;GACW,cAAc,CAO1B;AAP0B;;;;;;;;;;;;;ACJ3B;AAAe,g/BAAi7B,sBAAsB,8CAA8C,iGAAiG,8oBAA8oB,2RAA2R,qEAAqE,eAAe,6YAA6Y,cAAc,uxDAAuxD,+CAA+C,2FAA2F,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9yI;AAChE;AAC0C;AAClC;AACD;AACF;AACyD;AAClC;AACJ;AACY;IAOvE,YAAY,SAAZ,YAAY;IAKvB,YACkC,OAA8B,EACvD,aAA4B,EAC3B,MAAiB,EACjB,OAA0B,EAC3B,WAAwB,EACxB,MAAc,EACb,SAA2B,EAC5B,WAAwB,EACxB,UAA6B;QARJ,YAAO,GAAP,OAAO,CAAuB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","file":"main-es2015.js","sourcesContent":["import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ProductsComponent } from './products/products.component';\nimport { ProductComponent } from './products/product/product.component';\nimport { ProductDetailsComponent } from './products/product-details/product-details.component';\nimport { CommonModule } from '@angular/common';\nimport { ShopRoutingModule } from './shop-routing.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { SwiperModule } from 'ngx-swiper-wrapper';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\nimport { ProductNoSidebarComponent } from './products/product-no-sidebar/product-no-sidebar.component';\nimport { ProductCarouselThreeComponent } from './products/product-carousel-three/product-carousel-three.component';\nimport { ProductCarouselComponent } from './products/product-carousel/product-carousel.component';\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ProductBannerCarouselComponent } from '../shared/product-banner-carousel/product-banner-carousel.component';\nimport { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { BrowserModule } from '@angular/platform-browser';\n@NgModule({\n  declarations: [\n    ProductsComponent,\n    ProductComponent,\n    ProductDetailsComponent,\n    ProductNoSidebarComponent,\n    ProductCarouselThreeComponent,\n    ProductCarouselComponent,\n    ProductBannerCarouselComponent\n  ],\n  imports: [\n    CommonModule,\n    BrowserModule,\n    ShopRoutingModule,\n    SharedModule,\n    SwiperModule,\n    FormsModule,\n    ReactiveFormsModule,\n    FlexLayoutModule,\n    NgxPaginationModule,\n    NgxSkeletonLoaderModule,\n    TranslateModule,\n    BrowserAnimationsModule,\n    NoopAnimationsModule,\n    NgxImageZoomModule    // <-- Add this line\n  ],\n  exports: [\n  ],\n\n  entryComponents: [\n  ],\n})\n\nexport class ShopModule { }\n","export default \"<main class=\\\"container min-500\\\" id=\\\"site-content\\\">\\n    <div fxLayout=\\\"row\\\" flex class=\\\"m-t-15 forgotPassword\\\">\\n        <div layout-padding flex=\\\"100\\\" class=\\\"bg-c-md-content mat-content\\\">\\n            <mat-card>\\n                <mat-card-title class=\\\"b-b titleHeader\\\">\\n                    <span class=\\\"md-headline f-s-24\\\" translate=\\\"reset_password\\\"></span>\\n                </mat-card-title>\\n                <mat-card-actions layout=\\\"column\\\"  fxLayoutAlign=\\\"start stretch\\\" class=\\\"p-l-10\\\">\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                        <div fxLayout=\\\"column\\\"  fxLayoutAlign=\\\"start start\\\">\\n                            <form class=\\\"forgot_pass_form\\\" id=\\\"forgot_pass_form\\\" name=\\\"ForgotPassword\\\" *ngIf=\\\"!sentEmail\\\">\\n                                <p translate=\\\"forgot_password_option_description\\\" class=\\\"m-b-20 color-f-s-16\\\"></p>\\n                                <p translate=\\\"forgot_password_note\\\" class=\\\"m-b-20 color-f-s-16\\\"></p>\\n                                <mat-radio-group [(ngModel)]=\\\"selectedForgotPasswordOption.option\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"forgotpassword\\\"\\n                                    \\n                                  aria-labelledby=\\\"example-radio-group-label\\\" class=\\\"example-radio-group\\\">\\n                                    <div class=\\\"forgetPasswordOptions\\\" *ngFor=\\\"let opt of forgotPasswordOptions\\\">\\n    \\n    \\n                                        <label class=\\\"control-group ds-radio\\\">\\n    \\n                                            <mat-radio-button  fxLayout=\\\"row\\\" class=\\\"example-radio-button\\\" (click)=\\\"forgotPasswordData.userName=''\\\"\\n                                                [value]=\\\"opt.option\\\">\\n                                             <span [hidden]=\\\"selectedForgotPasswordOption.option==opt.option\\\">{{opt.description | translate}}</span>\\n                                            </mat-radio-button>\\n    \\n                                        </label>\\n    \\n                                        <div class=\\\"fieldBox m-l-10\\\" *ngIf=\\\"selectedForgotPasswordOption.option==opt.option\\\">\\n                                            <mat-form-field class=\\\"ds-validate md-block\\\" appearance=\\\"outline\\\">\\n                                                <mat-label class=\\\"p-l-15\\\" *ngIf=\\\"selectedForgotPasswordOption.option == 1\\\"\\n                                                    translate=\\\"resetpassword_option_username\\\"></mat-label>\\n                                                <mat-label class=\\\"p-l-15\\\" *ngIf=\\\"selectedForgotPasswordOption.option == 2\\\"\\n                                                    translate=\\\"resetpassword_option_email\\\"></mat-label>\\n                                                <mat-label class=\\\"p-l-15\\\" *ngIf=\\\"selectedForgotPasswordOption.option == 3\\\"\\n                                                    translate=\\\"resetpassword_option_customerid\\\"></mat-label>\\n                                                    <input forgotsection=\\\"true\\\" class=\\\"email p-l-10\\\"\\n                                                        id=\\\"fgp_input\\\" matInput  validate noempty=\\\"true\\\" [attr.email]=\\\"selectedForgotPasswordOption.option == 2\\\" \\n                                                        [(ngModel)]=\\\"forgotPasswordData.userName\\\" [ngModelOptions]=\\\"{standalone: true}\\\">\\n    \\n                                                </mat-form-field>\\n                                        </div>\\n    \\n                                    </div>\\n                                </mat-radio-group>\\n                            </form>\\n    \\n                            <!-- Email Sent -->\\n                            <div *ngIf=\\\"sentEmail\\\" class=\\\"account_recovery\\\">\\n                                <h2 translate=\\\"thank_you_\\\"></h2>\\n                                <div class=\\\"m-t-20 m-b-15 account_recovery_msg_1\\\" translate=\\\"account_recovery_msg_1\\\"></div>\\n                                <div class=\\\"m-b-20 account_recovery_msg_2\\\" translate=\\\"account_recovery_msg_2\\\"></div>\\n                                <a mat-button mat-raised-button color=\\\"primary\\\" type=\\\"submit\\\"\\n                                    class=\\\"m-b-15 m-t-5\\\" [routerLink]=\\\"['/login']\\\"> {{ \\\"back_to_login\\\" | translate}}</a>\\n                            </div>\\n                        </div>\\n                        <div *ngIf=\\\"!sentEmail\\\">\\n                            <button mat-button mat-raised-button color=\\\"primary\\\" (success)=\\\"emailSentForgotPassword()\\\" validate trigger-check=\\\"true\\\" >{{\\\"reset_\\\"|translate}}</button>\\n                        </div>\\n                    </div>\\n                    <div>\\n                    </div>\\n                </mat-card-actions>\\n            </mat-card>\\n            <br>\\n        </div>\\n    </div>\\n</main>\";","export default \"<a *ngIf=\\\"item.route !=='' && ((item.displayName == 'Sign Out') ? isLoggedIn() : 'true' && (item.displayName == 'Sign In') ? !isLoggedIn() : 'true' )\\\"\\n  fxLayoutAlign=\\\"space-between flex-start\\\" mat-list-item class=\\\"main-nav__link\\\"\\n  [ngStyle]=\\\"{'padding-left': (depth * 12) + 'px'}\\\" class=\\\"menu-list-item\\\" (click)=\\\"onItemSelected(item)\\\" [ngClass]=\\\"{'active': item.route ? router.isActive(item.route, true): false, 'expanded': expanded,\\n  'text-gray': item.route ? router.isActive(item.route, true): false}\\\">\\n\\n  <div fxFlex *ngIf=\\\"(!children && ((item.displayName == 'Sign Out') ? isLoggedIn() : 'true' && (item.displayName == 'Sign In') ? !isLoggedIn() : 'true' ))\\\"  >\\n    <span class=\\\"v-align-middle m-10 side-list-title font-IBM\\\" (click)=\\\"logoutHandler(item.displayName)\\\">{{item.displayName}}</span>\\n  </div>\\n  <div feFlex>\\n    <span *ngIf=\\\"(children)\\\" class=\\\"v-align-middle m-10 side-list-child font-IBM\\\">{{children.displayName}}</span>\\n  </div>\\n  <span fxFlex *ngIf=\\\"item.children && item.children.length\\\">\\n    <span fxFlex></span>\\n    <svg width=\\\"100%\\\" viewBox=\\\"0 0 24 24\\\" [ngClass]=\\\"{'rotate': expanded,'rotate-reverse': !expanded}\\\">\\n      <path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"\\n        d=\\\"M5 12h14M12 5l7 7-7 7\\\"></path>\\n    </svg>\\n  </span>\\n</a>\\n\\n<a *ngIf=\\\"item.route == ''\\\" fxLayoutAlign=\\\"space-between flex-start\\\" mat-list-item class=\\\"main-nav__link\\\"\\n  [ngStyle]=\\\"{'padding-left': (depth * 12) + 'px'}\\\" class=\\\"menu-list-item outside-link\\\" [href]=\\\"item.url\\\"\\n  target=\\\"_blank\\\">\\n\\n  <div fxFlex>\\n    <span *ngIf=\\\"(!children)\\\" class=\\\"v-align-middle m-10 side-list-title font-IBM\\\">{{item.displayName}}</span>\\n    <span *ngIf=\\\"children\\\" class=\\\"v-align-middle m-10 side-list-child\\\">{{children.displayName}}</span>\\n  </div>\\n  <span fxFlex *ngIf=\\\"item.children && item.children.length\\\">\\n    <span fxFlex></span>\\n    <svg width=\\\"100%\\\" viewBox=\\\"0 0 24 24\\\" [ngClass]=\\\"{'rotate': expanded,'rotate-reverse': !expanded}\\\">\\n      <path fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"\\n        d=\\\"M5 12h14M12 5l7 7-7 7\\\"></path>\\n    </svg>\\n  </span>\\n</a>\\n\\n<div *ngIf=\\\"expanded \\\" style=\\\"font-size: 20px !important;\\\">\\n  <ng-container *ngFor=\\\"let child of item.children\\\">\\n    <app-sidebar *ngIf=\\\"((child.route == '/login' || child.route == '/join') ? !isLoggedIn() : 'true')\\\"\\n      [children]=\\\"child\\\" [item]=\\\"child\\\" [depth]=\\\"depth+1\\\" (click)=\\\"closeDialog(item)\\\">\\n    </app-sidebar>\\n  </ng-container>\\n</div>\\n\\n\";","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { RestApiService } from '../services/restapi.service';\n\n@Component({\n  selector: 'app-email-verify-dialog',\n  templateUrl: './email-verify-dialog.component.html',\n  styleUrls: ['./email-verify-dialog.component.scss']\n})\nexport class EmailVerifyDialogComponent implements OnInit, OnDestroy {\n  emailNotVerified: boolean = false;\n  emailVerified: boolean = false;\n  showExplain: boolean = true;\n  closing_Allowed: boolean;\n  public interval:any;\n\n  constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n    public dialogRef: MatDialogRef<EmailVerifyDialogComponent>,\n    public apiService: RestApiService) { }\n\n  ngOnInit(): void {\n    this.verifyemailbylink(this.data.email)\n  }\n  verifyemailbylink(e) {\n    this.showExplain = true\n\n    document.getElementsByClassName('loading-spinner')[0].classList.add('hidden')\n    const request = {\n      Email: e\n    };\n\n    this.apiService.sendemail(request).subscribe((a) => {\n      document.getElementsByClassName('loading-spinner')[0].classList.remove('hidden')\n    })\n    clearInterval(this.interval)\n    let type = 'email'\n    this.responsecheck(e,type)\n  }\n  responsecheck(e,type): any {\n\n    this.interval = setInterval(() => {\n      document.getElementsByClassName('loading-spinner')[0].classList.add('hidden')\n      this.apiService.CheckReplyRespnose(e,type).subscribe((response) => {\n        //true\n        if ((response.Data == true) && (response.Message == \"Success\")) {\n          this.emailNotVerified = false\n          this.emailVerified = true\n          this.showExplain = false\n          this.data.service.isNOTverified_email = true\n          document.getElementsByClassName('loading-spinner')[0].classList.remove('hidden')\n          this.dialogRef.close();\n          clearInterval(this.interval)\n          clearTimeout(emailtimeout)\n        } else if ((response.Data == false) && (response.Message == \"Success\")) {\n          //returning for false\n          return\n        }\n      })\n    }, 5000)\n\n    let emailtimeout = setTimeout(() => {\n      clearInterval(this.interval)\n      this.emailNotVerified = true\n      this.showExplain = false\n      this.data.service.isNOTverified_email = false\n      document.getElementsByClassName('loading-spinner')[0].classList.remove('hidden')\n    }, 120000);\n  }\n\n  ngOnDestroy(): void {\n    this.dialogRef.close({ data: this.data.service.isNOTverified_email });\n  }\n}\n","export default \"#mainContent {\\n  background-color: #EBEBEB;\\n  max-width: 1365px;\\n  margin: auto;\\n  padding: 16px;\\n}\\n@media only screen and (min-width: 1200px) {\\n  #mainContent {\\n    padding: 50px;\\n  }\\n}\\n#mainContent .main .borderLeft {\\n  border-left: 1px solid #cfcfcf;\\n  height: auto;\\n}\\n#mainContent .main .borderBottom {\\n  border-bottom: 1px solid #cfcfcf;\\n}\\n#mainContent .main .color-f-s-23 {\\n  font-size: 23px;\\n  color: #5e5e5e;\\n}\\n#mainContent .main .footerBottom .mat-button {\\n  background-color: var(--theme-deafult-secondary);\\n  font-size: 14px;\\n  color: #ffffff;\\n  margin: 6px 8px;\\n  padding: 0px 14px;\\n  cursor: pointer;\\n  min-height: 36px;\\n  min-width: 88px;\\n  border-radius: 23px;\\n}\\n#mainContent .main .viewAddress {\\n  margin-bottom: 18px;\\n  font-style: normal;\\n  line-height: 1.42857143;\\n}\\n@media only screen and (max-width: 600px) {\\n  #mainContent .main .m-top-50 {\\n    margin-top: 50px;\\n  }\\n}\\n.p-8 {\\n  padding: 8px;\\n}\\n.color-f-s-14 {\\n  color: #5e5e5e;\\n  font-size: 14px;\\n}\\n::ng-deep .mat-button {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NoaXBwaW5nYWRkcmVzcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBSUEsYUFBQTtBQUZGO0FBREU7RUFKRjtJQUtJLGFBQUE7RUFJRjtBQUNGO0FBREk7RUFDRSw4QkFBQTtFQUNBLFlBQUE7QUFHTjtBQURJO0VBQ0UsZ0NBQUE7QUFHTjtBQURJO0VBQ0UsZUFBQTtFQUNBLGNBQUE7QUFHTjtBQURJO0VBQ0UsZ0RBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtBQUdOO0FBREk7RUFDRSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUJBQUE7QUFHTjtBQURJO0VBQ0U7SUFDRSxnQkFBQTtFQUdOO0FBQ0Y7QUFFQTtFQUNFLFlBQUE7QUFDRjtBQUNBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7QUFFRjtBQUNBO0VBQ0UsbURBQUE7QUFFRiIsImZpbGUiOiJzaGlwcGluZ2FkZHJlc3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjbWFpbkNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCO1xuICBtYXgtd2lkdGg6IDEzNjVweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gIH1cbiAgcGFkZGluZzogMTZweDtcbiAgLm1haW4ge1xuICAgIC5ib3JkZXJMZWZ0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NmY2ZjZjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLmJvcmRlckJvdHRvbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NmY2ZjZjtcbiAgICB9XG4gICAgLmNvbG9yLWYtcy0yMyB7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICB9XG4gICAgLmZvb3RlckJvdHRvbSAgLm1hdC1idXR0b257XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG1hcmdpbjogNnB4IDhweDtcbiAgICAgIHBhZGRpbmc6IDBweCAxNHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLWhlaWdodDogMzZweDtcbiAgICAgIG1pbi13aWR0aDogODhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7XG4gICAgfVxuICAgIC52aWV3QWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5tLXRvcC01MCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG59XG4ucC04IHtcbiAgcGFkZGluZzogOHB4O1xufVxuLmNvbG9yLWYtcy0xNCB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbjo6bmctZGVlcCAubWF0LWJ1dHRvbntcbiAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufSJdfQ== */\";","import { Injectable } from \"@angular/core\";\nimport { CanActivate, Router } from \"@angular/router\";\nimport { CookieService } from \"ngx-cookie-service\";\n\n@Injectable()\nexport class LoggedInAuthGuard implements CanActivate {\n\n    constructor(private cookieService: CookieService, private _router: Router) { }\n\n    canActivate(): boolean {\n        if (this.cookieService.get('X-Auth')) {\n            this._router.navigate(['/home']);\n            return false\n        } else {          \n            return true;\n        }\n    }\n}","export default \".p-20-0 {\\n  padding: 20px 0px !important;\\n}\\n\\n.custom-size {\\n  width: 50%;\\n  height: 15%;\\n}\\n\\n.product-title {\\n  color: black;\\n  font-size: 32px;\\n  font-weight: 700;\\n}\\n\\n.product_detail_qv {\\n  font-size: 12px !important;\\n  overflow: auto;\\n}\\n\\n.text {\\n  text-transform: capitalize;\\n}\\n\\n#prod-details {\\n  background-color: #EBEBEB;\\n}\\n\\n#prod-details .header {\\n  margin: 20px 0px 15px 0px;\\n  padding: 0px 10px 0px 10px;\\n  cursor: pointer;\\n}\\n\\n#prod-details .main {\\n  width: 100%;\\n}\\n\\n#prod-details .review-wrapper .mat-card {\\n  box-shadow: none !important;\\n  padding: 0px;\\n}\\n\\n#prod-details .prodReview {\\n  margin-top: 20px !important;\\n}\\n\\n#prod-details .prodReview .mat-expansion-panel {\\n  border: none !important;\\n  margin-bottom: 0px !important;\\n}\\n\\n#prod-details .prodReview .mat-expansion-panel .mat-expansion-panel-header {\\n  padding: 0px 5px;\\n}\\n\\n#prod-details .prodReview .mat-expansion-panel ::ng-deep .mat-expansion-panel-body {\\n  padding: 0px 5px !important;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n\\n#prod-details .prodReview .color-f-s-13 {\\n  color: #797979;\\n  font-size: 13px;\\n  font-family: roboto;\\n  margin-top: 4px;\\n  margin-left: 10px;\\n}\\n\\n#prod-details .prodBox {\\n  height: auto;\\n  width: auto;\\n}\\n\\n#prod-details .color-f-s-14 {\\n  color: #5e5e5e;\\n  font-weight: 600;\\n  margin-top: 5px;\\n  font-size: 12px;\\n}\\n\\n#prod-details .subscriptionButton {\\n  font-size: 15px;\\n  overflow: hidden;\\n  white-space: nowrap;\\n  text-overflow: ellipsis;\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12);\\n  background-color: #ffffff;\\n  font-size: 15px;\\n  padding: 4px 32px;\\n}\\n\\n#prod-details .color-b {\\n  background-color: white;\\n}\\n\\n@media only screen and (min-width: 992px) {\\n  #prod-details .m-left-25 {\\n    margin-left: 25px !important;\\n  }\\n}\\n\\n#prod-details .color2-f-s-14 {\\n  color: #000000;\\n  font-size: 14px;\\n  font-weight: bold;\\n}\\n\\n.product_detail_qv {\\n  font-size: 12px !important;\\n  overflow: auto;\\n}\\n\\n::ng-deep .ngxImageZoomContainer > img {\\n  height: 100% !important;\\n  width: 100% !important;\\n}\\n\\n::ng-deep .ngxImageZoomContainer {\\n  height: 441px !important;\\n  width: 100% !important;\\n  max-width: 441px;\\n}\\n\\n@media (min-width: 100px) and (max-width: 300px) {\\n  ::ng-deep .ngxImageZoomContainer {\\n    max-height: 300px;\\n  }\\n}\\n\\n@media only screen and (max-width: 768px) {\\n  .p-top-0 {\\n    padding-top: 0px !important;\\n  }\\n}\\n\\n.item_options {\\n  display: inline-block;\\n  border: 1px solid #dfdfdf;\\n  padding: 12px 16px;\\n  border-radius: calc(14px * 2.714285);\\n  margin: 4px;\\n}\\n\\n::ng-deep .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {\\n  background: none;\\n}\\n\\n::ng-deep .mat-expansion-panel:hover .mat-expansion-indicator::after {\\n  color: var(--theme-deafult-secondary);\\n}\\n\\n.bg-img img {\\n  width: 100%;\\n  height: 570px;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  -o-object-position: top;\\n     object-position: top;\\n}\\n\\n.p-relative {\\n  position: relative !important;\\n}\\n\\n.p-absolute {\\n  position: absolute !important;\\n}\\n\\n.p-abs {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  background: rgba(0, 0, 0, 0.2);\\n}\\n\\n.p-content-div {\\n  top: 30%;\\n  left: 3%;\\n}\\n\\n.w-35 {\\n  width: 35%;\\n}\\n\\n.shop-btn {\\n  background: white;\\n  border-radius: 23px;\\n  display: inline-block;\\n  padding: 15px 32px;\\n  cursor: pointer;\\n}\\n\\n.shop-btn:hover {\\n  background-color: #cccccc;\\n}\\n\\n.abs-width {\\n  width: 100%;\\n  left: 5%;\\n}\\n\\n.product-button {\\n  margin: 20px;\\n  padding: 6px 32px !important;\\n  background-color: black !important;\\n  color: white !important;\\n}\\n\\n.product-button:hover {\\n  background-color: #333333 !important;\\n}\\n\\n.d-none {\\n  opacity: 0;\\n}\\n\\n.w-89 {\\n  width: 89%;\\n}\\n\\n.img-bg {\\n  flex: none !important;\\n  background-size: cover;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n}\\n\\n.img-bg2 {\\n  flex: none !important;\\n  background-size: cover;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  height: 560px;\\n}\\n\\n@media (min-width: 0px) and (max-width: 960px) {\\n  .img-bg2 {\\n    height: 320px !important;\\n  }\\n}\\n\\n.faded-in {\\n  animation: fadeIn 0.6s;\\n}\\n\\n@keyframes fadeIn {\\n  0% {\\n    opacity: 0;\\n    transform: translateY(16px);\\n  }\\n  100% {\\n    opacity: 1;\\n    transform: translateY(0px);\\n  }\\n}\\n\\n.faded-out {\\n  animation: fadeOut 0.6s;\\n}\\n\\n@keyframes fadeOut {\\n  0% {\\n    opacity: 1;\\n    transform: translateY(0px);\\n  }\\n  100% {\\n    opacity: 0;\\n    transform: translateY(16px);\\n  }\\n}\\n\\n::ng-deep .checkoptionbox .mat-form-field-appearance-outline .mat-form-field-flex {\\n  height: 60px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2R1Y3QtZGV0YWlscy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDRCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxVQUFBO0VBQ0EsV0FBQTtBQUNGOztBQUNBO0VBQ0UsWUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQUVGOztBQUFBO0VBQ0UsMEJBQUE7RUFDQSxjQUFBO0FBR0Y7O0FBREE7RUFDRSwwQkFBQTtBQUlGOztBQUZBO0VBQ0UseUJBQUE7QUFLRjs7QUFKRTtFQUNFLHlCQUFBO0VBQ0EsMEJBQUE7RUFDQSxlQUFBO0FBTUo7O0FBSkU7RUFDRSxXQUFBO0FBTUo7O0FBSkU7RUFDRSwyQkFBQTtFQUNBLFlBQUE7QUFNSjs7QUFKRTtFQUNFLDJCQUFBO0FBTUo7O0FBTEk7RUFDRSx1QkFBQTtFQUNBLDZCQUFBO0FBT047O0FBTk07RUFDRSxnQkFBQTtBQVFSOztBQUxNO0VBQ0UsMkJBQUE7RUFDQSxtREFBQTtBQU9SOztBQUhJO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQUtOOztBQUZFO0VBQ0UsWUFBQTtFQUNBLFdBQUE7QUFJSjs7QUFGRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0FBSUo7O0FBRkU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EseUVBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQUlKOztBQUZFO0VBQ0UsdUJBQUE7QUFJSjs7QUFBRTtFQUNFO0lBQ0UsNEJBQUE7RUFFSjtBQUNGOztBQUFFO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQUVKOztBQUNBO0VBQ0UsMEJBQUE7RUFDQSxjQUFBO0FBRUY7O0FBQUE7RUFDRSx1QkFBQTtFQUNBLHNCQUFBO0FBR0Y7O0FBRUE7RUFFRSx3QkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7QUFBRjs7QUFFQTtFQUNFO0lBQ0UsaUJBQUE7RUFDRjtBQUNGOztBQUVBO0VBQ0U7SUFDRSwyQkFBQTtFQUFGO0FBQ0Y7O0FBRUE7RUFDRSxxQkFBQTtFQUNFLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQ0FBQTtFQUNBLFdBQUE7QUFBSjs7QUFFQTtFQUNFLGdCQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxxQ0FBQTtBQUVGOztBQUFBO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsdUJBQUE7S0FBQSxvQkFBQTtBQUdGOztBQURBO0VBQ0UsNkJBQUE7QUFJRjs7QUFGQTtFQUNFLDZCQUFBO0FBS0Y7O0FBSEE7RUFDRSxrQkFBQTtFQUVBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsOEJBQUE7QUFLRjs7QUFIQTtFQUNFLFFBQUE7RUFDQSxRQUFBO0FBTUY7O0FBSEE7RUFDRSxVQUFBO0FBTUY7O0FBSkE7RUFDRSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUFPRjs7QUFMQTtFQUNFLHlCQUFBO0FBUUY7O0FBTkE7RUFDRSxXQUFBO0VBQ0EsUUFBQTtBQVNGOztBQVBBO0VBQ0UsWUFBQTtFQUNBLDRCQUFBO0VBQ0Esa0NBQUE7RUFDQSx1QkFBQTtBQVVGOztBQVJBO0VBQ0Usb0NBQUE7QUFXRjs7QUFUQTtFQUVFLFVBQUE7QUFXRjs7QUFUQTtFQUNFLFVBQUE7QUFZRjs7QUFWQTtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtBQWFGOztBQVZBO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7RUFDQSw0QkFBQTtFQUNBLDJCQUFBO0VBQ0EsYUFBQTtBQWFGOztBQVhBO0VBQ0U7SUFDSSx3QkFBQTtFQWNKO0FBQ0Y7O0FBWkE7RUFDRSxzQkFBQTtBQWNGOztBQVhFO0VBQ0k7SUFBSSxVQUFBO0lBQVksMkJBQUE7RUFnQnBCO0VBZkU7SUFBTSxVQUFBO0lBQVksMEJBQUE7RUFtQnBCO0FBQ0Y7O0FBbEJBO0VBQ0UsdUJBQUE7QUFvQkY7O0FBakJFO0VBQ0k7SUFBSSxVQUFBO0lBQVksMEJBQUE7RUFzQnBCO0VBckJJO0lBQU0sVUFBQTtJQUFZLDJCQUFBO0VBeUJ0QjtBQUNGOztBQXhCRTtFQUNFLFlBQUE7QUEwQkoiLCJmaWxlIjoicHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnAtMjAtMCB7XG4gIHBhZGRpbmc6IDIwcHggMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b20tc2l6ZSB7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogMTUlO1xufVxuLnByb2R1Y3QtdGl0bGUge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wcm9kdWN0X2RldGFpbF9xdiB7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLnRleHR7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuI3Byb2QtZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7XG4gIC5oZWFkZXIge1xuICAgIG1hcmdpbjogMjBweCAwcHggMTVweCAwcHg7XG4gICAgcGFkZGluZzogMHB4IDEwcHggMHB4IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5tYWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmV2aWV3LXdyYXBwZXIgLm1hdC1jYXJkIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG4gIC5wcm9kUmV2aWV3IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDBweCA1cHg7XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwcHggNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICB9XG4gICAgfVxuICAgICAgXG4gICAgLmNvbG9yLWYtcy0xMyB7XG4gICAgICBjb2xvcjogIzc5Nzk3OTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbiAgLnByb2RCb3gge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuY29sb3ItZi1zLTE0IHtcbiAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLnN1YnNjcmlwdGlvbkJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiKDAgMCAwIC8gMTYlKSwgMCAycHggMTBweCByZ2IoMCAwIDAgLyAxMiUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDRweCAzMnB4O1xuICB9XG4gIC5jb2xvci1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAvLyBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubS1sZWZ0LTI1IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5jb2xvcjItZi1zLTE0IHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cbi5wcm9kdWN0X2RldGFpbF9xdiB7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuOjpuZy1kZWVwIC5uZ3hJbWFnZVpvb21Db250YWluZXIgPiBpbWd7XG4gIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8vIGhlaWdodDogNDAycHg7XG4gIC8vIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gIC8vIG1heC13aWR0aDogNDUwcHghaW1wb3J0YW50O1xufVxuOjpuZy1kZWVwIC5uZ3hJbWFnZVpvb21Db250YWluZXJ7XG4vLyAgIHdpZHRoOiA0NDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQ0MXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNDQxcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAwcHgpIGFuZCAobWF4LXdpZHRoOiAzMDBweCkge1xuICA6Om5nLWRlZXAgLm5neEltYWdlWm9vbUNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucC10b3AtMCB7XG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICB9XG59XG4uaXRlbV9vcHRpb25ze1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RmZGZkZjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxNHB4ICogMi43MTQyODUpO1xuICAgIG1hcmdpbjogNHB4O1xufVxuOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbjo6bmctZGVlcCAubWF0LWV4cGFuc2lvbi1wYW5lbDpob3ZlciAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVye1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xufVxuLmJnLWltZyBpbWd7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU3MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG59XG4ucC1yZWxhdGl2ZXtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4ucC1hYnNvbHV0ZXtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG4ucC1hYnN7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gbGVmdDogMyU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IDAuMik7XG59XG4ucC1jb250ZW50LWRpdntcbiAgdG9wOiAzMCU7XG4gIGxlZnQ6IDMlO1xuICAvLyB3aWR0aDogMzUlO1xufVxuLnctMzV7XG4gIHdpZHRoOiAzNSU7XG59XG4uc2hvcC1idG57XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMzJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNob3AtYnRuOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xufVxuLmFicy13aWR0aHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDUlO1xufVxuLnByb2R1Y3QtYnV0dG9ue1xuICBtYXJnaW46IDIwcHg7XG4gIHBhZGRpbmc6IDZweCAzMnB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufSAgXG4ucHJvZHVjdC1idXR0b246aG92ZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDtcbn1cbi5kLW5vbmV7XG4gIC8vIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG59XG4udy04OXtcbiAgd2lkdGg6IDg5JVxufVxuLmltZy1iZ3tcbiAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAvLyBoZWlnaHQ6IDU2MHB4O1xufVxuLmltZy1iZzJ7XG4gIGZsZXg6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiA1NjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuaW1nLWJnMntcbiAgICAgIGhlaWdodDogMzIwcHggIWltcG9ydGFudDtcbiAgfVxufVxuLmZhZGVkLWluIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW4gMC42cztcbi8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpO1xuICB9XG4gIEBrZXlmcmFtZXMgZmFkZUlue1xuICAgICAgMCUge29wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KX1cbiAgICAxMDAlIHtvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KX1cbiAgfVxuLmZhZGVkLW91dCB7XG4gIGFuaW1hdGlvbjogZmFkZU91dCAwLjZzO1xuLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XG4gIH1cbiAgQGtleWZyYW1lcyBmYWRlT3V0e1xuICAgICAgMCUge29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpfVxuICAgICAgMTAwJSB7b3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpfVxuICB9XG4gIDo6bmctZGVlcCAuY2hlY2tvcHRpb25ib3ggLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtZmxleCAge1xuICAgIGhlaWdodDogNjBweDtcbiAgfSJdfQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJlcnJvci1wYWdlLmNvbXBvbmVudC5zYXNzIn0= */\";","export default \"<div class=\\\"font-IBM bgm-white\\\">\\n  <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\" fxLayout.xs=\\\"column\\\" ng-cloak flex class=\\\"p-20 login text-center\\\">\\n    <div fxLayout-padding fxFlex=\\\"50\\\" fxFlex-xs=\\\"100\\\">\\n      <div class=\\\"p-20\\\">\\n        <img src=\\\"../../../../assets/images/login_logo.png\\\">\\n        <h3 class=\\\"text-center\\\" translate=\\\"sign_to_ex_acc\\\"></h3>\\n        <form name=\\\"Login\\\" id=\\\"login\\\">\\n          <div class=\\\"m-t-30\\\">\\n            <mat-form-field class=\\\"w-70 ds-validate font-IBM\\\" [ngStyle.lt-md]=\\\"{'width':100+'%'}\\\" appearance=\\\"outline\\\">\\n              <input name=\\\"username\\\" [(ngModel)]=\\\"userInfo.username\\\" [ngModelOptions]=\\\"{standalone: true}\\\" matInput\\n                validate noempty=\\\"true\\\" placeholder=\\\"USERNAME\\\">\\n            </mat-form-field>\\n          </div>\\n          <div class=\\\"\\\">\\n            <mat-form-field class=\\\"w-70 ds-validate font-IBM\\\" appearance=\\\"outline\\\" [ngStyle.lt-md]=\\\"{'width':100+'%'}\\\">\\n              <input type=\\\"password\\\" [(ngModel)]=\\\"userInfo.password\\\" [ngModelOptions]=\\\"{standalone: true}\\\" matInput\\n                validate noempty=\\\"true\\\" placeholder=\\\"PASSWORD\\\">\\n            </mat-form-field>\\n          </div>\\n          <a class=\\\"forgot-pass font-IBM\\\" id=\\\"forgot-pass\\\" (click)=\\\"redirectToForgotPassword()\\\"\\n            translate=\\\"forgot_password\\\"></a>\\n          <div layout=\\\"row\\\" layout-sm=\\\"column\\\" class=\\\"m-t-20 login-bottom\\\" layout-xs=\\\"column\\\"\\n            layout-align=\\\"start center\\\" layout-align-xs=\\\"center start\\\" layout-align-sm=\\\"center start\\\" layout-wrap>\\n            <button validate trigger-check=\\\"true\\\" type=\\\"submit\\\" (success)=\\\"loginFunction()\\\"\\n              [ngStyle.lt-md]=\\\"{'width':100+'%'}\\\" class=\\\"w-70 b-r-23 btn-project upper-case btn-color c-white\\\"\\n              color=\\\"primary\\\" mat-raised-button color=\\\"\\\" type=\\\"submit\\\">{{'sign_in' | translate}}</button>\\n          </div>\\n        </form>\\n      </div>\\n    </div>\\n  </div>\\n</div>\";","import { Component } from '@angular/core';\nimport { Settings, AppSettings } from '../../components/shared/services/color-option.service';\n\n@Component({\n  selector: 'app-color-options',\n  templateUrl: './color-options.component.html',\n  styleUrls: ['./color-options.component.sass']\n})\nexport class ColorOptionsComponent {\n  public showOptions:boolean = false;\n  public activeItem: string;\n  public layoutsidebar: boolean = false;\n  public settings: Settings;\n  public dark: boolean;\n\n  public show:boolean = false;\n  public buttonName:any = 'Dark';\n  constructor(public appSettings:AppSettings) { \n    this.settings = this.appSettings.settings; \n  }\n\n  public changeTheme(theme){\n    this.settings.theme = theme;       \n  } \n \n    isActive(menuItem) {\n      return this.activeItem === menuItem\n    }\n\n\n\n   customizeThemeColor(event) {\n    document.documentElement.style.setProperty('--theme-deafult', event.target.value);\n  }\n\n    layoutSidebarToggle() {\n      this.layoutsidebar = !this.layoutsidebar\n    }\n\n    customizeLayoutDark() {\n      document.body.classList.toggle('dark')\n\n      this.show = !this.show;\n\n\n    if(this.show)  \n      this.buttonName = \"Light\";\n    else\n      this.buttonName = \"Dark\";\n  }\n    }\n","export default \"<div class=\\\"d-flex headerClass\\\" fxLayout=\\\"row\\\">\\n    <div fxFlex=\\\"20\\\" fxFlex.xs=\\\"15\\\" fxLayoutAlign=\\\"start center\\\">\\n        <p class=\\\"margin-img\\\">\\n            <a class=\\\"c-white logo\\\"><img src=\\\"../../../../assets/images/logo_small.png\\\" class=\\\"width-img\\\" />\\n            </a>\\n        </p>\\n    </div>\\n    <div fxFlex=\\\"60\\\" fxLayoutAlign=\\\"center center\\\" fxLayoutAlign.sm=\\\"end center\\\" fxLayoutAlign.xs=\\\"end center\\\">\\n        <div class=\\\"text-center sim-m-t-10 c-white\\\">\\n            <span>{{'Checkout' | translate}}</span>\\n            <span class=\\\"text-lowercase\\\">{{'(' + getQuanity() + ' ' + 'items' + ')' }}</span>\\n        </div>\\n        \\n    </div>\\n    <div fxFlex=\\\"20\\\" fxFlex.xs=\\\"15\\\" fxLayoutAlign=\\\"start center\\\">\\n        <span class=\\\"sim-m-t-10 c-white\\\">\\n            {{'Language' | translate}}:\\n            <select (change)=\\\"languageChanged($event)\\\">\\n                <option *ngFor=\\\"let lng of languages\\\"\\n                [value]=\\\"lng\\\">{{lng.toUpperCase()}}</option>\\n        </select>\\n        </span>\\n        </div>\\n</div>\\n<div id=\\\"application\\\">\\n    <div class=\\\"main\\\" fxLayout=\\\"row\\\" fxLayout.lt-lg=\\\"column\\\" style=\\\"position: relative;\\\">\\n        <div class=\\\"firstContent\\\" fxFlex=\\\"70\\\" fxFlex.lt-lg=\\\"100\\\" fxLayout=\\\"column\\\">\\n            <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"start\\\" class=\\\"m-b-30\\\">\\n                <div fxFlex=\\\"100\\\">\\n                    <span class=\\\"headingTitle-f-s-30\\\" translate=\\\"unified_welcome_title\\\"></span>\\n                </div>\\n                <div fxFlex=\\\"100\\\">\\n                    <span class=\\\"subTitle-f-s-16\\\" translate=\\\"unifiedapplication_complete_the_fields_below\\\"></span>\\n                </div>\\n            </div>\\n            <div>\\n                <mat-card *ngIf=\\\"!userService.sponsorSectionPanel\\\" class=\\\"p-7 firstcard\\\">\\n                    <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\">\\n                        <div fxFlex=\\\"61\\\" fxFlex.xs=\\\"100\\\" fxLayout=\\\"row\\\">\\n                            <div class=\\\"headerLogo\\\">\\n                                <a class=\\\"\\\">\\n                                    <img class=\\\"avtar\\\" alt=\\\"companylogo\\\" [src]=\\\"userService.enrollerInfo.ImageUrl\\\">\\n                                </a>\\n                            </div>\\n                            <div class=\\\"enroll_info\\\">\\n                                <span class=\\\"companyLabel\\\" translate=\\\"you_r_shop_with\\\"></span><br>\\n                                <span class=\\\"text-uppercase\\\"\\n                                    [textContent]=\\\"userService.enrollerInfo.FirstName + ' ' + userService.enrollerInfo.LastName\\\"></span>\\n                            </div>\\n                        </div>\\n                        <div fxFlex=\\\"39\\\" fxFlex.xs=\\\"100\\\" fxLayout=\\\"row\\\" class=\\\"\\\">\\n                            <div fxFlex=\\\"51\\\" fxLayoutAlign=\\\"center none\\\" fxLayout=\\\"column\\\">\\n                                <div *ngIf=\\\"!userService.customerTypeID\\\" fxLayoutAlign=\\\"start none\\\">\\n                                    <span class=\\\"companyName\\\" translate=\\\"shop_as\\\"></span>\\n                                </div>\\n                                <div fxLayoutAlign=\\\"start none\\\">\\n                                    <span class=\\\"text-uppercase\\\" [textContent]=\\\"customerTypeDescription()\\\"></span>\\n                                </div>\\n                            </div>\\n                            <div fxFlex=\\\"49\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                <div class=\\\"borderLeft\\\" fxFlex=\\\"5\\\">\\n\\n                                </div>\\n                                <div fxLayoutAlign=\\\"end center\\\" fxFlex=\\\"70\\\" fxFlex.xs=\\\"43\\\">\\n                                    <div fxLayoutAlign=\\\"start center\\\"\\n                                        [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\">\\n                                        <span *ngIf=\\\"selectedCountry\\\" data-bind=\\\"label\\\">\\n                                            <img class=\\\"flag-icon\\\"\\n                                                [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/' + country.CountryCode + '.svg'\\\"\\n                                                onerror=\\\"this.src='assets/images/noimage.png'\\\">\\n                                            <span class=\\\"text-nonecase\\\"\\n                                                data-bind=\\\"label\\\">{{country.CountryCode.toUpperCase()}}</span>\\n                                        </span>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </mat-card>\\n                <mat-expansion-panel [expanded]=\\\"userService.sponsorSectionPanel\\\"\\n                    (opened)=\\\"panelShippingAddress = true ;isPanelOpen= true\\\"\\n                    (closed)=\\\"panelShippingAddress = false ;isPanelOpen = false\\\">\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"m-b-10 p-t-20\\\">\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"95\\\">\\n                                    <span class=\\\"color-f-s-15 f-bold\\\"\\n                                        translate=\\\"unifiedapplication_verify_status\\\"></span>\\n                                </div>\\n                                <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                    <mat-icon class=\\\"c-gray\\\" *ngIf=\\\"userService.sponsorSectionPanel\\\"\\n                                        (click)=\\\"togglePanel()\\\">keyboard_arrow_down\\n                                    </mat-icon>\\n                                </div>\\n                            </div>\\n                            <div>\\n                                <span class=\\\"color-f-s-12\\\" translate=\\\"unifiedapplication_review_continue\\\"></span>\\n                            </div>\\n                        </div>\\n                        <mat-divider></mat-divider>\\n                        <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"space-between none\\\"\\n                            class=\\\"p-t-b-7\\\">\\n                            <div fxLayout=\\\"row\\\" fxFlex.xs=\\\"100\\\" fxFlex=\\\"49\\\" fxLayoutAlign=\\\"space-between center\\\">\\n                                <div fxFlex=\\\"42\\\" fxFlex.md=\\\"30\\\" fxLayoutAlign=\\\"start center\\\">\\n                                    <span class=\\\"color-f-s-11\\\"\\n                                        translate=\\\"unifiedapplication_you_purchasing_from\\\"></span>\\n                                </div>\\n                                <div fxFlex=\\\"56\\\" fxFlex.md=\\\"40\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\"\\n                                    fxLayoutAlign.xs=\\\"end none\\\">\\n                                    <div fxLayoutAlign=\\\"start center\\\" class=\\\"headerLogo\\\" fxFlex=\\\"10\\\" fxFlex.xs=\\\"20\\\">\\n                                        <a class=\\\"\\\">\\n                                            <img class=\\\"avtar\\\" alt=\\\"companylogo\\\"\\n                                                [src]=\\\"userService.enrollerInfo.ImageUrl\\\">\\n                                        </a>\\n                                    </div>\\n                                    <div fxFlex=\\\"80\\\" fxFlex.xs=\\\"64\\\">\\n                                        <button mat-button (click)=\\\"changeAffiliate()\\\"\\n                                            [textContent]=\\\"userService.enrollerInfo.FirstName + ' ' + userService.enrollerInfo.LastName\\\">\\n                                            <mat-icon>\\n                                                keyboard_arrow_down</mat-icon>\\n                                        </button>\\n                                    </div>\\n                                </div>\\n                                <div fxFlex.md=\\\"27\\\" fxFlex=\\\"0\\\"></div>\\n                            </div>\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"49\\\" fxFlex.xs=\\\"100\\\" fxLayoutAlign=\\\"end\\\">\\n                                <div fxFlex.md=\\\"4\\\" fxFlex=\\\"0\\\"></div>\\n                                <div fxFlex=\\\"55\\\" fxFlex.xs=\\\"65\\\" fxFlex.sm=\\\"50\\\" fxFlex.md=\\\"60\\\"\\n                                    fxLayoutAlign=\\\"start center\\\" fxLayoutAlign.md=\\\"end center\\\">\\n                                    <span translate=\\\"unifiedapplication_region_language\\\"></span>\\n                                </div>\\n                                <div *ngIf=\\\"country\\\" fxFlex=\\\"40\\\" fxFlex.md=\\\"30\\\" fxFlex.xs=\\\"39\\\" fxFlex.sm=\\\"33\\\"\\n                                    fxLayoutAlign=\\\"end center\\\" class=\\\"samSpaceButton\\\">\\n                                    <button mat-button>\\n                                        <img class=\\\"flag-icon\\\"\\n                                            [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+ country.CountryCode +'.svg'\\\"\\n                                            onerror=\\\"this.src='assets/images/noimage.png'\\\">\\n                                        <span class=\\\"flag-menu-title\\\">{{country.CountryCode.toUpperCase() + ' | ' +\\n                                            selectedLanguageCode.toUpperCase()}}</span>\\n                                        <!-- <mat-icon>keyboard_arrow_down</mat-icon> -->\\n                                    </button>\\n                                    <mat-menu #langMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\"\\n                                        class=\\\"app-dropdown\\\">\\n                                        <span *ngFor=\\\"let country of allowedCountries\\\">\\n                                            <button mat-menu-item (click)=\\\"updatecountry(country, lng.LanguageCode)\\\"\\n                                                *ngFor=\\\"let lng of country.CountryLanguages\\\">\\n\\n                                                <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+country.CountryCode+'.svg'\\\"\\n                                                    width=\\\"18\\\"> {{country.CountryName}} | {{lng.LanguageName}}\\n                                            </button>\\n                                        </span>\\n                                    </mat-menu>\\n                                </div>\\n                            </div>\\n                        </div>\\n                        <mat-divider></mat-divider>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\" class=\\\"p-t-b-7\\\">\\n                                <span class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_you_purchasing_as\\\"></span>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <app-customer-type-carousel [customerTypes]=\\\"configService.commonSettings.CustomerTypes\\\"\\n                                    [typeSelected]=\\\"typeSelected\\\">\\n                                </app-customer-type-carousel>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </mat-expansion-panel>\\n                <br>\\n            </div>\\n            <div>\\n                <mat-accordion multi hideToggle>\\n                    <!--personal information section-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay = true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        info\\n                                    </mat-icon>\\n\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"Personal_info\\\"></h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n                                    <div fxFlex=\\\"95\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                                <div fxFlex=\\\"49\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_shipto_first_name\\\"></mat-label>\\n                                        <input name=\\\"firstName\\\" matInput [(ngModel)]=\\\"enrollmentForm.FirstName\\\"\\n                                            inputmobilespacendash=\\\"true\\\" noempty=\\\"true\\\" validname=\\\"true\\\"\\n                                            checkOutSection=\\\"true\\\" validate autofocus id=\\\"firstName\\\">\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"49\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_shipto_last_name\\\"></mat-label>\\n                                        <input name=\\\"lastName\\\" matInput [(ngModel)]=\\\"enrollmentForm.LastName\\\"\\n                                            inputmobilespacendash=\\\"true\\\" noempty=\\\"true\\\" validname=\\\"true\\\"\\n                                            checkOutSection=\\\"true\\\" validate id=\\\"lastName\\\">\\n                                    </mat-form-field>\\n                                </div>\\n                            </div>\\n                            <p translate=\\\"company_name_note\\\" class=\\\"f-s-12-m-0\\\"></p>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"company_name\\\">Company Name</mat-label>\\n                                    <input name=\\\"companyName\\\" matInput [(ngModel)]=\\\"enrollmentForm.CompanyName\\\"\\n                                        checkOutSection=\\\"true\\\" validate-maxlength=\\\"25\\\" maxlength=\\\"25\\\" id=\\\"companyName\\\">\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\">\\n\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unifiedapplication_birthdate\\\"></mat-label>\\n                                        <mat-select [(ngModel)]=\\\"enrollmentForm.BirthDay\\\"\\n                                            [(value)]=\\\"enrollmentForm.BirthDay\\\" validate checkOutSection=\\\"true\\\"\\n                                            validate-select=\\\"true\\\"\\n                                            [attr.agelimit]=\\\"enrollmentForm.BirthMonth +'/'+ enrollmentForm.BirthDay +'/'+ enrollmentForm.BirthYear\\\"\\n                                            id=\\\"day\\\" (selectionChange)=\\\"doberror($event)\\\">\\n                                            <mat-option *ngFor=\\\"let day of days\\\" [value]=\\\"day\\\">\\n                                                {{day}}\\n                                            </mat-option>\\n                                        </mat-select>\\n\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_birth_month\\\"></mat-label>\\n                                        <mat-select [(ngModel)]=\\\"enrollmentForm.BirthMonth\\\"\\n                                            [(value)]=\\\"enrollmentForm.BirthMonth\\\"\\n                                            (selectionChange)=\\\"utilityService.birthDays();\\\" validate\\n                                            checkOutSection=\\\"true\\\" validate-select=\\\"true\\\"\\n                                            [attr.agelimit]=\\\"enrollmentForm.BirthMonth +'/'+ enrollmentForm.BirthDay +'/'+ enrollmentForm.BirthYear\\\"\\n                                            id=\\\"month\\\" (selectionChange)=\\\"doberror($event)\\\">\\n                                            <mat-option *ngFor=\\\"let month of months\\\" [value]=\\\"month.value\\\">\\n                                                {{month.text}}\\n                                            </mat-option>\\n                                        </mat-select>\\n\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_birth_year\\\"></mat-label>\\n                                        <mat-select [(ngModel)]=\\\"enrollmentForm.BirthYear\\\"\\n                                            [(value)]=\\\"enrollmentForm.BirthYear\\\"\\n                                            (selectionChange)=\\\"utilityService.birthDays();\\\" validate\\n                                            checkOutSection=\\\"true\\\" validate-select=\\\"true\\\"\\n                                            [attr.agelimit]=\\\"enrollmentForm.BirthMonth +'/'+ enrollmentForm.BirthDay +'/'+ enrollmentForm.BirthYear\\\"\\n                                            id=\\\"year\\\" (selectionChange)=\\\"doberror($event)\\\">\\n                                            <mat-option *ngFor=\\\"let year of years\\\" [value]=\\\"year.value\\\">\\n                                                {{year.text}}\\n                                            </mat-option>\\n                                        </mat-select>\\n\\n                                    </mat-form-field>\\n                                </div>\\n                            </div>\\n                            <ng-container *ngIf=\\\"ageError\\\">\\n                                <div fxFlex=\\\"100\\\" class=\\\"custom-errors\\\">\\n                                    <p> According to your date of birth, you are under the minimum age requirement of\\n                                        18. You must be 18 or above to represent Think Energy as an Energy Advisor.</p>\\n                                </div>\\n                            </ng-container>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--personal infor section ends-->\\n                    <!--billing address starts-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay = true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        location_on\\n                                    </mat-icon>\\n\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"Billing_info\\\"></h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n                                    <div fxFlex=\\\"95\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"Billing_info_street1\\\"></mat-label>\\n                                    <input name=\\\"billing_streetAddress\\\" matInput\\n                                        [(ngModel)]=\\\"enrollmentForm.ApplicantAddress.Street1\\\" checkOutSection=\\\"true\\\"\\n                                        validate noempty=\\\"true\\\" validate-maxlength=\\\"25\\\" maxlength=\\\"25\\\"\\n                                        (focusout)=\\\"copyToShipping()\\\">\\n\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"Billing_info_street2\\\"></mat-label>\\n                                    <input name=\\\"apartment\\\" matInput\\n                                        [(ngModel)]=\\\"enrollmentForm.ApplicantAddress.Street2\\\"\\n                                        (focusout)=\\\"copyToShipping()\\\">\\n                                </mat-form-field>\\n                            </div>\\n\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"Billing_info_city\\\"></mat-label>\\n                                        <input name=\\\"city\\\" matInput [(ngModel)]=\\\"enrollmentForm.ApplicantAddress.City\\\"\\n                                            inputmobilespacendash=\\\"true\\\" noempty=\\\"true\\\" validname=\\\"true\\\" (focusout)=\\\"copyToShipping()\\\"\\n                                            checkOutSection=\\\"true\\\" validate>\\n\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"Billing_info_State\\\"></mat-label>\\n                                        <mat-select [(ngModel)]=\\\"enrollmentForm.ApplicantAddress.Region\\\"\\n                                            (selectionChange)=\\\"getStateName(true);copyToShipping()\\\" validate noempty=\\\"true\\\"\\n                                            validate-select checkOutSection=\\\"true\\\" id=\\\"regions\\\">\\n                                            <mat-option *ngFor=\\\"let state of states\\\" [value]=\\\"state.StateCode\\\">\\n                                                {{state.StateName}}\\n                                            </mat-option>\\n                                        </mat-select>\\n                                    </mat-form-field>\\n                                </div>\\n\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"Billing_info_zip\\\">Zip</mat-label>\\n                                        <input name=\\\"zip\\\" matInput\\n                                            [(ngModel)]=\\\"enrollmentForm.ApplicantAddress.PostalCode\\\" validate\\n                                            checkOutSection=\\\"true\\\" noempty=\\\"true\\\" custommsg=\\\"invalid_zip\\\"\\n                                            (focusout)=\\\"regexValidateBillingZip(selectedCountry,enrollmentForm.ApplicantAddress.PostalCode);checkstate(enrollmentForm.ApplicantAddress.Region,'billing');copyToShipping()\\\" />\\n                                        <ng-container *ngIf=\\\"showErrorBilling\\\">\\n                                            <div>\\n                                                <small class=\\\"help-block has-errors\\\">Invalid Zip code</small>\\n                                            </div>\\n                                        </ng-container>\\n                                    </mat-form-field>\\n                                </div>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"country_code\\\"></mat-label>\\n                                    <input matInput [(ngModel)]=\\\"country.CountryName\\\" [disabled]=\\\"true\\\">\\n                                </mat-form-field>\\n                            </div>\\n                        </div>\\n                        <br>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--billing address ends-->\\n                    <!--shipping starts-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay = true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        local_shipping\\n                                    </mat-icon>\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_mailing_address\\\"></h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n                                    <div fxFlex=\\\"95\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\" class=\\\"checkbox\\\">\\n                                <mat-checkbox [(ngModel)]=\\\"enrollmentForm.billingAddressSame\\\"\\n                                    (change)=\\\"checkboxBilling($event)\\\" name=\\\"sameBillingCheck\\\"\\n                                    [checked]=\\\"enrollmentForm.billingAddressSame\\\" validate style=\\\"margin-bottom: 10px;\\\">\\n                                    <p class=\\\"color2-f-s-12\\\"\\n                                        translate=\\\"unifiedapplication_same_billing_address_checkbox\\\">\\n                                    </p>\\n                                </mat-checkbox>\\n                            </div>\\n                            <p class=\\\"f-s-12-m-0\\\" translate=\\\"no_po_box_shipping_address\\\">PO Box address(es) are not allowed as the Shipping Address.</p>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"unified_shipto_address\\\"></mat-label>\\n                                    <input name=\\\"streetAddress\\\" matInput (focusout)=\\\"checkaddressPO(enrollmentForm.ShippingAddress.Street1)\\\" (input)=\\\"checkaddressPO(enrollmentForm.ShippingAddress.Street1,1)\\\"\\n                                        [(ngModel)]=\\\"enrollmentForm.ShippingAddress.Street1\\\" checkOutSection=\\\"true\\\"\\n                                        validate noempty=\\\"true\\\" validate-maxlength=\\\"25\\\" maxlength=\\\"25\\\"\\n                                        id=\\\"notcheckedstreet1\\\" class=\\\"shippingAddress\\\">\\n                                    <ng-container *ngIf=\\\"ShippingError1\\\">\\n                                        <div>\\n                                            <small class=\\\"help-block has-errors\\\">PO Box addresses are not allowed. Please use physical street address.</small>\\n                                        </div>\\n                                    </ng-container>\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"unified_shipto_address2\\\"></mat-label>\\n                                    <input name=\\\"apartment\\\" matInput validate (focusout)=\\\"checkaddressPO(enrollmentForm.ShippingAddress.Street2)\\\" (input)=\\\"checkaddressPO(enrollmentForm.ShippingAddress.Street2,2)\\\"\\n                                        [(ngModel)]=\\\"enrollmentForm.ShippingAddress.Street2\\\" id=\\\"notcheckedstreet2\\\" class=\\\"shippingAddress\\\">\\n                                        <ng-container *ngIf=\\\"ShippingError2\\\">\\n                                          <div>\\n                                              <small class=\\\"help-block has-errors\\\">PO Box addresses are not allowed. Please use physical street address.</small>\\n                                          </div>\\n                                      </ng-container>\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_shipto_city\\\"></mat-label>\\n                                        <input name=\\\"city\\\" class=\\\"shippingAddress\\\" matInput [(ngModel)]=\\\"enrollmentForm.ShippingAddress.City\\\"\\n                                            inputmobilespacendash=\\\"true\\\" noempty=\\\"true\\\" validname=\\\"true\\\"\\n                                            checkOutSection=\\\"true\\\" validate>\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate \\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_shipto_state\\\"></mat-label>\\n                                        <mat-select class=\\\"shippingAddress\\\" [(ngModel)]=\\\"enrollmentForm.ShippingAddress.Region\\\"\\n                                            (selectionChange)=\\\"getStateName(true);getpaymentMethod(enrollmentForm.ShippingAddress.Region)\\\" validate noempty=\\\"true\\\"\\n                                            validate-select checkOutSection=\\\"true\\\" id=\\\"regionsshipping\\\" [disabled]=\\\"enrollmentForm.billingAddressSame\\\">\\n                                            <mat-option *ngFor=\\\"let state of states\\\" [value]=\\\"state.StateCode\\\">\\n                                                {{state.StateName}}\\n                                            </mat-option>\\n                                        </mat-select>\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"30\\\" fxFlex.lt-sm=\\\"100\\\">\\n                                    <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unified_shipto_zipcode\\\">Zip</mat-label>\\n                                        <input name=\\\"zip\\\" matInput validate noempty=\\\"true\\\" [attr.regexcountry]\\n                                            [(ngModel)]=\\\"enrollmentForm.ShippingAddress.PostalCode\\\" validate\\n                                            checkOutSection=\\\"true\\\" custommsg=\\\"INVALID ZIP\\\" class=\\\"shippingAddress\\\"\\n                                            (focusout)=\\\"regexValidateShippingZip(selectedCountry,enrollmentForm.ShippingAddress.PostalCode);checkstate(enrollmentForm.ShippingAddress.Region,'shipping')\\\">\\n                                        <ng-container *ngIf=\\\"showErrorShipping\\\">\\n                                            <div>\\n                                                <small class=\\\"help-block has-errors\\\">Invalid Zip code</small>\\n                                            </div>\\n                                        </ng-container>\\n                                    </mat-form-field>\\n                                </div>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"country_code\\\"></mat-label>\\n                                    <input matInput [(ngModel)]=\\\"country.CountryName\\\" [disabled]=\\\"true\\\">\\n                                </mat-form-field>\\n                            </div>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--shipping ends-->\\n                    <!--email section starts-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay = true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        alternate_email\\n                                    </mat-icon>\\n\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"email_address\\\"></h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n                                    <div fxFlex=\\\"95\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"unifiedapplication_email_Add\\\"></mat-label>\\n                                    <input name=\\\"email\\\" matInput [(ngModel)]=\\\"emails\\\" email=\\\"true\\\" noempty=\\\"true\\\"\\n                                        (focusout)=\\\"enrollmentEmailVerification(emails);\\\" validate nospaceallow=\\\"true\\\"\\n                                        checkOutSection=\\\"true\\\" id=\\\"email\\\">\\n                                </mat-form-field>\\n                            </div>\\n                            <ng-container *ngIf=\\\"emailAlreadyexist\\\">\\n                                <div>\\n                                    <small class=\\\"help-block\\\">The email address you provided is already in use by an\\n                                        existing Energy Advisor account. Please provide an email address not currently\\n                                        in use by another Energy Advisor</small>\\n                                </div>\\n                            </ng-container>\\n                            <div fxFlex=\\\"80\\\">\\n                                <p style=\\\"font-size: 10px;\\\"\\n                                translate=\\\"email_msg_optin\\\">\\n                                    (To help stay in touch with the growth of your business\\n                                    through email notifications of customer enrollments, downline Energy Advisor\\n                                    enrollments and rank advancements, as well as other messages, we strongly suggest\\n                                    you opt-in to email messaging. You will have the option of changing these settings\\n                                    within your Think+ Portal, at a later time, if you so desire.)</p>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"4\\\" class=\\\"ds-validate\\\" fxFlex.xs=\\\"8\\\">\\n                                    <mat-checkbox [(ngModel)]=\\\"enrollmentForm.subscribeToCorporateEmails\\\"\\n                                        mat-checkbox-checked>\\n                                    </mat-checkbox>\\n                                </div>\\n                                <div fxFlex=\\\"96\\\" fxFlex.xs=\\\"92\\\">\\n                                    <p class=\\\"color2-f-s-12\\\"\\n                                        translate=\\\"unifiedapplication_yes_receive_emails_about_business\\\">\\n                                    </p>\\n                                </div>\\n\\n                            </div>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--email section ends-->\\n                    <!--phone section starts-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay = true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        mobile_friendly\\n                                    </mat-icon>\\n\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_mobile_phone\\\"></h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n                                    <div fxFlex=\\\"95\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" id=\\\"preventIphoneselect\\\">\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"unifiedapplication_mobile_phone\\\"></mat-label>\\n                                    <input name=\\\"phoneNumber\\\" id=\\\"myInput\\\" validate matInput\\n                                        [(ngModel)]=\\\"enrollmentForm.PrimaryPhone\\\" (contextmenu)=\\\"preventmenu($event)\\\" phoneno=\\\"true\\\" inputonlynumber=\\\"true\\\"\\n                                        checkOutSection=\\\"true\\\" maxlength=\\\"20\\\" minlength=\\\"10\\\" class=\\\"billingFormInput\\\">\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"unifiedapplication_text_phone\\\"></mat-label>\\n                                    <input name=\\\"phoneNumber\\\" validate id=\\\"textnumber\\\" matInput\\n                                        [(ngModel)]=\\\"enrollmentForm.TextNumber\\\" phoneno=\\\"true\\\" inputonlynumber=\\\"true\\\"\\n                                        checkOutSection=\\\"true\\\"\\n                                        [attr.noempty]=\\\"enrollmentForm.subscribeToCorporateTexts?'true':null\\\"\\n                                        minlength=\\\"10\\\" maxlength=\\\"20\\\" class=\\\"billingFormInput\\\"\\n                                        (change)=\\\"validateTextNumber($event)\\\"\\n                                        class=\\\"TextNumberInput\\\">\\n                                </mat-form-field>\\n                            </div>\\n\\n                            <div fxFlex=\\\"80\\\">\\n                                <p style=\\\"font-size: 10px;\\\"\\n                                translate=\\\"sms_msg_optin\\\">\\n                                    (For real-time notifications to your phone, we strongly\\n                                    suggest you opt-in to SMS / MMS messaging. By receiving SMS /MMS messages, you will\\n                                    be able to know of customer enrollments, downline Energy Advisor enrollments and\\n                                    rank advancements, as well as other messages. You will have the option of changing\\n                                    these settings within your Think+ Portal, at a later time, if you so desire.)</p>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"4\\\" class=\\\"ds-validate\\\" fxFlex.xs=\\\"8\\\">\\n                                    <mat-checkbox id=\\\"textnum\\\" custommsg=\\\"In order to Opt-In to SMS / MMS messaging, you must\\n                                    provide a valid Text Phone Number. Please enter one now.\\\"\\n                                        [attr.checkbox-validate]=\\\"enrollmentForm.subscribeToCorporateTexts?'true':null\\\"\\n                                        [(ngModel)]=\\\"enrollmentForm.subscribeToCorporateTexts\\\"\\n                                        (change)=\\\"textNumberCheckboxStateChanged($event)\\\">\\n                                    </mat-checkbox>\\n                                </div>\\n                                <div fxFlex=\\\"96\\\" fxFlex.xs=\\\"92\\\">\\n                                    <p class=\\\"color2-f-s-12\\\"\\n                                        translate=\\\"unifiedapplication_yes_receive_texts_about_business\\\">\\n                                    </p>\\n                                </div>\\n                            </div>\\n                            <ng-container *ngIf=\\\"((enrollmentForm.subscribeToCorporateTexts)&&(textnumberempty))\\\">\\n                                <div>\\n                                    <small class=\\\"help-block\\\">In order to Opt-In to SMS / MMS messaging, you must\\n                                        provide a valid Text Phone Number. Please enter one now.</small>\\n                                </div>\\n                            </ng-container>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--phone section ends-->\\n                    <!--username section start-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay = true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        account_circle\\n                                    </mat-icon>\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_username\\\"></h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n                                    <div fxFlex=\\\"95\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\" fxFlex.xs=\\\"100\\\">\\n                                <mat-form-field class=\\\"ds-validate\\\" fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label translate=\\\"unifiedapplication_choose_username\\\"></mat-label>\\n                                    <input name=\\\"userName\\\" matInput [(ngModel)]=\\\"enrollmentForm.Username\\\"\\n                                        nospaceallow=\\\"true\\\" validate NOunderscore=\\\"true\\\" validname=\\\"true\\\"\\n                                        (focusout)=\\\"verifyUsername(enrollmentForm.Username);\\\"\\n                                        (copy)=\\\"$event.preventDefault()\\\" (paste)=\\\"$event.preventDefault()\\\">\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"80\\\">\\n                                <p style=\\\"font-size: 10px;\\\"\\n                                translate=\\\"submit_requested_username\\\">\\n                                    (Please submit your requested Username. Your username\\n                                    will be the unique ending to your ThinkEnergy.com website as well as your login\\n                                    username for the Think+ Portal where you can manage and track your efforts as an\\n                                    Energy Advisor. The Username must be unique and not currently in use by any\\n                                    existing Energy Advisors. If you do not wish to select a username at this\\n                                    moment, you can continue on and select a username later through your Think+\\n                                    Portal. In the meantime me, a unique Energy Advisor ID number will be your\\n                                    default username.)</p>\\n                            </div>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--username section ends-->\\n                    <!--checkbox section start-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay= true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        check_circle_outline\\n                                    </mat-icon>\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_step_4_Checkbox_section\\\">\\n                                    </h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n\\n                                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                        <div fxFlex=\\\"95\\\">\\n                                        </div>\\n                                        <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                            <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"100\\\" class=\\\"mat-form-field ds-validate\\\" fxFlex.xs=\\\"100\\\">\\n                                    <mat-checkbox [(ngModel)]=\\\"agreetoconditions\\\" validate custommsg=\\\"Before completing your enrollment as an Energy Advisor it\\n                                    is required you review and acknowledge you're understanding of the Think+\\n                                    Representative Agreement, Policies & Procedures and Compensation Plan. Please\\n                                    confirm you have reviewed these documents to continue the enrollment\\n                                    process.\\\" (change)=\\\"checkboxFunction($event)\\\" checkbox-validate=\\\"true\\\">\\n                                        <p class=\\\"color-f-s-13\\\"\\n                                        translate=\\\"acknowledge_receipt_advisor_agreements\\\">\\n                                            Please acknowledge the receipt of the Think+ Energy Advisor Agreements. All\\n                                            Agreement documents are listed in the “Policies” block (below the Order\\n                                            Summary).\\n                                        </p>\\n                                    </mat-checkbox>\\n                                </div>\\n                            </div>\\n                            <br>\\n                            <div>\\n                                <p class=\\\"f-s-12\\\"\\n                                translate=\\\"acknowledge_receipt_advisor_agreements_note\\\">\\n                                    Note: the enrollment fee is a one-time fee, with an annual renewal fee on your\\n                                    enrollment anniversary.</p>\\n                            </div>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n\\n                    <!-- checkbox for criminal history -->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay= true ;isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"99\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        check_circle_outline\\n                                    </mat-icon>\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_step_5_Checkbox_section\\\">\\n                                    </h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"1\\\">\\n\\n                                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                        <div fxFlex=\\\"95\\\">\\n                                        </div>\\n                                        <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                            <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"80\\\">\\n                                <p style=\\\"font-size: 13px;\\\">{{\\\"energywell_criminalhistory_note\\\" | translate}}</p>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"100\\\" class=\\\"mat-form-field ds-validate\\\" fxFlex.xs=\\\"100\\\">\\n                                    <mat-checkbox [(ngModel)]=\\\"criminalCheck\\\" validate\\n                                        id=\\\"criminalCheck\\\" checkbox-validate=\\\"true\\\"\\n                                        custommsg=\\\"In order for you to complete your enrollment as an Energy\\n                                        Advisor you are required to submit to a Criminal Background Check.\\\">\\n                                        <p class=\\\"color-f-s-13\\\">{{\\\"energywell_agree_to_criminalhistory\\\" | translate}}\\n                                        </p>\\n                                    </mat-checkbox>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--checkbox section ends-->\\n                    <!--payment section start-->\\n                    <mat-expansion-panel (opened)=\\\"panelDisplay= true; isPanelOpen= true\\\"\\n                        (closed)=\\\"panelDisplay = false ;isPanelOpen = false\\\" [expanded]=\\\"true\\\">\\n                        <mat-expansion-panel-header>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"80\\\">\\n                                    <mat-icon [ngClass]=\\\"{'is-clicked' : true, 'mat-icon-collapsed' : true}\\\"\\n                                        class=\\\"md-default-theme md-toggle-icon pull-left material-icons c-gray\\\"\\n                                        role=\\\"img\\\">\\n                                        credit_card\\n                                    </mat-icon>\\n                                    <h4 class=\\\"color-f-s-15\\\" translate=\\\"unifiedapplication_payment_method\\\">Payment\\n                                        Method\\n                                    </h4>\\n                                </div>\\n                            </ng-container>\\n                            <ng-container>\\n                                <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                    <div fxFlex=\\\"95\\\">\\n                                    </div>\\n                                    <div fxLayoutAlign=\\\"end none\\\" fxFlex=\\\"5\\\" class=\\\"editIcon\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">keyboard_arrow_down</mat-icon>\\n                                    </div>\\n                                </div>\\n                            </ng-container>\\n                        </mat-expansion-panel-header>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field fxFlex appearance=\\\"outline\\\">\\n                                    <mat-label\\n                                        *ngIf=\\\"userService.paymentMethods.length > 0 && !userService.isPaymentChanged\\\">\\n                                        <span [textContent]=\\\"userService.paymentMethods[0].CardType\\\"></span>\\n                                        <span [textContent]=\\\"userService.paymentMethods[0].Last4\\\"></span>\\n                                    </mat-label>\\n                                    <mat-label *ngIf=\\\"userService.paymentMethods.length == 0\\\"\\n                                        translate=\\\"unified_add_payment_method\\\"></mat-label>\\n                                    <mat-select>\\n                                        <mat-select-trigger>\\n                                            <span *ngIf=\\\"userService.paymentMethods.length > 0\\\">\\n                                                {{userService.paymentMethods[0].CardType}} {{ ' ' }}\\n                                                {{userService.paymentMethods[0].Last4}} </span>\\n                                            <span *ngIf=\\\"userService.paymentMethods.length == 0\\\"\\n                                                [textContent]=\\\"'unified_add_payment_method' | translate\\\"></span>\\n                                        </mat-select-trigger>\\n                                        <mat-option [textContent]=\\\"'unified_add_payment_method' | translate\\\">\\n                                        </mat-option>\\n                                        <ng-container *ngIf=\\\"paymentService.PaymentTypeResponse['AllowedMethods']\\\">\\n                                            <mat-option\\n                                                *ngFor=\\\"let addpayments of paymentService.PaymentTypeResponse['AllowedMethods']\\\"\\n                                                value=\\\"Credit Card\\\" validate trigger-check='true' (success)=\\\"addSavePayment(addpayments);\\\"\\n                                                class=\\\"c-color1\\\" [attr.merchant_id]=\\\"addpayments.MerchantID\\\"\\n                                                [innerHTML]=\\\"addpayments.DisplayName | paymentTranslate:addpayments.DisplayName\\\"\\n                                                translate></mat-option>\\n                                        </ng-container>\\n                                    </mat-select>\\n                                </mat-form-field>\\n                            </div>\\n                            <div class=\\\"ds-row__item clearfix m-l-0\\\"\\n                                *ngIf=\\\"userService.paymentMethods.length >0 && (paymentService.SelectedPaymentTypes.CanSavePayments == false || paymentService.SelectedPaymentTypes.CanSavePayments == 'false')\\\">\\n                                <span class=\\\"ds-row__item clearfix\\\" *ngIf=\\\"!userService.paymentMethods[0]?.Redirect\\\"\\n                                    [innerHTML]=\\\"('order_pending') | translate\\\" translate></span>\\n                                <span class=\\\"ds-row__item clearfix\\\" *ngIf=\\\"userService.paymentMethods[0]?.Redirect\\\"\\n                                    [innerHTML]=\\\"('order_needs_redirect') | translate\\\" translate></span>\\n                                <span [innerHTML]=\\\"('click_here_payment_inst') | translate\\\">\\n                                </span>\\n                            </div>\\n                            <div class=\\\"ds-row__item m-t-10\\\" *ngIf=\\\"userService.paymentMethods.length >0\\\">\\n                                <div class=\\\"m-b-10\\\">\\n                                    <span class=\\\"f-s-12\\\" [textContent]=\\\"userService.paymentMethods[0].CardType\\\"></span>\\n                                    <span class=\\\"f-s-12\\\" *ngIf=\\\"userService.paymentMethods[0].Last4\\\"\\n                                        translate=\\\"unifiedapplication_card_ending_in\\\"></span>\\n                                    <span class=\\\"f-s-12\\\" [textContent]=\\\"userService.paymentMethods[0].Last4\\\"></span>\\n                                    <br>\\n                                    <span\\n                                        *ngIf=\\\"userService.paymentMethods[0].ExpireMonth!==0 && userService.paymentMethods[0].ExpireYear!==0\\\">\\n                                        <span>{{'expires'|translate}}</span>&nbsp; <span\\n                                            [textContent]=\\\"userService.paymentMethods[0].ExpireMonth\\\"></span> /\\n                                        <span [textContent]=\\\"userService.paymentMethods[0].ExpireYear\\\"></span>\\n                                    </span>\\n                                </div>\\n                            </div>\\n\\n                            <div fxFlex=\\\"100\\\" class=\\\"m-t-10\\\" *ngIf=\\\"false\\\">\\n\\n                                <mat-radio-group #radioGroup=\\\"matRadioGroup\\\"\\n                                    [(ngModel)]=\\\"enrollmentForm.billingAddressSame\\\" aria-label=\\\"Select an option\\\"\\n                                    fxLayout=\\\"column\\\">\\n                                    <mat-label class=\\\"color-f-s-13\\\"\\n                                        translate=\\\"unifiedapplication_what_shipping_address\\\">\\n                                    </mat-label>\\n                                    <mat-radio-button class=\\\"m-b-10 color2-f-s-12\\\" [value]=\\\"true\\\">\\n                                        {{\\\"unifiedapplication_use_same_address\\\" | translate}}</mat-radio-button>\\n                                    <mat-radio-button class=\\\"m-b-10 color2-f-s-12\\\" [value]=\\\"false\\\">\\n                                        {{\\\"unifiedapplication_different_shipping_adddress\\\" | translate}}\\n                                    </mat-radio-button>\\n                                </mat-radio-group>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <ng-container *ngIf=\\\"enrollmentForm.billingAddressSame\\\">\\n                                    <form>\\n\\n                                    </form>\\n                                </ng-container>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\" *ngIf=\\\"false\\\">\\n                                <mat-radio-group aria-label=\\\"Select an option\\\" fxLayout=\\\"column\\\"\\n                                    [(ngModel)]=\\\"userService.selectedShippingMethod\\\">\\n                                    <mat-label class=\\\"color-f-s-13\\\" translate=\\\"unifiedapplication_choosing_a_shipping\\\">\\n                                    </mat-label>\\n                                    <mat-radio-button class=\\\"m-b-10 color2-f-s-12\\\" [value]=\\\"shipmethod.ShipMethodId\\\"\\n                                        *ngFor=\\\"let shipmethod of userService.shippingMethods\\\" (click)=\\\"getShipName()\\\">\\n\\n\\n                                        <div fxLayout=\\\"column\\\">\\n                                            <div>\\n                                                <span [textContent]=\\\"shipmethod.Description\\\"></span> &nbsp;&nbsp;\\n                                                <span\\n                                                    [textContent]=\\\"shipmethod.ShippingAmount | currency:companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                            </div>\\n                                        </div>\\n                                    </mat-radio-button>\\n                                </mat-radio-group>\\n                            </div>\\n                            <div *ngIf=\\\"false\\\">\\n                                <mat-radio-group aria-label=\\\"Select an option\\\" fxLayout=\\\"column\\\"\\n                                    [(ngModel)]=\\\"userService.selectedShippingMethod\\\">\\n\\n                                    <mat-label class=\\\"color-f-s-13\\\" translate=\\\"unifiedapplication_choosing_a_shipping\\\">\\n                                    </mat-label>\\n                                    <mat-radio-button class=\\\"m-b-10 color2-f-s-12\\\" [value]=\\\"shipmethod.ShipMethodId\\\"\\n                                        *ngFor=\\\"let shipmethod of userService.shippingMethods\\\"\\n                                        (click)=\\\"getShipName(shipmethod.ShipMethodId)\\\">\\n                                        <div fxLayout=\\\"column\\\">\\n                                            <div>\\n                                                <span [textContent]=\\\"shipmethod.Description\\\"></span> &nbsp;&nbsp;\\n                                                <span\\n                                                    [textContent]=\\\"shipmethod.ShippingAmount | currency:companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                            </div>\\n                                        </div>\\n                                    </mat-radio-button>\\n                                </mat-radio-group>\\n                            </div>\\n                        </div>\\n                    </mat-expansion-panel>\\n                    <br>\\n                    <!--payment section ends-->\\n                </mat-accordion>\\n            </div>\\n        </div>\\n        <!--Side Cart starts here-->\\n        <div class=\\\"secondContent\\\" fxFlex=\\\"100\\\" fxFlex.lt-lg=\\\"100\\\" id=\\\"sideCartBox\\\"\\n            [ngClass]=\\\"{'full-sideCartBox-height' : isPanelOpen}\\\" (opened)=\\\"isPanelOpen= true\\\"\\n            (closed)=\\\"isPanelOpen = false\\\">\\n            <mat-card>\\n                <mat-accordion [togglePosition]=\\\"'before'\\\" multi>\\n                    <div fxLayout=\\\"column\\\" class=\\\"p-t-9\\\">\\n                        <div fxlayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"7\\\" fxLayoutAlign=\\\"start none\\\" class=\\\"p-r-25\\\">\\n                                <mat-icon matBadge=\\\"{{getQuanity()}} \\\" matBadgeOverlap=\\\"true\\\" matBadgeSize=\\\"small\\\"\\n                                    class=\\\"c-gray\\\">\\n                                    shopping_cart</mat-icon>\\n                            </div>\\n                            <div fxFlex=\\\"75\\\" fxLayout=\\\"column\\\">\\n                                <div>\\n                                    <span class=\\\"orderSummary\\\" translate=\\\"unifiedapplication_order_summary\\\"></span>\\n                                </div>\\n                                <!-- <div>\\n                                    <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_global_total\\\"></span>\\n                                    <span *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\" class=\\\"itemCount\\\"\\n                                        [textContent]=\\\"': (' + getOrderQuanity()+ ' items)'\\\"></span>\\n                                </div> -->\\n                            </div>\\n                            <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"none end\\\" fxLayout=\\\"column\\\">\\n                                <div *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\">\\n                                    <strong\\n                                        [textContent]=\\\"(orderService.calculateOrderResponse.Total) ? (orderService.calculateOrderResponse.Total) : 0 | currency:companyService.selectedCurrency.CurrencyCode\\\"></strong>\\n                                </div>\\n                                <div>\\n                                    <!-- <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_global_pv\\\"></span>\\n                                    <span class=\\\"itemCount\\\" *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\">:\\n                                        {{((orderService?.orderBusinessVolume) || 0)}}</span>\\n                                    <span class=\\\"itemCount\\\" *ngIf=\\\"itemsService.selectedOrderItems.length==0\\\">:\\n                                        {{((orderService?.autoorderBusinessVolume)||0)}}</span> -->\\n                                </div>\\n                            </div>\\n                        </div>\\n                        <!-- Section For Pack Items -->\\n                        <div class=\\\"m-t-b-40-15\\\" *ngIf=\\\"itemsService.selectedPacks.length > 0\\\">\\n\\n                            <div fxLayout=\\\"column\\\" class=\\\"in collapse\\\" aria-expanded=\\\"true\\\" aria-hidden=\\\"false\\\">\\n                                <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('pack'), let i = index\\\"\\n                                    class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                                    <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                                        <img class=\\\"img-avatar\\\"\\n                                            [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                                            [default]=\\\"'assets/images/noimage.png'\\\">\\n                                    </div>\\n                                    <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\" fxFlex=\\\"67\\\">\\n                                        <h3 class=\\\"product_detail_text1 color3-f-s-13\\\"\\n                                            [textContent]=\\\"item.ProductName | slice:0:40\\\"\\n                                            matTooltip=\\\"{{item.ProductName}}\\\"\\n                                            *ngIf=\\\"item.ProductName !== 'Enrollment Fee'\\\"></h3>\\n                                        <h3 class=\\\"product_detail_text1 color3-f-s-13\\\"\\n                                            matTooltip=\\\"{{item.ProductName}}\\\"\\n                                            *ngIf=\\\"item.ProductName === 'Enrollment Fee'\\\">{{\\\"enrollment_fee\\\" | translate}}</h3>\\n                                        <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\"\\n                                            [textContent]=\\\"item.selectedOptions\\\"></span>\\n                                        <!-- <p class=\\\"product_detail_qv  m-b-0\\\">{{'global_pv'|translate}}<span> :\\n                                                    {{item.Quantity * (item.CV || item.QV || 0)}}</span>\\n                                            </p> -->\\n                                    </div>\\n                                    <div fxFlex=\\\"2\\\">\\n                                        <div class=\\\"md-secondary-container\\\">\\n                                            <div class=\\\"price_set\\\">\\n                                                <p\\n                                                    [textContent]=\\\"(item.Quantity * item.Price) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                                                </p>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <!-- <mat-expansion-panel>\\n                                <mat-expansion-panel-header>\\n                                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                        <div fxLayout=\\\"column\\\" fxFlex=\\\"80\\\">\\n                                            <div>\\n                                                <span class=\\\"color3-f-s-13\\\"\\n                                                    translate=\\\"unifiedapplication_shop_kit_order\\\"></span>\\n                                            </div>\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_sub_total\\\"></span>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"': (' + getPacksQuanity()+ ' items)'\\\"></span>\\n                                            </div>\\n                                        </div>\\n                                        <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"none end\\\" fxLayout=\\\"column\\\">\\n                                            <div *ngIf=\\\"orderService.packTotal\\\">\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"orderService.packTotal | currency: companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                            </div>\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_global_pv\\\"></span>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"' : ' + (orderService.packBusinessVolume || 0)\\\"></span>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </mat-expansion-panel-header>\\n                                <div fxLayout=\\\"column\\\" class=\\\"in collapse borderTop\\\" aria-expanded=\\\"true\\\"\\n                                    aria-hidden=\\\"false\\\">\\n                                    <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('pack'), let i = index\\\"\\n                                        class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                                        <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                                            <img class=\\\"img-avatar\\\"\\n                                                [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                                                [default]=\\\"'assets/images/noimage.png'\\\">\\n                                        </div>\\n                                        <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\"\\n                                            fxFlex=\\\"67\\\">\\n                                            <h3 class=\\\"product_detail_text1 color3-f-s-13\\\"\\n                                                [textContent]=\\\"item.ProductName | slice:0:40\\\"\\n                                                matTooltip=\\\"{{item.ProductName}}\\\"></h3>\\n                                            <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\"\\n                                                [textContent]=\\\"item.selectedOptions\\\"></span>\\n                                            <p class=\\\"product_detail_qv  m-b-0\\\">{{'global_pv'|translate}}<span> :\\n                                                    {{item.Quantity * (item.CV || item.QV || 0)}}</span>\\n                                            </p>\\n                                        </div>\\n                                        <div fxFlex=\\\"8\\\">\\n                                            <div class=\\\"md-secondary-container\\\">\\n                                                <div class=\\\"price_set\\\">\\n                                                    <p\\n                                                        [textContent]=\\\"(item.Quantity * item.Price) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                                                    </p>\\n                                                </div>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </mat-expansion-panel> -->\\n                            <mat-divider></mat-divider>\\n                        </div>\\n                        <!-- Section For Orders Items -->\\n                        <div class=\\\"m-t-b-15\\\" *ngIf=\\\"itemsService.selectedOrderItems.length > 0\\\">\\n                            <mat-expansion-panel>\\n                                <mat-expansion-panel-header>\\n                                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                        <div fxLayout=\\\"column\\\" fxFlex=\\\"80\\\">\\n                                            <div>\\n                                                <span class=\\\"color3-f-s-13\\\"\\n                                                    translate=\\\"unifiedapplication_initial_order\\\"></span>\\n                                            </div>\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_sub_total\\\"></span>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"': (' + getOrderQuanity()+ ' items)'\\\"></span>\\n                                            </div>\\n                                        </div>\\n                                        <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"none end\\\" fxLayout=\\\"column\\\">\\n                                            <div *ngIf=\\\"orderService.orderTotal\\\">\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"orderService.orderTotal ? orderService.orderTotal : 0 | currency: companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                            </div>\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    translate=\\\"unifiedapplication_global_pv\\\"></span><span\\n                                                    class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"' : ' + (orderService?.orderBusinessVolume || 0)\\\"></span>\\n                                            </div>\\n                                        </div>\\n\\n                                    </div>\\n                                </mat-expansion-panel-header>\\n                                <div fxLayout=\\\"column\\\" class=\\\"in collapse borderTop\\\" aria-expanded=\\\"true\\\"\\n                                    aria-hidden=\\\"false\\\">\\n                                    <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('order')\\\"\\n                                        class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                                        <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                                            <img class=\\\"img-avatar\\\"\\n                                                [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                                                alt=\\\"'assets/images/noimage.png'\\\">\\n                                        </div>\\n                                        <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\"\\n                                            fxFlex=\\\"67\\\">\\n                                            <h3 class=\\\"product_detail_text1 color3-f-s-13\\\"\\n                                                [textContent]=\\\"item.ProductName | slice:0:40\\\"\\n                                                [matTooltip]=\\\"item.ProductName\\\"></h3>\\n                                            <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\"\\n                                                [textContent]=\\\"item.selectedOptions\\\"></span>\\n                                            <p class=\\\"product_detail_qv  m-b-0\\\">{{'global_pv'|translate}}<span> :\\n                                                    {{item.Quantity * (item.CV || item.QV || 0)}}</span>\\n                                            </p>\\n                                            <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                                                <span class=\\\"input-group-btn\\\">\\n                                                    <button mat-button-icon class=\\\"\\\"\\n                                                        (click)=\\\"decreaseQuantiy('order', item);closeCart()\\\"\\n                                                        type=\\\"button\\\">\\n                                                        <mat-icon class=\\\"c-gray\\\">remove</mat-icon>\\n                                                    </button>\\n                                                </span>\\n                                                <input type=\\\"text\\\"\\n                                                    [(ngModel)]=\\\"getQuantityModel('order', item)[item.ItemID]\\\"\\n                                                    (change)=\\\"checkQuantity('order', item); closeCart()\\\"\\n                                                    (keyup)=\\\"($event.which === 38) ? increaseQuantiy('order', item) : 0\\\"\\n                                                    (keydown)=\\\"($event.which === 40) ? decreaseQuantiy('order', item) : 0 ; closeCart()\\\"\\n                                                    (keypress)=\\\"getLastQuantity('order', item)\\\"\\n                                                    (ngInit)=\\\"getQuantityModel('order', item)[item.ItemID] ? getQuantityModel('order', item)[item.ItemID] : getQuantityModel('order', item)[item.ItemID] = 1\\\"\\n                                                    class=\\\"input-control\\\" validate inputonlynumber=\\\"true\\\" maxlength=\\\"2\\\"\\n                                                    aria-invalid=\\\"false\\\">\\n                                                <span class=\\\"input-group-btn\\\">\\n                                                    <button mat-button-icon (click)=\\\"increaseQuantiy('order', item)\\\"\\n                                                        type=\\\"button\\\">\\n                                                        <mat-icon class=\\\"c-gray\\\">add</mat-icon>\\n                                                    </button>\\n                                                </span>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </mat-expansion-panel>\\n                            <mat-divider></mat-divider>\\n                        </div>\\n                        <!--order total starts here-->\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"m-l-48\\\"\\n                            *ngIf=\\\"itemsService.selectedOrderItems.length > 0 || itemsService.selectedPacks.length > 0\\\">\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"50\\\">\\n                                    <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_sub_total\\\"></span>\\n                                </div>\\n                                <div fxFlex=\\\"50\\\" fxLayoutAlign=\\\"end none\\\">\\n                                    <span class=\\\"itemCount\\\"\\n                                        [textContent]=\\\"((orderService.calculateOrderResponse.SubTotal) ? (orderService.calculateOrderResponse.SubTotal) : 0) | currency: companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                </div>\\n                            </div>\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"50\\\">\\n                                    <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_discounttotal\\\"></span>\\n                                </div>\\n                                <div fxFlex=\\\"50\\\" fxLayoutAlign=\\\"end none\\\">\\n                                    <span class=\\\"itemCount\\\"\\n                                        [textContent]=\\\"((orderService.calculateOrderResponse.DiscountTotal) ? (orderService.calculateOrderResponse.DiscountTotal) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                </div>\\n                            </div>\\n                            <!-- <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"50\\\">\\n                                    <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_shippingtotal\\\"></span>\\n                                </div>\\n                                <div fxFlex=\\\"50\\\" fxLayoutAlign=\\\"end none\\\">\\n                                    <span class=\\\"itemCount\\\"\\n                                        [textContent]=\\\"((orderService.calculateOrderResponse.ShippingTotal) ? (orderService.calculateOrderResponse.ShippingTotal) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                </div>\\n                            </div> -->\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"50\\\">\\n                                    <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_taxtotal\\\"></span>\\n                                </div>\\n                                <div fxFlex=\\\"50\\\" fxLayoutAlign=\\\"end none\\\">\\n                                    <span class=\\\"itemCount\\\"\\n                                        [textContent]=\\\"((orderService.calculateOrderResponse.TaxTotal) ? (orderService.calculateOrderResponse.TaxTotal) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                </div>\\n                            </div>\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"50\\\">\\n                                    <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_global_total\\\"></span>\\n                                </div>\\n                                <div fxFlex=\\\"50\\\" fxLayoutAlign=\\\"end none\\\">\\n                                    <span class=\\\"itemCount\\\"\\n                                        [textContent]=\\\"((orderService.calculateOrderResponse.Total) ? (orderService.calculateOrderResponse.Total) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                                </div>\\n                            </div>\\n                        </div>\\n                        <!-- Section For Autoship Items -->\\n                        <div class=\\\"m-t-b-15\\\" *ngIf=\\\"itemsService.selectedAutoOrderItems.length > 0\\\">\\n                            <mat-expansion-panel>\\n                                <mat-expansion-panel-header>\\n                                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                        <div fxLayout=\\\"column\\\" fxFlex=\\\"80\\\">\\n                                            <div>\\n                                                <span class=\\\"color3-f-s-13\\\"\\n                                                    translate=\\\"unifiedapplication_autoship_order\\\"></span>\\n                                            </div>\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\" translate=\\\"unifiedapplication_sub_total\\\"></span>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"': (' + getAutoOrderQuanity() + ' items)'\\\"></span>\\n                                            </div>\\n                                        </div>\\n                                        <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"none end\\\" fxLayout=\\\"column\\\">\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    [textContent]=\\\"((orderService.calculateAutoOrderResponse.SubTotal ? (orderService.calculateAutoOrderResponse.SubTotal - orderService.calculateAutoOrderResponse.DiscountTotal) : 0) | currency:companyService.selectedCurrency.CurrencyCode)\\\"></span>\\n                                            </div>\\n                                            <div>\\n                                                <span class=\\\"itemCount\\\"\\n                                                    translate=\\\"unifiedapplication_global_pv\\\"></span><span\\n                                                    class=\\\"itemCount\\\">\\n                                                    :\\n                                                    {{(orderService?.autoorderBusinessVolume ||\\n                                                    0)}}</span>\\n                                            </div>\\n                                        </div>\\n\\n                                    </div>\\n                                </mat-expansion-panel-header>\\n                                <div fxLayout=\\\"column\\\" class=\\\"in collapse borderTop\\\" aria-expanded=\\\"true\\\"\\n                                    aria-hidden=\\\"false\\\">\\n                                    <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('autoship')\\\"\\n                                        class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                                        <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                                            <img class=\\\"img-avatar\\\"\\n                                                [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                                                [default]=\\\"'assets/images/noimage.png'\\\">\\n                                        </div>\\n                                        <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\"\\n                                            fxFlex=\\\"67\\\">\\n                                            <p class=\\\"product_detail_text1 color3-f-s-13\\\"\\n                                                [textContent]=\\\"item.ProductName | slice:0:40\\\"\\n                                                [matTooltip]=\\\"item.ProductName\\\"></p>\\n                                            <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\"\\n                                                [textContent]=\\\"item.selectedOptions\\\"></span>\\n                                            <p class=\\\"product_detail_qv  m-b-0\\\">{{\\\"unifiedapplication_global_pv\\\" |\\n                                                translate}}<span> : {{item.Quantity * (item.CV ||\\n                                                    item.QV || 0)}}</span>\\n                                            </p>\\n                                            <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                                                <span class=\\\"input-group-btn\\\">\\n                                                    <button mat-button-icon class=\\\"c-gray\\\"\\n                                                        (click)=\\\"decreaseQuantiy('autoship', item);closeCart();\\\"\\n                                                        type=\\\"button\\\">\\n                                                        <mat-icon>remove</mat-icon>\\n                                                    </button>\\n                                                </span>\\n                                                <input type=\\\"text\\\"\\n                                                    [(ngModel)]=\\\"getQuantityModel('autoship',item)[item.ItemID]\\\"\\n                                                    (change)=\\\"checkQuantity('autoship', item); closeCart()\\\"\\n                                                    (keyup)=\\\"($event.which === 38) ? increaseQuantiy('autoship', item) : 0\\\"\\n                                                    (keydown)=\\\"($event.which === 40) ? decreaseQuantiy('autoship', item) : 0 ; closeCart()\\\"\\n                                                    (keypress)=\\\"getLastQuantity('autoship', item)\\\"\\n                                                    (ngInit)=\\\"getQuantityModel('autoship', item)[item.ItemID] ? getQuantityModel('autoship', item)[item.ItemID] : getQuantityModel('autoship', item)[item.ItemID] = 1\\\"\\n                                                    class=\\\"input-control\\\" maxlength=\\\"2\\\" validate=\\\"\\\"\\n                                                    inputonlynumber=\\\"true\\\" aria-invalid=\\\"false\\\">\\n                                                <span class=\\\"input-group-btn\\\">\\n                                                    <button mat-button-icon class=\\\"\\\"\\n                                                        (click)=\\\"increaseQuantiy('autoship', item)\\\" type=\\\"button\\\">\\n                                                        <mat-icon class=\\\"c-gray\\\">add</mat-icon>\\n                                                    </button>\\n                                                </span>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </mat-expansion-panel>\\n                            <mat-divider></mat-divider>\\n                        </div>\\n                        <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"m-l-48\\\"\\n                            *ngIf=\\\"itemsService.selectedAutoOrderItems.length > 0\\\">\\n                            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                <div fxFlex=\\\"12\\\" fxFlex.sm=\\\"5\\\" fxFlex.md=\\\"5\\\" fxLayoutAlign=\\\"start center\\\">\\n                                    <mat-icon class=\\\"c-gray\\\" style=\\\"margin-bottom: 18px;\\\" (click)=\\\"picker.open()\\\">\\n                                        calendar_today</mat-icon>\\n                                </div>\\n                                <div fxFlex=\\\"70\\\">\\n                                    <p class=\\\"itemCount\\\">{{'unifiedapplication_autoship_order_note_freq' |\\n                                        translate:{frequency:commonData.FrequencyTypes[persistentService.retailData.Autoship.FrequencyTypeID].Description}\\n                                        }}</p>\\n                                </div>\\n                                <div fxFlex=\\\"20\\\"></div>\\n                            </div>\\n                            <div fxFlex=\\\"60\\\" fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"60\\\">\\n                                    <mat-form-field class=\\\"example-full-width\\\" fxFlex appearance=\\\"outline\\\">\\n                                        <mat-label>Choose a date</mat-label>\\n                                        <input matInput [matDatepicker]=\\\"picker\\\"\\n                                            [(ngModel)]=\\\"autoshipConfigurationService.autoshipDate\\\"\\n                                            [min]=\\\"AutoshipMinDate\\\" [max]=\\\"AutoshipMaxDate\\\" disabled>\\n                                        <mat-datepicker-toggle matSuffix [for]=\\\"picker\\\">\\n                                            <mat-icon class=\\\"c-gray\\\" matDatepickerToggleIcon>keyboard_arrow_down\\n                                            </mat-icon>\\n                                        </mat-datepicker-toggle>\\n                                        <mat-datepicker #picker disabled=\\\"false\\\"\\n                                            [startAt]=\\\"autoshipConfigurationService.autoshipDate\\\">\\n                                        </mat-datepicker>\\n                                    </mat-form-field>\\n                                </div>\\n                                <div fxFlex=\\\"40\\\"></div>\\n                            </div>\\n                            <div fxFlex=\\\"60\\\" fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"100\\\">\\n                                    <mat-form-field fxFlex=\\\"83\\\" fxFlex.xs=\\\"67\\\" fxFlex.sm=\\\"60\\\" fxFlex.md=\\\"60\\\"\\n                                        appearance=\\\"outline\\\">\\n                                        <mat-label translate=\\\"unifiedapplication_choose_frequency\\\"></mat-label>\\n                                        <mat-select [(ngModel)]=\\\"persistentService.retailData.Autoship.FrequencyTypeID\\\"\\n                                            (selectionChange)=\\\"setFrequency();\\\">\\n                                            <mat-option *ngFor=\\\"let freq of commonData.FrequencyTypes\\\"\\n                                                [value]=\\\"freq.ID\\\">\\n                                                {{freq.Description | translate}}\\n                                            </mat-option>\\n                                        </mat-select>\\n                                    </mat-form-field>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <mat-divider></mat-divider>\\n                    <mat-action-row>\\n                        <div fxLayout=\\\"column\\\">\\n                            <div fxFlex=\\\"100\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\">\\n                                <div class=\\\"placeOrderButton\\\">\\n                                    <button mat-raised-button color=\\\"primary\\\" validate trigger-check=\\\"true\\\"\\n                                        [disabled]=\\\"IsSubmitDisable\\\" (success)=\\\"checkCvvModal()\\\"\\n                                        translate=\\\"\\\">{{'unified_place_order' | translate}}\\n                                    </button>\\n                                </div>\\n                                <div fxLayoutGap=\\\"10px\\\" class=\\\"cards-available\\\">\\n                                    <img src=\\\"assets/images/visaa.png\\\" alt=\\\"visa\\\" width=\\\"50px\\\">\\n                                    <img src=\\\"assets/images/mastercard.png\\\" alt=\\\"mastercard\\\" width=\\\"50px\\\">\\n                                    <img src=\\\"assets/images/Discover.png\\\" alt=\\\"“Discover”\\\" width=\\\"50px\\\">\\n                                    <img src=\\\"assets/images/Amex.png\\\" alt=\\\"americanexp\\\" width=\\\"50px\\\">\\n                                </div>\\n                                <div>\\n                                    <p\\n                                    translate=\\\"cart_transactions_msg\\\">All transactions are processed in the USA.</p>\\n                                </div>\\n                            </div>\\n                            <hr class=\\\"gap-between\\\">\\n                            <div fxFlex=\\\"100\\\" fxLayout=\\\"column\\\" class=\\\"m-b-10 policyblock\\\" fxLayoutAlign=\\\"start start\\\">\\n                                <div fxlayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                                    <div fxFlex=\\\"7\\\" fxLayoutAlign=\\\"start none\\\" class=\\\"p-r-25\\\">\\n                                        <mat-icon class=\\\"c-gray\\\">\\n                                            summarize\\n                                        </mat-icon>\\n                                    </div>\\n                                    <div class=\\\"m-bb-10\\\" fxFlex=\\\"80\\\">\\n                                        <span class=\\\"orderSummary\\\" translate=\\\"unifiedapplication_pdf_section\\\"></span>\\n                                    </div>\\n                                </div>\\n                                <div class=\\\"m-ll-25\\\" fxFlex=\\\"100\\\">\\n                                    <ul>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/Terms+%26+Policies.pdf\\\"\\n                                                target=\\\"_blank\\\"\\n                                                translate=\\\"policies_and_procedures\\\">Policies and Procedures</a>\\n                                        </li>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/Cancellation+Policy.pdf\\\"\\n                                                target=\\\"_blank\\\"\\n                                                translate=\\\"cancellation_policy\\\">Cancellation Policy</a>\\n                                        </li>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/Refund+Policy.pdf\\\" \\n                                            target=\\\"_blank\\\"\\n                                            translate=\\\"refund_policy_title\\\">Refund Policy</a>\\n                                        </li>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/Think%2B_Compensation_Plan.pdf\\\"\\n                                                target=\\\"_blank\\\"\\n                                                translate=\\\"compensation_plan\\\">Compensation Plan</a>\\n                                        </li>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/Dispute+Resolution+and+Arbitration+Policy.pdf\\\"\\n                                                target=\\\"_blank\\\"\\n                                                translate=\\\"arbitration_policy\\\">Arbitration Policy</a>\\n                                        </li>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/E-Sign+Consent.pdf\\\"\\n                                                target=\\\"_blank\\\"\\n                                                translate=\\\"esign_consent\\\">E-Sign Consent</a>\\n                                        </li>\\n                                        <li><a href=\\\"https://ew-customer-success.s3.amazonaws.com/Think_Plus/Operations/Website+Privacy+Policy.pdf\\\"\\n                                                target=\\\"_blank\\\"\\n                                                translate=\\\"website_privacy_policy\\\">Website Privacy Policy</a>\\n                                        </li>\\n                                    </ul>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </mat-action-row>\\n                </mat-accordion>\\n            </mat-card>\\n        </div>\\n    </div>\\n</div>\\n<script>\\n    function OnIFrameSave(e) {\\n\\n    }\\n</script>\";","import { ShoppingCartService } from './shopping-cart.service';\nimport { PaymentService } from './payment.service';\nimport { ConfirmDialogModel, ConfirmDialogComponent } from './../model/confirm-dialog/confirm-dialog.component';\nimport { Injectable } from '@angular/core';\nimport { OrderService } from './order.service';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\nimport { UserService } from './user.service';\nimport { NotificationService } from './notification.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ProductService } from './product.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ShippingAddress, UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { Router } from '@angular/router';\nimport { ProductDialogComponent } from '../../shop/products/product-dialog/product-dialog.component';\nimport { UtilityService } from './utility.service';\nimport { PersistentService } from './persistent.service';\nimport { Location } from '@angular/common';\nimport { ItemsListService } from './itemsList.service';\nimport { SideNavBarService } from './sidenavbar.service';\nimport { AutoshipConfigurationService } from './autoshipConfiguration.service';\nimport { CompanyService } from './company.service';\nimport { ConfigService } from './config.service';\n@Injectable({\n  providedIn: 'root'\n})\nexport class Cart1Service {\n  public isKitAdded = {};\n  public packQuantity = {};\n  public orderQuantity = {};\n  public orderRewardQuantity = {};\n  public autoshipQuantity = {};\n  userService: UserServiceModal;\n  public oldRestrictedState;\n  public oldRegionMainState;\n  public restrictedOrderItems = [];\n  public restrictedAutoOrderItems = [];\n  constructor(\n    public orderService: OrderService,\n    public notificationService: NotificationService,\n    public user: UserService,\n    private translate: TranslateService,\n    private itemsService: ProductService,\n    private dialog: MatDialog,\n    public paymentService: PaymentService,\n    public router: Router,\n    public utilityService: UtilityService,\n    public persistentService: PersistentService,\n    public location: Location,\n    public itemsListService: ItemsListService,\n    public sideNavBarService: SideNavBarService,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public companyService: CompanyService,\n    public configService: ConfigService,\n    public shoppingCartService: ShoppingCartService\n    ) {\n      this.userService = user.userServiceModal;\n      this.init();\n    }\n\n  // /**\n  //  * Increase quantiy of items in cart.\n  //  * @method  increaseQuantiy\n  //  * @param   {object}  item     Item object.\n  //  * @param   {boolean} isAutoship     If it is added to autoship or not.\n  //  */\n  public increaseQuantiy(item, isAutoship?: boolean, isPack?: boolean) {\n    this.persistentService.retailData.isChanged = true;\n    if (isAutoship) {\n      if (this.autoshipQuantity[item.ItemID] < 99) {\n        this.autoshipQuantity[item.ItemID] =\n          Number(this.autoshipQuantity[item.ItemID] || 0) + 1;\n        item.Quantity = this.autoshipQuantity[item.ItemID];\n        localStorage.setItem(\n          'cart.autoship',\n          JSON.stringify(this.itemsService.selectedAutoOrderItems)\n        );\n      }\n      this.orderService.calculateAutoOrder();\n    } else if (isPack) {\n      this.packQuantity[item.ItemID] =\n        Number(this.packQuantity[item.ItemID] || 0) + 1;\n      item.Quantity = this.packQuantity[item.ItemID];\n      localStorage.setItem(\n        'cart.packs',\n        JSON.stringify(this.itemsService.selectedPacks)\n      );\n      this.orderService.calculateOrder();\n    } else {\n      if (!item.UsePoints) {\n        this.orderQuantity[item.ItemID] = this.orderQuantity[item.ItemID] || 0;\n        if (this.orderQuantity[item.ItemID] < 99) {\n          this.orderQuantity[item.ItemID] =\n            Number(this.orderQuantity[item.ItemID] || 0) + 1;\n          item.Quantity = this.orderQuantity[item.ItemID];\n          this.itemsService.selectedOrderItems.filter((x) =>{\n            if (x.ItemID == item.ItemID) {\n              x.Quantity = item.Quantity;\n            }\n          })\n          localStorage.setItem(\n            'cart.order',\n            JSON.stringify(this.itemsService.selectedOrderItems)\n          );\n          this.notificationService.success('success', 'Item quantity is increased');\n        }\n      }\n      else if (item.UsePoints) {\n        if (this.orderRewardQuantity[item.ItemID] < 99) {\n          this.orderRewardQuantity[item.ItemID] =\n            Number(this.orderRewardQuantity[item.ItemID] || 0) + 1;\n          item.rewardQuantity = this.orderRewardQuantity[item.ItemID];\n          localStorage.setItem(\n            'cart.order',\n            JSON.stringify(this.itemsService.selectedOrderItems)\n          );\n        }\n      }\n      this.orderService.calculateOrder();\n    }\n  }\n\n  // /**\n  //  * Decrease quantiy of items in cart.\n  //  * @method  decreaseQuantiy\n  //  * @param   {object}  item     Item object.\n  //  * @param   {boolean} isAutoship     If it is added to autoship or not.\n  //  */\n  public decreaseQuantiy(item, isAutoship?: boolean, isPack?: boolean) {\n    this.persistentService.retailData.isChanged = true;\n    if (isAutoship) {\n      this.autoshipQuantity[item.ItemID] = Number(\n        this.autoshipQuantity[item.ItemID] || 0\n      );\n      this.autoshipQuantity[item.ItemID]--;\n      item.Quantity = this.autoshipQuantity[item.ItemID];\n      localStorage.setItem(\n        'cart.autoship',\n        JSON.stringify(this.itemsService.selectedAutoOrderItems)\n      );\n      if (item.Quantity !== 0) {\n        this.orderService.calculateAutoOrder();\n      }\n    } else if (isPack) {\n      this.packQuantity[item.ItemID] = Number(this.packQuantity[item.ItemID] || 0);\n      this.packQuantity[item.ItemID]--;\n      item.Quantity = this.packQuantity[item.ItemID];\n      localStorage.setItem('cart.packs', JSON.stringify(this.itemsService.selectedPacks));\n      if (item.Quantity !== 0) {\n        this.orderService.calculateOrder();\n      }\n    } else {\n      if (!item.UsePoints) {\n        this.orderQuantity[item.ItemID]--;\n        item.Quantity = this.orderQuantity[item.ItemID];\n      }\n      else if (item.UsePoints) {\n        this.orderRewardQuantity[item.ItemID]--;\n        item.rewardQuantity = this.orderRewardQuantity[item.ItemID];\n      }\n\n      localStorage.setItem(\n        'cart.order',\n        JSON.stringify(this.itemsService.selectedOrderItems)\n      );\n      if (item.Quantity !== 0) {\n        this.orderService.calculateOrder();\n      }\n    }\n    if (item.Quantity === 0 || item.rewardQuantity === 0) {\n      this.removeFromCart(item, isAutoship, isPack, true);\n    }\n  }\n  // autoAddedCoupon method used to add auto add coupon\n  public autoAddedCoupon() {\n    if (this.userService.couponInfo.availableRewards.length > 0) {\n      if (this.itemsService.IsAllowDynamicCouponcode) {\n        _.each(this.userService.couponInfo.availableRewards, (item) =>  {\n          if (item.Code == this.userService.DynamicCouponCode.promoCode) {\n            this.userService.couponInfo.RewardsForUse = _.filter(this.userService.couponInfo.RewardsForUse, (item1) =>  {\n              return item1.Code !== this.userService.DynamicCouponCode.promoCode;\n            });\n          }\n        });\n      }\n    }\n  }\n  // /**\n  //  * Add items to cart.\n  //  * @method  addToCart\n  //  * @param   {object}  item     Item object.\n  //  * @param   {boolean}  isShowNotification     Is show notification message on item added in cart.\n  //  * @param   {string}  customOrderCode     Custom order code.\n  //  * @param   {boolean} isAutoship     If it is added to autoship or not.\n  //  * @param   {object}  fromDialog     if it is added from pop Dialog or not.\n  //  * @param   {boolean} isPack     If it is added to pack or not.\n  //  */\n  public addToCart(\n    item,\n    isShowNotification,\n    customOrderCode,\n    isAutoship?: boolean,\n    fromDialog?: boolean,\n    isPack?: boolean,\n    fromApplication?: boolean,\n    fromPointbtn?: boolean\n  ) {\n    this.persistentService.retailData.isChanged = true;\n    if (isPack && !this.utilityService.isPackMultipleQuantity) {\n      this.addPack(item, isShowNotification);\n    } else {\n      if (typeof isAutoship == 'undefined') {\n        isAutoship = false;\n      }\n\n      // Use a custom order code (for customization options like color and size) if one is passed in\n      const itemCode = (customOrderCode || item.ItemID).toString();\n      // Determine if the item is in the cart, and if so, retrieve it\n\n        this.addOrderToCart(\n          item,\n          itemCode,\n          !!customOrderCode,\n          isAutoship,\n          isShowNotification,\n          isPack,\n          fromPointbtn\n        );\n      // }\n    }\n\n    if (!isAutoship) {\n      this.autoAddedCoupon();\n    }\n  }\n\n  // /**\n  // * show Product Detail.\n  // * @method  showProductDetail\n  // * @param   {object}  item     Item object.\n  // * @param   {boolean}  hasOptions     Is show notification message on item added in cart.\n  // * @param   {boolean} isAutoship     If it is added to autoship or not.\n  // * @param   {boolean} isPack     If it is added to pack or not.\n  // */\n\n  public showProductDetail(item, isAutoship?: boolean, hasOptions?: boolean, isPack?: boolean, fromApplication?: boolean) {\n    if (!item) {\n      return;\n    }\n    item = cloneDeep(item);\n\n    // We don't pass HasOptions to the modal, because that property is used to decide behavior when \"Add to Cart\" is clicked.\n    item.Quantity = isAutoship\n      ? this.autoshipQuantity[item.ItemID]\n      : isPack\n        ? this.packQuantity[item.ItemID]\n        : this.orderQuantity[item.ItemID];\n    item.rewardQuantity = this.orderRewardQuantity[item.ItemID];\n    if (!hasOptions) {\n      item.HasOptions = null;\n    }\n    if (isPack) {\n      item.ItemOptions = [];\n      item.OptionsMap = [];\n    }\n\n    if (fromApplication) {\n      const dialogdata = this.dialog.open(ProductDialogComponent, {\n        data: {\n        value: item,\n        service: this,\n        type: (isAutoship ? 'autoship' : (isPack ? 'pack' : 'order'))\n        },\n        disableClose: true,\n        panelClass: 'product-dialog',\n      });\n    } else {\n      this.router.navigate(['/product', item.ItemID], { queryParams : {itemType: isAutoship ? 'autoship' : isPack ? 'pack' : 'order'}});\n    }\n\n  }\n\n  // /**\n  //  * Remove items from cart.\n  //  * @method  removeFromCart\n  //  * @param   {object}  item     Item object.\n  //  * @param   {boolean} isAutoship     If it is added to autoship or not.\n  //  * @param   {boolean} isPack     If it is added to pack or not.\n  //  */\n  public removeFromCart(\n    item,\n    isAutoship?: boolean,\n    isPack?: boolean,\n    isShowNotification?: boolean\n  ) {\n    if (isPack) {\n      this.itemsService.selectedPacks = _.without(\n        this.itemsService.selectedPacks,\n        _.find(this.itemsService.selectedPacks, { ItemID: item.ItemID })\n      );\n      this.isKitAdded[item.ItemID] = false;\n      localStorage.setItem(\n        'cart.packs',\n        JSON.stringify(this.itemsService.selectedPacks)\n      );\n      this.orderService.calculateOrder().then(() => {\n        if (isShowNotification) {\n          this.notificationService.success('success', 'item_removed_from_pack');\n        }\n      });\n    } else {\n      const ItemID = item.ItemID;\n      const selectedItems = isAutoship\n        ? 'selectedAutoOrderItems'\n        : 'selectedOrderItems';\n\n      this[isAutoship ? 'autoshipQuantity' : (!item.UsePoints ? 'orderQuantity' : 'orderRewardQuantity')][ItemID] = 0;\n      if (item.UsePoints) {\n        item.rewardQuantity = 0;\n      } else {\n        item.Quantity = 0;\n      }\n\n      // Unselect the item\n      this.itemsService[selectedItems] = this.itemsService[selectedItems].filter(\n        (item1) =>  {\n          if ((item1.ItemID !== ItemID)) {\n            return true;\n          } else {\n            return item1.UsePoints !== item.UsePoints;\n          }\n        }\n      );\n\n      if (isAutoship) {\n        localStorage.setItem(\n          'cart.autoship',\n          JSON.stringify(this.itemsService.selectedAutoOrderItems)\n        );\n        this.orderService.calculateAutoOrder().then(() => {\n          if (this.itemsService.selectedAutoOrderItems.length == 0) {\n            this.autoshipConfigurationService.autoshipDate = '';\n            this.autoshipConfigurationService.init();\n            if (this.utilityService.getAutoshipEditFlag()) {\n              this.utilityService.setAutoshipEditFlag(false);\n              this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n              this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n              this.persistentService.retailData.editAutoshipItems = [];\n              this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n            }\n            if (this.itemsService.selectedOrderItems.length === 0 && this.location.path().toLowerCase() !== '/join') {\n              this.router.navigate(['/products/all']);\n            }\n          }\n          if (isShowNotification) {\n            this.notificationService.success(\n              'success',\n              'item_removed_from_autoship'\n            );\n          }\n        });\n      } else {\n        localStorage.setItem(\n          'cart.order',\n          JSON.stringify(this.itemsService.selectedOrderItems)\n        );\n        this.orderService.calculateOrder().then(() => {\n          if (isShowNotification) {\n            this.notificationService.success('success', 'item_removed_from_order');\n\n            if (this.itemsService[selectedItems].length == 0) {\n              if (this.location.path().toLowerCase() == '/join') {\n                this.router.navigate(['/join']);\n              }\n              else {\n                this.router.navigate(['/products/all']);\n              }\n            }\n          }\n        });\n      }\n    }\n    if (this.itemsService.selectedOrderItems == 0 && this.itemsService.selectedAutoOrderItems == 0) {\n      this.userService.selectedShippingMethod = 0;\n    }\n  }\n\n  public clearCart() {\n    this.isKitAdded = {};\n    this.orderQuantity = {};\n    this.orderRewardQuantity = {};\n    this.autoshipQuantity = {};\n    this.itemsService.selectedPacks = [];\n    this.itemsService.selectedOrderItems = [];\n    this.itemsService.selectedAutoOrderItems = [];\n    this.orderService.calculateOrderResponse = {};\n    this.orderService.calculateAutoOrderResponse = {};\n    localStorage.removeItem('cart.packs');\n    localStorage.removeItem('cart.order');\n    localStorage.removeItem('cart.autoship');\n  }\n\n  public getItemPrice(item) {\n    let price = null;\n    if (!item.Prices || !item.Prices.length) {\n      price = item.Price;\n    } else {\n      item.Prices.forEach(p => {\n        if (p.CurrencyCode == null || (p.CurrencyCode && p.CurrencyCode.toLowerCase() !== 'rwd')) {\n          price = p.Price;\n        }\n      });\n    }\n    return price;\n  }\n\n  public getOrderItems(isAutoship?: boolean, isPack?: boolean) {\n    if (isAutoship) {\n      return this.itemsService.selectedAutoOrderItems;\n    } else if (isPack) {\n      return this.itemsService.selectedPacks;\n    } else {\n      return this.itemsService.selectedOrderItems;\n    }\n  }\n\n  public addOrderToCart(\n    item,\n    itemCode,\n    fromDialog,\n    isAutoship?: boolean,\n    isShowNotification?: boolean,\n    isPack?: boolean,\n    fromPointbtn?: boolean\n  ) {\n    isAutoship = !!isAutoship;\n\n    const cartItems = isAutoship\n      ? this.itemsService.selectedAutoOrderItems\n      : isPack\n        ? this.itemsService.selectedPacks\n        : this.itemsService.selectedOrderItems;\n    let itemInCart = null;\n    const isInCart = cartItems.some((cartItem) =>  {\n      if (cartItem.ItemID == itemCode && Boolean(cartItem.UsePoints) == Boolean(fromPointbtn)) {\n        itemInCart = cartItem;\n        return true;\n      }\n      return false;\n    });\n\n    if (isInCart) {\n      // If it is in the cart...\n      const itemQuantities = isAutoship\n        ? this.autoshipQuantity\n        : isPack\n          ? this.packQuantity == 1\n          : (!fromPointbtn ? this.orderQuantity : this.orderRewardQuantity);\n      let quantity = 1;\n      if (!cartItems[cartItems.indexOf(itemInCart)].UsePoints) {\n        cartItems[cartItems.indexOf(itemInCart)].Quantity = quantity;\n      }\n      else {\n        cartItems[cartItems.indexOf(itemInCart)].rewardQuantity = quantity;\n      }\n    } else {\n      // If it is not in the cart, add it\n      this.getKitInfo(item);\n      item = cloneDeep(item);\n      if (fromPointbtn) {\n        // item.Price = this.getItemPoints(item);\n        item.OriginalPrice = item.Price;\n      }\n      item.ItemID = itemCode.toString();\n      item.UsePoints = fromPointbtn;\n      item.Quantity = isAutoship\n        ? this.autoshipQuantity[itemCode] || 1\n        : isPack\n          ? this.packQuantity[itemCode] || 1\n          : this.orderQuantity[itemCode] || 1;\n      item.rewardQuantity = this.orderRewardQuantity[itemCode] || 1;\n      if (item.HasOptions) {\n        _.each(item.OptionsMap, (value) =>  {\n          if (value.ItemId == item.ItemID) {\n            item.OptionsImage = value.Image;\n            return;\n          }\n        });\n      }\n      cartItems.push(item);\n    }\n    if (isPack) {\n      item.IsKitItem = true;\n    }\n\n\n    if (isAutoship) {\n      this.orderService.calculateAutoOrder(isShowNotification);\n    } else {\n      this.orderService.calculateOrder(isShowNotification);\n    }\n\n    localStorage.setItem(\n      isAutoship ? 'cart.autoship' : isPack ? 'cart.packs' : 'cart.order',\n      JSON.stringify(cartItems)\n    );\n  }\n\n  public getKitInfo(item) {\n    if (!item.HasKitGroups) {\n      return;\n    }\n    const kitItemNames = [];\n    _.each(item.KitGroups, (group) =>  {\n      let kitItemName = group.selectedItem.Name;\n      if (group.selectedItem.HasOptions) {\n        kitItemName += ' ' + group.selectedItem.selectedOptions;\n      }\n      kitItemNames.push(kitItemName);\n    });\n    item.selectedKitOptions = kitItemNames.join(', ');\n  }\n\n  public addPack(item, isShowNotification?: boolean) {\n    if (\n      item.HasOptions ||\n      (item.HasKitGroups &&\n        !_.every(item.KitGroups, (group) =>  {\n          return group.selectedItem;\n        }))\n    ) {\n      // If there are options (e.g. color/size), show the product details modal\n      this.showProductDetail(item, false, null, true);\n      return;\n    } else {\n      this.isKitAdded[item.ItemID] = true;\n\n      // If the product is already added, exit the method\n      if (~this.itemsService.selectedPacks.indexOf(item)) {\n        return;\n      }\n      let alreadyPackItems = false;\n      _.each(this.itemsService.selectedPacks, (items) =>  {\n        if (items.ItemID == item.ItemID) {\n          alreadyPackItems = true;\n        }\n      });\n      if (!alreadyPackItems) {\n        this.itemsService.selectedPacks.push(item);\n      }\n      this.itemsService.selectedPacks.forEach((item1) =>  {\n        item1.IsKitItem = true;\n        item1.Quantity = 1;\n      });\n\n      localStorage.setItem(\n        'cart.packs',\n        JSON.stringify(this.itemsService.selectedPacks)\n      );\n      // this.triggerAddRemoveCartItems(item, null, false, false, true);\n      this.orderService.calculateOrder(isShowNotification);\n    }\n  }\n\n  public setQuantiy() {\n    if (this.itemsService.selectedPacks.length > 0) {\n      this.itemsService.selectedPacks.forEach((item) =>  {\n        this.isKitAdded[item.ItemID] = true;\n        this.packQuantity[item.ItemID] = item.Quantity;\n      });\n    }\n    if (this.itemsService.selectedOrderItems.length > 0) {\n      this.itemsService.selectedOrderItems.forEach((item) =>  {\n        if (!item.UsePoints) {\n          this.orderQuantity[item.ItemID] = item.Quantity;\n        }\n        else if (item.UsePoints) {\n          this.orderRewardQuantity[item.ItemID] = item.rewardQuantity;\n        }\n      });\n    }\n\n    if (this.itemsService.selectedAutoOrderItems.length > 0) {\n      this.itemsService.selectedAutoOrderItems.forEach((item) =>  {\n        this.autoshipQuantity[item.ItemID] = item.Quantity;\n      });\n    }\n    if (\n      (this.itemsService.selectedPacks.length > 0 ||\n        this.itemsService.selectedOrderItems.length > 0) &&\n      !this.userService.checkItems\n    ) {\n      this.orderService.calculateOrder();\n    }\n    if (\n      this.itemsService.selectedAutoOrderItems.length > 0 &&\n      !this.userService.checkItems\n    ) {\n      this.orderService.calculateAutoOrder();\n    }\n  }\n\n  private init() {\n    this.setQuantiy();\n  }\n\n  public updateCountry(country, languagecode, sideNavCall, shippingCall) {\n    if (!languagecode) {\n      languagecode = sessionStorage.getItem('selectedLanguageCode');\n    }\n    if (sideNavCall) {\n      this.sideNavBarService.closeSidePanel();\n    }\n    if (this.configService.commonData.selectedCountry.toLowerCase() !== country.CountryCode.toLowerCase() || this.configService.commonData.selectedLanguage !== languagecode) {\n      this.oldRestrictedState = this.userService.restrictedStates;\n      this.oldRegionMainState = this.userService.regionMainState;\n      this.userService.regionMainState = '';\n      const request = {\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n        LanguageCode: this.configService.commonData.selectedLanguage,\n        RegionID: this.companyService.getRegionID(country.CountryCode.toLowerCase()),\n        PriceGroup: this.userService.customerTypeID,\n        StoreID: this.shoppingCartService.getShoppingCart(1)[0].StoreID,\n        CategoryId: 0\n      };\n      this.itemsService.getProducts(request).subscribe((result) =>  {\n        try {\n          if (result.length != 0) {\n            const countrySwal = this.translate.instant('if_you_selected_other_country');\n            if (this.itemsService.selectedOrderItems.length || this.itemsService.selectedAutoOrderItems.length) {\n              if (result.length > 0) {\n                this.restrictedOrderItems = this.getRestrictedItems(this.itemsService.selectedOrderItems, result, false);\n                this.restrictedAutoOrderItems = this.getRestrictedItems(this.itemsService.selectedAutoOrderItems, result, true);\n\n              } else {\n                this.itemsService.selectedOrderItems = [];\n                this.itemsService.selectedAutoOrderItems = [];\n              }\n\n              if (this.restrictedOrderItems.length || this.restrictedAutoOrderItems.length) {\n                const swalHtml = this.setRestrictItemsSwal();\n                this.marketSwalCheckItems(swalHtml, country, languagecode, shippingCall, true);\n\n              } else {\n                const swalText = countrySwal + '\\n\\n';\n                if (shippingCall) {\n                  this.userService.newshippingAddress.Country = country.CountryCode;\n                  this.marketSwalCheckItems(swalText, country, languagecode, shippingCall, false);\n                } else {\n                  this.marketSwalCheckItems(swalText, country, languagecode, shippingCall, false);\n                }\n              }\n            } else {\n\n              this.marketSwalCheckItems(countrySwal, country, languagecode, shippingCall, false);\n            }\n          } else {\n            if (sessionStorage.getItem('CommonSettings')) {\n              const data = JSON.parse(sessionStorage.getItem('CommonSettings'));\n              this.configService.commonData.selectedCountry = data.selectedCountry;\n              this.configService.commonData.selectedLanguage = data.selectedLanguage;\n              this.itemsService.selectedOrderItems.length = [];\n              this.itemsService.selectedAutoOrderItems = [];\n              this.userService.regionMainState = this.oldRegionMainState;\n              this.notificationService.error('error_', 'error_occured_try_again');\n            }\n          }\n        } catch (ex) {\n          this.notificationService.error('error_', 'error_occured_try_again');\n        }\n      });\n    }\n  }\n\n  public getRestrictedItems(selectedItems, OrderItem, isAutoship?: boolean) {\n    if (OrderItem.length > 0 && selectedItems.length > 0) {\n      return selectedItems.filter((item) =>  {\n        return !OrderItem.some((item2) =>  {\n          if (item2.HasOptions && (!isAutoship || item2.AllowAutoship)) {\n            _.each(item2.OptionsMap, (value) =>  {\n              if ((value.ItemId == item.ItemID) && (item.UsePoints ? (item.UsePoints == item2.UsePoints) : true)) {\n                item2.ItemID = value.ItemId;\n                return;\n              }\n            });\n          }\n          if ((item2.ItemID == item.ItemID && (item.UsePoints ? (item.UsePoints == item2.UsePoints) : true) && (!isAutoship || item2.AllowAutoship)) && item.selectedOptions) {\n            item2.selectedOptions = item.selectedOptions;\n          }\n          return (item.ItemID == item2.ItemID && (item.UsePoints ? (item.UsePoints == item2.UsePoints) : true) && (!isAutoship || item2.AllowAutoship));\n        });\n      });\n    } else {\n      return [];\n    }\n  }\n\n  public setRestrictItemsSwal() {\n    let swalMessage = this.translate.instant('if_you_selected_other_country') + '\\n\\n';\n    if (this.restrictedOrderItems.length) {\n      swalMessage = swalMessage + this.translate.instant('order_item_not_avail_in_this_region') + '\\n';\n      _.each(this.restrictedOrderItems, (item, key) => {\n        const logNumber = (key + 1);\n        if (item.UsePoints) {\n          swalMessage = swalMessage + logNumber + '. ' + item.ProductName + '(' + this.translate.instant('reward_order_item_not_avail_in_this_region') + ')' + ',\\n';\n        }\n        else {\n          swalMessage = swalMessage + logNumber + '. ' + item.ProductName + ',\\n';\n        }\n      });\n    }\n\n    if (this.restrictedAutoOrderItems.length) {\n      swalMessage = swalMessage + this.translate.instant('autoship_item_not_avail_new_region');\n      _.each(this.restrictedAutoOrderItems, (item, key) => {\n        const logNumber = (key + 1);\n        swalMessage = swalMessage + logNumber + '. ' + item.ProductName + ',\\n';\n      });\n    }\n    return swalMessage;\n  }\n\n  public marketSwalCheckItems(swalText, country, languagecode, shippingCall, checkRestriction) {\n    const dialogData = new ConfirmDialogModel(\n      this.translate.instant('trying_change_country'),\n      this.translate.instant(swalText),\n      this.translate.instant('NO'),\n      this.translate.instant('YES')\n    );\n\n    const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n      data: dialogData,\n      disableClose: true,\n      panelClass: '',\n    });\n\n    dialogRef.afterClosed().subscribe((confirm) => {\n      if (confirm) {\n        if (this.configService.commonData.selectedCountry.toLowerCase() !== country.CountryCode.toLowerCase()) {\n          this.userService.newshippingAddress = {};\n          this.userService.shippingAddress = {} as ShippingAddress;\n          this.userService.regionMainState = '';\n          this.userService.restrictedStates = [];\n          this.userService.selectedShippingMethod = 0;\n          this.userService.shippingMethods = [];\n          if (this.userService.customerData.DefaultShippingAddress) {\n            this.userService.customerData.DefaultShippingAddress = {};\n          }\n          this.userService.paymentMethods = [];\n          this.paymentService.clearPayment();\n          localStorage.removeItem('paymentService');\n        }\n\n        if (shippingCall) {\n          if (checkRestriction) {\n            this.itemsListService.checkRestrictedState(true, country, '', '', this.persistentService.retailData.uniqueCategoryId, '', true, false, false).then(() => {\n              this.updateCountryLanguage(country, languagecode);\n            });\n          } else {\n            this.updateCountryLanguage(country, languagecode);\n          }\n        } else {\n          this.configService.commonData.selectedCountry = country.CountryCode.toLowerCase();\n          this.configService.commonData.selectedLanguage = languagecode.toLowerCase();\n          this.configService.setSelectedCountry(country.CountryCode.toLowerCase(), languagecode.toLowerCase());\n\n          if (checkRestriction) {\n            this.itemsListService.checkRestrictedState(true, country, '', '', this.persistentService.retailData.uniqueCategoryId, '', '', false, false).then(() => {\n                setTimeout(() => {\n                  window.location.reload();\n                }, 500);\n            });\n          } else {\n              setTimeout(() => {\n                window.location.reload();\n              }, 500);\n          }\n        }\n      } else {\n        this.userService.restrictedStates = this.oldRestrictedState;\n        this.userService.regionMainState = this.oldRegionMainState;\n        if (sessionStorage.getItem('CommonSettings')) {\n          const data = JSON.parse(sessionStorage.getItem('CommonSettings'));\n          this.configService.commonData.selectedCountry = data.selectedCountry;\n          this.configService.commonData.selectedLanguage = data.selectedLanguage;\n\n        }\n        if (shippingCall) {\n          this.userService.newshippingAddress.Country = this.configService.commonData.selectedCountry.toUpperCase();\n          location.reload();\n        }\n      }\n    });\n  }\n\n  updateCountryLanguage(country, languagecode) {\n    this.userService.newshippingAddress = {};\n    this.userService.newshippingAddress.Country = country.CountryCode;\n    if (this.userService.customerData && Object.keys(this.userService.customerData).length > 0 && (this.userService.customerData.PrimaryAddress?.CountryCode.toLowerCase() == this.userService.newshippingAddress.Country.toLowerCase())) {\n      this.userService.newshippingAddress.Region = this.userService.customerData.PrimaryAddress.Region;\n    }\n    else {\n      this.userService.newshippingAddress.Region = 'null';\n    }\n    this.configService.commonData.selectedCountry = country.CountryCode.toLowerCase();\n    const allowedCountries = JSON.parse(sessionStorage.getItem('allowedCountries'));\n    _.each(allowedCountries.Data, (item) => {\n      if (item.CountryCode.toLowerCase() == country.CountryCode.toLowerCase()) {\n        this.configService.commonData.selectedLanguage = languagecode;\n      }\n    });\n    this.configService.setSelectedCountry(country.CountryCode.toLowerCase(), this.configService.commonData.selectedLanguage);\n  }\n\n  public clearItems() {\n    this.isKitAdded = {};\n    this.orderQuantity = {};\n    this.autoshipQuantity = {};\n    this.itemsService.selectedPacks = [];\n    this.itemsService.selectedOrderItems = [];\n    this.itemsService.selectedAutoOrderItems = [];\n  }\n\n  public getCartItems(cartItems) {\n    if (cartItems) {\n      if (!JSON.parse(localStorage.getItem('isLoggedIn'))) {\n        this.clearItems();\n      } else {\n        localStorage.removeItem('isLoggedIn');\n      }\n\n      _.each(cartItems.Order, (cartItem) =>  {\n        const isOrderItemExist = _.some(this.itemsService.selectedOrderItems, (item) =>  {\n          if (item.HasOptions) {\n            _.each(item.OptionsMap, (value) =>  {\n              if (value.ItemId == item.ItemID) {\n                item.ItemID = value.ItemId;\n                return;\n              }\n            });\n          }\n          return (\n            item.ItemID == cartItem.ItemID\n          );\n        });\n        if (!isOrderItemExist) {\n          this.itemsService.selectedOrderItems.push(cartItem);\n          this.orderQuantity[cartItem.ItemID] = cartItem.Quantity;\n        }\n      });\n\n      _.each(cartItems.Autoship, (cartItem) =>  {\n        const isAutoItemExist = _.some(this.itemsService.selectedAutoOrderItems, (item) =>  {\n          if (item.HasOptions) {\n            _.each(item.OptionsMap, (value) =>  {\n              if (value.ItemId == item.ItemID) {\n                item.ItemID = value.ItemId;\n                return;\n              }\n            });\n          }\n          return (\n            item.ItemID == cartItem.ItemID\n          );\n        });\n        if (!isAutoItemExist) {\n          this.itemsService.selectedAutoOrderItems.push(cartItem);\n          this.autoshipQuantity[cartItem.ItemID] = cartItem.Quantity;\n        }\n\n      });\n\n      _.each(cartItems.Packs, (cartItem) =>  {\n        const isPacksItemExist = _.some(this.itemsService.selectedPacks, (item) =>  {\n          if (item.HasOptions) {\n            _.each(item.OptionsMap, (value) =>  {\n              if (value.ItemId == item.ItemID) {\n                item.ItemID = value.ItemId;\n                return;\n              }\n            });\n          }\n          return (\n            item.ItemID == cartItem.ItemID\n          );\n        });\n        if (!isPacksItemExist) {\n          this.itemsService.selectedPacks.push(cartItem);\n          this.packQuantity[cartItem.ItemID] = cartItem.Quantity;\n        }\n      });\n    }\n  }\n  public resetItemQuantities() {\n    if (this.itemsService.selectedPacks.length > 0) {\n      const packtemp = {};\n      this.itemsService.selectedPacks.forEach((item) =>  {\n        packtemp[item.ItemID] = item.Quantity;\n      });\n      this.packQuantity = packtemp;\n    }\n    else {\n      this.packQuantity = {};\n    }\n\n    if (this.itemsService.selectedOrderItems.length > 0) {\n      const ordertemp = {};\n      const orderRewardtemp = {};\n      this.itemsService.selectedOrderItems.forEach((item) =>  {\n        if (!item.UsePoints) {\n          ordertemp[item.ItemID] = item.Quantity;\n        }\n        else if (item.UsePoints) {\n          orderRewardtemp[item.ItemID] = item.rewardQuantity;\n        }\n      });\n      this.orderQuantity = ordertemp;\n    }\n    else {\n      this.orderQuantity = {};\n      this.orderRewardQuantity = {};\n    }\n\n    if (this.itemsService.selectedAutoOrderItems.length > 0) {\n      const autoordertemp = {};\n      this.itemsService.selectedAutoOrderItems.forEach((item) =>  {\n        autoordertemp[item.ItemID] = item.Quantity;\n      });\n      this.autoshipQuantity = autoordertemp;\n    }\n    else {\n      this.autoshipQuantity = {};\n    }\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n  name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n  constructor(private sanitizer: DomSanitizer) { }\n  transform(url) {\n    return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n  }\n\n}","\nexport class ResponseBase {\n    Status: number;\n    ErrorDescription: string;\n    Message: string;\n    ErrorTransactionId?: any;\n    constructor(){\n        this.Status = ResponseStatus.Success;\n        this.Message = ResponseStatus.Success.toString();\n        this.ErrorDescription = '';\n    }\n}\nenum ResponseStatus {\n    Success = 0,\n    Failed = 1\n}","export default \".material-icons.color_white {\\n  color: #ffffff;\\n}\\n\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n\\n::ng-deep .contact-dialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n\\n::ng-deep .contact-dialog .mat-dialog-container {\\n  overflow: unset;\\n}\\n\\n.captcha_box {\\n  width: 100%;\\n  display: block;\\n  float: left;\\n}\\n\\n.captcha_answer {\\n  width: 35%;\\n  float: right;\\n}\\n\\ninput#answer {\\n  height: 43px;\\n  width: 100%;\\n  border: 2px solid #000;\\n  padding: 0 5px;\\n}\\n\\n.captcha_code {\\n  height: 45px;\\n  width: 60%;\\n  float: left;\\n  background-size: cover;\\n  color: #fff;\\n  font-size: 18px;\\n  font-weight: 600;\\n  padding: 10px;\\n  line-height: 24px;\\n  text-align: center;\\n}\\n\\n.captcha_code > span {\\n  color: #fff;\\n  font-size: 18px;\\n  font-weight: 600;\\n}\\n\\n.reload_captcha {\\n  width: 100%;\\n  float: left;\\n  padding: 10px 15px;\\n}\\n\\n.captcha_code {\\n  background-image: url(/assets/images/captcha_bg.png);\\n}\\n\\n.user_mob {\\n  font-size: 24px;\\n  line-height: 30px;\\n}\\n\\n.heading {\\n  font-size: 23px;\\n  font-weight: 500;\\n  margin-bottom: 20px;\\n}\\n\\n.ds_AboutMe {\\n  font-size: 16px;\\n  padding: 10px 0;\\n  color: #5e5e5e;\\n}\\n\\n.mailaddress {\\n  font-size: 14px;\\n  color: #2196f3;\\n  text-decoration: none;\\n  font-weight: 400;\\n}\\n\\n.color-f-s-23 {\\n  color: #5e5e5e;\\n  font-size: 23px;\\n  margin: 15px 0px;\\n}\\n\\n.color-f-s-24 {\\n  color: #5e5e5e;\\n  font-size: 24px;\\n  margin: 9px 0px;\\n}\\n\\n.color-f-s-19 {\\n  color: #5e5e5e;\\n  font-size: 19px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbnRhY3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFBNkIsY0FBQTtBQUM3Qjs7QUFBQTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBQUdGOztBQUNBO0VBQ0UsMEJBQUE7QUFFRjs7QUFDQTtFQUNFLHlCQUFBO0FBRUY7O0FBRUE7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNDLGVBQUE7QUFDRDs7QUFDQztFQUNDLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBQUVGOztBQUNDO0VBQ0MsVUFBQTtFQUNBLFlBQUE7QUFFRjs7QUFDQztFQUNDLFlBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0FBRUY7O0FBQ0M7RUFDQyxZQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQUVGOztBQUFBO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQUdGOztBQURDO0VBQ0MsV0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBQUlGOztBQUZBO0VBQ0Usb0RBQUE7QUFLRjs7QUFIQTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtBQU1GOztBQUpBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUFPRjs7QUFMQTtFQUNFLGVBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBQVFGOztBQU5BO0VBQ0UsZUFBQTtFQUNBLGNBQUE7RUFDRSxxQkFBQTtFQUNBLGdCQUFBO0FBU0o7O0FBUEE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBVUY7O0FBUkE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7QUFXRjs7QUFUQTtFQUNFLGNBQUE7RUFDQSxlQUFBO0FBWUYiLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGlmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlIGljb25cbi5tYXRlcmlhbC1pY29ucy5jb2xvcl93aGl0ZSB7Y29sb3I6ICNmZmZmZmY7fVxuLmNsb3NlLWJ1dHRvbntcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0b3A6LTI0cHg7XG4gIHJpZ2h0Oi0yNHB4O1xufVxuXG4vL2lmIHlvdSB3YW50IHNvbWUgY3NzIGFuaW1hdGlvblxuLmNsb3NlLWljb24ge1xuICB0cmFuc2l0aW9uOiAxcyBlYXNlLWluLW91dDtcbn1cblxuLmNsb3NlLWljb246aG92ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4vL1RvIHBsYWNlIHRoZSB4IG1hcmsgb3V0c2lkZSBvZiB0aGUgY29udGFpbmVyXG46Om5nLWRlZXAgLmNvbnRhY3QtZGlhbG9nIC5jbG9zZS1idXR0b257XG4gIGZsb2F0OiByaWdodDtcbiAgdG9wOi01MnB4O1xuICByaWdodDotNTJweDtcbn1cblxuOjpuZy1kZWVwIC5jb250YWN0LWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuIG92ZXJmbG93OiB1bnNldFxufVxuIC5jYXB0Y2hhX2JveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnRcbn1cblxuIC5jYXB0Y2hhX2Fuc3dlciB7XG4gIHdpZHRoOiAzNSU7XG4gIGZsb2F0OiByaWdodFxufVxuXG4gaW5wdXQjYW5zd2VyIHtcbiAgaGVpZ2h0OiA0M3B4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMCA1cHhcbn1cblxuIC5jYXB0Y2hhX2NvZGUge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiA2MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyXG59XG4uY2FwdGNoYV9jb2RlID4gc3BhbntcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiAucmVsb2FkX2NhcHRjaGEge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDEwcHggMTVweFxufVxuLmNhcHRjaGFfY29kZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jYXB0Y2hhX2JnLnBuZyk7XG59XG4udXNlcl9tb2Ige1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuLmhlYWRpbmcge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZHNfQWJvdXRNZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBjb2xvcjogIzVlNWU1ZTtcbn1cbi5tYWlsYWRkcmVzcyAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMjE5NmYzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuLmNvbG9yLWYtcy0yMyB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBmb250LXNpemU6IDIzcHg7XG4gIG1hcmdpbjogMTVweCAwcHg7XG59XG4uY29sb3ItZi1zLTI0IHtcbiAgY29sb3I6ICM1ZTVlNWU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luOiA5cHggMHB4O1xufVxuLmNvbG9yLWYtcy0xOSB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBmb250LXNpemU6IDE5cHg7XG59Il19 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9kdWN0cy5jb21wb25lbnQuc2NzcyJ9 */\";","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport * as _ from 'lodash';\nimport { Cart } from 'src/app/modals/shoppingcart.modal';\nimport { UserService } from './user.service';\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class ShoppingCartService {\n    shoppingCart: any;\n    constructor(private http: HttpClient, public user: UserService) {\n\n    }\n\n    setShoppingCart(region: number, customerType?: number) {\n        customerType = customerType || this.user.userServiceModal.customerTypeID || 2;\n        this.http.get<any>(`assets/data/cart.json`, {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json; charset=utf-8'\n            })\n        }).subscribe((data) => {\n            this.shoppingCart = [];\n            _.filter(data.Carts, (cart) => {\n                if (cart.Region == region) {\n                    return cart.CartConfiguration.filter((carts: Cart) => {\n                        if (carts.CustomerType == customerType) {\n                            return this.shoppingCart.push(carts);\n                        }\n                    });\n                }\n            });\n        }, (error) => {\n        }, () => {\n        });\n    }\n\n    getShoppingCart(orderType: number): Array<Cart> {\n        return this.shoppingCart.filter((cart: Cart) => {\n            return cart.OrderTypeID == orderType;\n        });\n    }\n}\n","export default \".table-container {\\n  overflow: hidden;\\n  display: flex;\\n  flex-direction: column;\\n  height: 500px;\\n  width: 100%;\\n}\\n\\n.orderTable {\\n  overflow-x: auto;\\n}\\n\\n::ng-deep .mat-table {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n\\nmwlResizable {\\n  box-sizing: border-box;\\n}\\n\\n.mat-header-cell {\\n  font-weight: 700 !important;\\n  color: black;\\n}\\n\\nmat-table {\\n  width: 100%;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  mat-table {\\n    overflow-x: scroll;\\n  }\\n  mat-table .mat-row,\\nmat-table .mat-header-row {\\n    width: 100%;\\n  }\\n}\\n\\nmat-table .mat-header-cell:nth-child(1),\\nmat-table .mat-header-cell:nth-child(2),\\nmat-table .mat-header-cell:nth-child(3),\\nmat-table .mat-header-cell:nth-child(4),\\nmat-table .mat-header-cell:nth-child(5),\\nmat-table .mat-header-cell:nth-child(6),\\nmat-table .mat-header-cell:nth-child(7),\\nmat-table .mat-header-cell:nth-child(8) {\\n  justify-content: start;\\n}\\n\\nmat-table .mat-header-cell:nth-child(9) {\\n  justify-content: center;\\n}\\n\\nmat-table .mat-cell:nth-child(1),\\nmat-table .mat-cell:nth-child(6),\\nmat-table .mat-cell:nth-child(7) {\\n  justify-content: start;\\n}\\n\\nmat-table .mat-cell:nth-child(2),\\nmat-table .mat-cell:nth-child(3),\\nmat-table .mat-cell:nth-child(4),\\nmat-table .mat-cell:nth-child(5),\\nmat-table .mat-cell:nth-child(8) {\\n  justify-content: start;\\n}\\n\\nmat-table .mat-cell:nth-child(9) {\\n  justify-content: center;\\n}\\n\\nmat-table .mat-cell:nth-child(1),\\nmat-table .mat-header-cell:nth-child(1) {\\n  max-width: 10%;\\n  justify-content: start;\\n}\\n\\nmat-table .mat-cell:nth-child(5),\\nmat-table .mat-header-cell:nth-child(5),\\nmat-table .mat-cell:nth-child(6),\\nmat-table .mat-header-cell:nth-child(6),\\nmat-table .mat-cell:nth-child(7),\\nmat-table .mat-header-cell:nth-child(7) {\\n  max-width: 15%;\\n  justify-content: start;\\n}\\n\\nmat-table .mat-cell:nth-child(2),\\nmat-table .mat-header-cell:nth-child(2),\\nmat-table .mat-cell:nth-child(3),\\nmat-table .mat-header-cell:nth-child(3),\\nmat-table .mat-cell:nth-child(4),\\nmat-table .mat-header-cell:nth-child(4) {\\n  max-width: 10%;\\n  justify-content: start;\\n}\\n\\nmat-table .mat-cell:nth-child(8),\\nmat-table .mat-header-cell:nth-child(8) {\\n  max-width: 25%;\\n  justify-content: start;\\n}\\n\\nmat-table .mat-cell:nth-child(9),\\nmat-table .mat-header-cell:nth-child(9) {\\n  max-width: 15%;\\n  justify-content: center;\\n}\\n\\n.page_orderhistory th {\\n  background-color: #fff;\\n  vertical-align: middle;\\n  font-weight: 500;\\n  color: #333;\\n  border-width: 1px;\\n  text-transform: uppercase;\\n}\\n\\n.orderhistory_table {\\n  margin: 2%;\\n}\\n\\n.title {\\n  background: black;\\n  color: #fff;\\n  padding-top: 10px;\\n  padding-bottom: 10px;\\n  text-align: center;\\n  font-size: 20px;\\n  font-weight: 800;\\n  letter-spacing: 0.3px;\\n}\\n\\n.orderId {\\n  color: #51c1e8;\\n  font-weight: 500;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL29yZGVyLWhpc3RvcnkuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxnQkFBQTtBQUNKOztBQUNFO0VBQ0UsbURBQUE7QUFFSjs7QUFDRTtFQUNFLHNCQUFBO0FBRUo7O0FBQUU7RUFDRSwyQkFBQTtFQUNBLFlBQUE7QUFHSjs7QUFERTtFQUNFLFdBQUE7QUFJSjs7QUFISTtFQUZGO0lBR0ksa0JBQUE7RUFNSjtFQUxJOztJQUVFLFdBQUE7RUFPTjtBQUNGOztBQUxFOzs7Ozs7OztFQVFFLHNCQUFBO0FBT0o7O0FBTEU7RUFDRSx1QkFBQTtBQU9KOztBQUxFOzs7RUFHRSxzQkFBQTtBQU9KOztBQUxFOzs7OztFQUtFLHNCQUFBO0FBT0o7O0FBTEU7RUFDRSx1QkFBQTtBQU9KOztBQUxFOztFQUVJLGNBQUE7RUFDQSxzQkFBQTtBQU9OOztBQUxFOzs7Ozs7RUFNRSxjQUFBO0VBQ0Esc0JBQUE7QUFPSjs7QUFMRTs7Ozs7O0VBTUUsY0FBQTtFQUNBLHNCQUFBO0FBT0o7O0FBTEU7O0VBRUUsY0FBQTtFQUNBLHNCQUFBO0FBT0o7O0FBTEU7O0VBRUUsY0FBQTtFQUNBLHVCQUFBO0FBT0o7O0FBSEU7RUFDRSxzQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtBQU1KOztBQUpFO0VBQ0UsVUFBQTtBQU9KOztBQUxFO0VBQ0UsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7QUFRSjs7QUFOQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBQVNGIiwiZmlsZSI6Im9yZGVyLWhpc3RvcnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGFibGUtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICBcbiAgfVxuICAub3JkZXJUYWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgfVxuICA6Om5nLWRlZXAgLm1hdC10YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICB9XG4gICAgXG4gIG13bFJlc2l6YWJsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMSk7XG4gIH1cbiAgbWF0LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAubWF0LXJvdyxcbiAgICAgIC5tYXQtaGVhZGVyLXJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoMSksXG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDIpLFxuICAubWF0LWhlYWRlci1jZWxsOm50aC1jaGlsZCgzKSxcbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoNCksXG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDUpLFxuICAubWF0LWhlYWRlci1jZWxsOm50aC1jaGlsZCg2KSxcbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoNyksXG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDkpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDEpLCBcbiAgLm1hdC1jZWxsOm50aC1jaGlsZCg2KSxcbiAgLm1hdC1jZWxsOm50aC1jaGlsZCg3KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgfVxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDIpLFxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDMpLFxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDQpLFxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDUpLFxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG4gIC5tYXQtY2VsbDpudGgtY2hpbGQoOSkge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5tYXQtY2VsbDpudGgtY2hpbGQoMSksXG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDEpIHtcbiAgICAgIG1heC13aWR0aDogMTAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgfVxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDUpLFxuICAubWF0LWhlYWRlci1jZWxsOm50aC1jaGlsZCg1KSxcbiAgLm1hdC1jZWxsOm50aC1jaGlsZCg2KSxcbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoNiksXG4gIC5tYXQtY2VsbDpudGgtY2hpbGQoNyksXG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDcpIHtcbiAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG4gIC5tYXQtY2VsbDpudGgtY2hpbGQoMiksXG4gIC5tYXQtaGVhZGVyLWNlbGw6bnRoLWNoaWxkKDIpLFxuICAubWF0LWNlbGw6bnRoLWNoaWxkKDMpLFxuICAubWF0LWhlYWRlci1jZWxsOm50aC1jaGlsZCgzKSxcbiAgLm1hdC1jZWxsOm50aC1jaGlsZCg0KSxcbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoNCkge1xuICAgIG1heC13aWR0aDogMTAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLm1hdC1jZWxsOm50aC1jaGlsZCg4KSxcbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoOCkge1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLm1hdC1jZWxsOm50aC1jaGlsZCg5KSxcbiAgLm1hdC1oZWFkZXItY2VsbDpudGgtY2hpbGQoOSkge1xuICAgIG1heC13aWR0aDogMTUlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIH1cbiAgXG4gIC5wYWdlX29yZGVyaGlzdG9yeSB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiAgLm9yZGVyaGlzdG9yeV90YWJsZXtcbiAgICBtYXJnaW46IDIlO1xuICB9XG4gIC50aXRsZSB7XG4gICAgYmFja2dyb3VuZDpibGFjaztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4zcHg7XG59XG4ub3JkZXJJZCB7XG4gIGNvbG9yOiAjNTFjMWU4O1xuICBmb250LXdlaWdodDogNTAwO1xufSJdfQ== */\";","export default \"\\n<div class=\\\"banners-container\\\" fxLayout=\\\"column\\\" fxLayout.gt-sm=\\\"row\\\" *ngIf=\\\"banners.length > 0\\\">\\n\\n  <div class=\\\"sec-padding\\\" fxLayout=\\\"row\\\" fxLayout.gt-sm=\\\"column\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"baners\\\">\\n     <div class=\\\"baner first\\\"  [ngStyle]=\\\"getBgImage(0)\\\">\\n        <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n        *ngIf=\\\"!contentLoaded\\\"\\n          count=\\\"1\\\"\\n          [theme]=\\\"{ width: '100%', 'border-radius': '0', height: '100%' }\\\"\\n        ></ngx-skeleton-loader>\\n       <div class=\\\"info\\\" *ngIf=\\\"contentLoaded\\\">\\n           <div class=\\\"text-box\\\">\\n               <h4>{{getBanner(0).title}}</h4>\\n               <p>{{getBanner(0).subtitle}}</p>\\n               <a href=\\\"#\\\">Shop Now</a>\\n           </div>\\n       </div>\\n     </div>\\n   </div>\\n   <div fxLayout=\\\"row\\\" fxLayout.gt-sm=\\\"column\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"60\\\">\\n       <div class=\\\"bn-wrap\\\" fxLayout=\\\"column\\\" fxLayout.gt-sm=\\\"row\\\" fxFlexOrder=\\\"2\\\" fxFlexOrder.gt-sm=\\\"1\\\" fxFlex=\\\"50\\\" fxFlex.gt-sm=\\\"33\\\">\\n           <div class=\\\"baner seccond\\\" fxFlex [ngStyle]=\\\"getBgImage(1)\\\">\\n            <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n            *ngIf=\\\"!contentLoaded\\\"\\n              count=\\\"1\\\"\\n              [theme]=\\\"{ width: '100%', 'border-radius': '0', height: '100%' }\\\"\\n            ></ngx-skeleton-loader>\\n               <div class=\\\"info\\\" *ngIf=\\\"contentLoaded\\\">\\n                   <div class=\\\"text-box w-50\\\" fxLayout=\\\"column\\\" >\\n                       <h4>{{getBanner(1).title}}</h4>\\n                      <p>{{getBanner(1).subtitle}}</p>\\n               <a href=\\\"#\\\">Shop Now</a>\\n                   </div>\\n               </div>\\n           </div>\\n           <div class=\\\"baner seccond pd-xs\\\" fxFlex [ngStyle]=\\\"getBgImage(2)\\\">\\n            <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n            *ngIf=\\\"!contentLoaded\\\"\\n              count=\\\"1\\\"\\n              [theme]=\\\"{ width: '100%', 'border-radius': '0', height: '100%' }\\\"\\n            ></ngx-skeleton-loader>\\n               <div class=\\\"info\\\" *ngIf=\\\"contentLoaded\\\">\\n                   <div class=\\\"text-box w-50\\\" fxLayout=\\\"column\\\" >\\n                       <h4>{{getBanner(2).title}}</h4>\\n                      <p>{{getBanner(2).subtitle}}</p>\\n               <a href=\\\"#\\\">Shop Now</a>\\n                   </div>\\n               </div>\\n           </div>\\n       </div>\\n       <div class=\\\"baner seccond mg-xs-0\\\" fxFlexOrder=\\\"1\\\" fxFlexOrder.gt-sm=\\\"2\\\" fxFlex=\\\"50\\\" fxFlex.gt-sm=\\\"100\\\" [ngStyle]=\\\"getBgImage(3)\\\">\\n        <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n        *ngIf=\\\"!contentLoaded\\\"\\n          count=\\\"1\\\"\\n          [theme]=\\\"{ width: '100%', 'border-radius': '0', height: '100%'}\\\"\\n        ></ngx-skeleton-loader>\\n           <div class=\\\"info\\\" *ngIf=\\\"contentLoaded\\\">\\n               <div class=\\\"text-box w-50 pt-40 \\\" fxLayout=\\\"column\\\" >\\n                   <h4 class=\\\"big-title\\\">{{getBanner(3).title}}</h4>\\n                  <p>{{getBanner(3).subtitle}}</p>\\n           <a mat-raised-button color=\\\"primary\\\" class=\\\"big-price\\\">$66.99</a>\\n               </div>\\n           </div>\\n       </div>\\n   </div>\\n </div>\\n\\n\";","import { Injectable } from '@angular/core';\nimport * as _ from 'lodash';\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class ValidationService {\n    validateEmail(email: string) {\n        const filter = new RegExp('^([\\\\w-\\\\.]+)@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.)|(([\\\\w-]+\\\\.)+))([a-zA-Z]{2,10}|[0-9]{1,3})(\\\\]?)$');\n        return filter.test(email);\n    }   \n}","\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport * as moment from 'moment';\nimport { ActivatedRoute } from '@angular/router';\nimport * as _ from 'lodash';\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class UtilityService {\n    constructor(\n        public route: ActivatedRoute,\n        public http: HttpClient\n        ) {\n\n    }\n    isPackMultipleQuantity = true;\n    isShowSimplifiedheader = false;\n    // /**\n    // *Get utility\n    // * @method  birthDays\n    // * @method  birthYears\n    // * @method  birthMonths\n    // * @method  getSortKey\n    // */\n    birthDays(BirthYear?: number, BirthMonth?: number) {\n        const year = BirthYear ? Number(BirthYear) : (moment().year() - 18);\n        const month = BirthMonth ? Number(BirthMonth) : Number('01');\n        const num = new Date(year, month, 0).getDate();\n        let i;\n        const days = [];\n        for (i = 1; i <= num; i++) {\n            if (String(i).length === 1) {\n                days.push('0' + String(i));\n            } else {\n                days.push(String(i));\n            }\n        }\n        return days;\n    }\n\n    birthYears() {\n        let years = [];\n        const currentyear = moment().year();\n\n        for (let i = currentyear - 100; i <= currentyear - 18; i++) {\n            years.push({ text: String(i), value: String(i) });\n        }\n\n        years = years.reverse();\n        return years;\n    }\n\n    birthMonths() {\n        const months = [\n            { text: 'January', value: '01' },\n            { text: 'February', value: '02' },\n            { text: 'March', value: '03' },\n            { text: 'April', value: '04' },\n            { text: 'May', value: '05' },\n            { text: 'June', value: '06' },\n            { text: 'July', value: '07' },\n            { text: 'August', value: '08' },\n            { text: 'September', value: '09' },\n            { text: 'October', value: '10' },\n            { text: 'November', value: '11' },\n            { text: 'December', value: '12' }\n        ];\n        return months;\n    }\n\n    getSortKey() {\n        return [\n            { id: 1, name: 'item_name', lname: 'A-Z', sortby: 'ProductName', sorttype: 'desc' },\n            { id: 2, name: 'item_name', lname: 'Z-A', sortby: 'ProductName', sorttype: 'asc' },\n            {\n                id: 3,\n                name: 'global_qv',\n                lname: 'high_to_low',\n                sortby: 'QV',\n                sorttype: 'asc'\n            },\n            {\n                id: 4,\n                name: 'global_qv',\n                lname: 'low_to_high',\n                sortby: 'QV',\n                sorttype: 'desc'\n            },\n            { id: 5, name: 'price', lname: 'high_to_low', sortby: 'Price', sorttype: 'asc' },\n            { id: 6, name: 'price', lname: 'low_to_high', sortby: 'Price', sorttype: 'desc' }\n        ];\n\n    }\n\n    getParameterByName(name, url) {\n        if (!url) { url = window.location.href; }\n        name = name.replace(/[\\[\\]]/g, '\\\\$&'); /*eslint no-useless-escape:0*/\n        const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\n            results = regex.exec(url);\n        if (!results) { return null; }\n        if (!results[2]) { return ''; }\n        return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n    }\n    getDefaultTranslation(translated, key, defaultValue) {\n        if (translated == key) {\n            return defaultValue;\n        } else {\n            return translated;\n        }\n    }\n    getQueryParam(param) {\n        if (param != null) {\n            const search = this.route.snapshot.queryParams;\n            if (Object.keys(search).length > 0) {\n                const newObject = {};\n                _.each(search, (value, key) => {\n                    newObject[key.toLowerCase()] = value;\n                });\n                return newObject[param.toLowerCase()] || '';\n            } else {\n                return null;\n            }\n        }\n    }\n    getQueryParamKey(param) {\n        if (param != null) {\n            const search = this.route.snapshot.queryParams;\n            if (Object.keys(search).length > 0) {\n                let parmKey;\n                _.each(search, (value, key) => {\n                    if (key.toLowerCase() == param.toLowerCase()) {\n                        parmKey = key;\n                    }\n                });\n                return parmKey;\n            } else {\n                return null;\n            }\n        }\n    }\n    isEmptyObject(obj) {\n        return (obj && (Object.keys(obj).length === 0));\n    }\n    getRegionID(countryCode: string, stateCode?: string): any{\n        if (!sessionStorage.getItem('CommonSettings')){\n        this.http.get<any>(`assets/data/clientsetting.json`, {\n            headers: new HttpHeaders({\n              'Content-Type': 'application/json; charset=utf-8'\n            }),\n            withCredentials: true\n          }).subscribe((data) => {\n            const data1 = _.filter(data.Regions, (region) => {\n                return region.CountryList.some((country) => {\n                    return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                });\n            });\n            if (data1.length > 0){\n               return data1[0].ID;\n            }else{\n                return 1;\n            }\n          }, (error) => {\n            return 1;\n          }, () => {\n            return 1;\n          });\n        }else{\n            const regionsData = JSON.parse(sessionStorage.getItem('CommonSettings'));\n            const data1 = _.filter(regionsData.Regions, (region) => {\n                return region.CountryList.some((country) => {\n                    return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                });\n            });\n            if (data1.length > 0){\n               return data1[0].ID;\n            }else{\n                return 1;\n            }\n        }\n    }\n    setAutoshipEditFlag(value) {\n        localStorage.setItem('isEditAutoshipFlag', value);\n    }\n\n    getAutoshipEditFlag() {\n        return localStorage.getItem('isEditAutoshipFlag') == 'true' ? true : false;\n    }\n    showSimplifiedheader(value = false){\n        this.isShowSimplifiedheader = value;\n    }\n    isEnrollment(){\n        return !!JSON.parse(sessionStorage.getItem('IsEnrollment'));\n    }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'checkValidDate'\n})\nexport class CheckValidDatePipe implements PipeTransform {\n\ttransform(value, format) {\n        if (value) {\n            var datePipe = new DatePipe(\"en-US\");\n            var date = ['1900-01-01', '0001-01-01'].indexOf((new Date(value).toISOString()).substring(0, 10)) > -1 ? (new Date(value).toISOString()).substring(0, 10) : new Date(value).toISOString();\n            var checkDate =datePipe.transform(date, format);\n            var nullDate =datePipe.transform('0001-01-01T00:00:00', format);\n            var invalidDate = datePipe.transform('1900-01-01T00:00:00', format);\n            var startDateCheck = (checkDate == nullDate) || (checkDate == invalidDate);\n            if (!startDateCheck) {\n                return checkDate;\n            } else {\n                return null;\n            }\n        } else {\n            return null;\n        }\n\t}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { ColorFilter } from 'src/app/modals/product.model';\nimport { FormGroup } from '@angular/forms';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { UtilityService } from 'src/app/components/shared/services/utility.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Title } from '@angular/platform-browser';\nimport * as _ from 'lodash';\nimport { ItemsListService } from 'src/app/components/shared/services/itemsList.service';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\nimport { Cart1Service } from 'src/app/components/shared/services/cart1.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n  selector: 'app-product-no-sidebar',\n  templateUrl: './product-no-sidebar.component.html',\n  styleUrls: ['./product-no-sidebar.component.scss'],\n  animations: [],\n})\nexport class ProductNoSidebarComponent implements OnInit {\n  env: any;\n  searchFormGroup: FormGroup;\n  categoryTypeGroup: FormGroup;\n  sortByFormGroup: FormGroup;\n  productSearchText: string = '';\n  public sidenavOpen: boolean = true;\n  public animation: any;   // Animation\n  public sortByOrder: any;   // sorting\n  public page: any;\n  public tagsFilters: any[] = [];\n  public viewType: string = 'grid';\n  public viewCol: number = 34;\n  public filterForm: FormGroup;\n  public colorFilters: ColorFilter[] = [];\n  public searchProduct: any;\n  public items: Array<DSProduct> = [];\n  public products: Array<DSProduct> = [];\n  public allItems: { Category: any, CategoryId: any }[] = [];\n  public featuredCollection: Array<DSProduct> = [];\n  public tags: any[] = [];\n  public colors: any[] = [];\n  customCssCheckBox: any;\n  Checkedall: boolean = false;\n  Checkedmagnetic: boolean = false;\n  CheckedwhatsHot: boolean = false;\n  Checkedenrollment: boolean = false;\n  Checkedlips: boolean = false;\n  Checkedeyes: boolean = false;\n  slides: Array<any> = [];\n  sortKeys: Array<any> = [];\n  selectedCategory: any = { Category: 'all', CategoryId: -1 };\n  isAllunselect: boolean;\n  regularDistribution = 100 / 3 + '%';\n  constructor(\n    private translate: TranslateService,\n    private titleService: Title,\n    private productService: ProductService,\n    private route: ActivatedRoute,\n    public configService: ConfigService,\n    public utilityService: UtilityService,\n    public itemsListService: ItemsListService,\n    public companyService: CompanyService,\n    public cart1Service: Cart1Service,\n    public router: Router,\n  ) {\n    this.route.params.subscribe(\n      (params: Params) => {\n        this.selectedCategory = { CategoryId: params['category'] || 'all' };\n        this.productService.getProductByCategory(this.selectedCategory.CategoryId).subscribe(products => {\n          this.productService.orders = products.map((item) => {\n            item.Price = item.Price || (item.Prices && item.Prices[0] && item.Prices[0].Price);\n            return item;\n          });\n\n          const uniqueItems = _.uniqBy(products, x => x.CategoryId);\n          let uniqueRequireProduct = [];\n          if (this.configService.localSettings.Global.CategoriesToFetch?.length > 0) {\n            uniqueItems.filter((x) => {\n              if (this.configService.localSettings.Global.CategoriesToFetch.indexOf(x.Category) > -1) {\n                uniqueRequireProduct.push(x);\n              }\n            })\n          }\n          else {\n            uniqueRequireProduct = [...uniqueItems];\n          }\n\n          this.itemsListService.selectedCategories = {};\n          if (this.selectedCategory.CategoryId == 'all') {\n            this.itemsListService.selectedCategories['all'] = true;\n          }\n          this.itemsListService.categoryList = _.map(uniqueRequireProduct, (object) => {\n            return _.pick(object, ['CategoryId', 'Category']);\n          });\n\n          this.products = [];\n          const product = this.itemsListService.products = this.productService.orders;\n          if (this.configService.localSettings.Global.CategoriesToFetch?.length > 0) {\n            product.filter(x => {\n              if (this.configService.localSettings.Global.CategoriesToFetch.indexOf(x.Category) > -1) {\n                this.products.push(x);\n              }\n            })\n          }\n          else {\n            this.products = [...product];\n          }\n          this.itemsListService.products = this.products;\n          this.itemsListService.type = 'order';\n          let category;\n          this.itemsListService.categoryList.filter((x) => {\n            if (x.CategoryId == this.selectedCategory.CategoryId) {\n              category = x.Category;\n            }\n          });\n          if (this.selectedCategory.CategoryId == 'all') {\n            this.itemsListService.getItemsByCategory('all');\n          } else {\n            this.itemsListService.getItemsByCategory(category);\n          }\n        });\n        this.slides = this.configService.localSettings.Product.PrimaryBanner;\n      }\n    );\n    this.sortKeys = utilityService.getSortKey();\n    this.env = environment;\n  }\n  public OrderQuantityCount: any;\n\n  ngOnInit() {\n    this.sortByOrder = this.utilityService.getSortKey()[0];\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_product') + ' | ' + text);\n    });\n\n  }\n\n\n  compareObjects(o1: any, o2: any): boolean {\n    return o1.name === o2.name && o1.id === o2.id;\n  }\n\n  // sorting type ASC / DESC / A-Z / Z-A etc.\n  onChangeSorting($event) {\n    this.sortByOrder = $event.value;\n  }\n\n  public onPageChanged(event) {\n    this.page = event;\n    window.scrollTo(0, 0);\n  }\n\n  onChange(selectedCategories, id) {\n    let result = true;\n    for (const i in selectedCategories) {\n      if (selectedCategories[i] === false) {\n        if (i !== 'all') {\n          result = false;\n          break;\n        }\n      } else {\n        result = true;\n      }\n\n    }\n\n    if (result) {\n      this.itemsListService.selectedCategories['all'] = true;\n    } else {\n      this.isAllunselect = true;\n      for (const k in selectedCategories) {\n        if (selectedCategories[k] === true) {\n          this.isAllunselect = false;\n          break;\n        }\n\n      }\n      if (this.isAllunselect) {\n        this.itemsListService.selectedCategories['all'] = false;\n        this.itemsListService.selectedCategories[id] = true;\n\n      } else {\n        this.itemsListService.selectedCategories['all'] = false;\n      }\n    }\n    if (!this.isAllunselect) {\n      this.itemsListService.getItemsByCategory(selectedCategories);\n    }\n  }\n\n  mouseEnter(index) {\n    if (screen.width > 960) {\n      document.getElementById('btn' + index).classList.add(\"faded-in\")\n      document.getElementById('btn' + index).classList.remove(\"faded-out\")\n      setTimeout(() => {\n        document.getElementById('btn' + index).style.opacity = \"1\";\n      }, 590);\n    }\n\n  }\n  mouseOut(index) {\n    if (screen.width > 960) {\n\n\n      document.getElementById('btn' + index).classList.add(\"faded-out\")\n      document.getElementById('btn' + index).classList.remove(\"faded-in\")\n    }\n  }\n\n  handleProduct(item) {\n    if (item.ItemOptions.length > 0) {\n      this.router.navigate(['/product', item.ItemID]);\n    } else {\n      this.OrderQuantityCount = item && item.Quantity ? item.Quantity : 1;\n      if (this.cart1Service['orderQuantity'][item.ItemID] >= 1) {\n        this.increaseQuantiy('order', item)\n      } else {\n        this.cart1Service['orderQuantity'][item.ItemID] = this.OrderQuantityCount;\n        this.cart1Service.addToCart(item, true, item.ItemID, false, false, false, true);\n\n      }\n    }\n  }\n  increaseQuantiy(type, item) {\n    this.cart1Service.increaseQuantiy(item, type == 'autoship', type == 'pack');\n  }\n\n  goToShop(id) {\n    this.router.navigate(['/product', id]);\n  }\n}\n","\n\nimport { Injectable } from '@angular/core';\nimport * as _ from 'lodash';\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class ValidateKeywordService {\n\n    thisobj: any = {};\n    WordsObject: any = {};\n    arr: any = [];\n\n    constructor() {\n\n    }\n\n    searchStringInArray(str, strArray) {\n        try {\n            const wordlist = str.split(' ');\n\n            for (const val of strArray) {\n                if (val) {\n                    const strg = val.toLowerCase().trim();\n                    const re = new RegExp('(^|\\\\+|\\\\W)' + strg.toString() + '($|\\\\+|\\\\W)');\n                    if (str.toLowerCase().match(re) || val === str) {\n                        this.arr.push(val);\n                        this.WordsObject = {\n                            key: this.arr\n                        };\n                        break;\n                    }\n                    else {\n                        for (const val1 of wordlist) {\n                            if (strg === val1) {\n                                this.arr.push(val);\n                                this.WordsObject = {\n                                    key: this.arr\n                                };\n                                break;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n        catch (ex) {\n            console.warn(ex);\n        }\n    }\n\n    CheckValidation(array, text) {\n        this.WordsObject = {};\n        this.arr = [];\n        if (array && text) {\n            this.searchStringInArray(text, array);\n        }\n        if (this.arr.length > 0) {\n            this.WordsObject.isvalid = false;\n            return this.WordsObject;\n        }\n        else {\n            this.WordsObject.key = [];\n            this.WordsObject.isvalid = true;\n            return this.WordsObject;\n        }\n    }\n\n}\n","import { Component, OnInit, HostBinding, Input, Output, EventEmitter } from '@angular/core';\nimport { SidebarMenuService } from './sidebar-menu.service';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport {  SidenavMenu } from './sidebar-menu.model';\nimport { Router } from '@angular/router';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { UserService } from '../services/user.service';\nimport { AccountService } from '../services/account.service';\nimport { ProductService } from '../services/product.service';\n\n\n@Component({\n  selector: 'app-sidebar',\n  templateUrl: './sidebar.component.html',\n  styleUrls: ['./sidebar.component.scss'],\n  animations: [\n    trigger('indicatorRotate', [\n      state('collapsed', style({transform: 'rotate(0deg)'})),\n      state('expanded', style({transform: 'rotate(180deg)'})),\n      transition('expanded <=> collapsed',\n        animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\n      ),\n    ])\n  ]\n})\nexport class SidebarComponent implements OnInit {\n  expanded: boolean;\n  // @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\n  @Input() item: SidenavMenu;\n  @Input() depth: number;\n  @Output() close = new EventEmitter<string>();\n  @Input() children: any\n  userServiceModal: UserServiceModal;\n  constructor(private sidenavMenuService:SidebarMenuService, public router: Router,public userService: UserService,public accountService : AccountService,public productService : ProductService) {\n    this.userServiceModal = this.userService.userServiceModal;\n    if (this.depth === undefined) {\n      this.depth = 0;\n    }\n  }\n\n  ngOnInit() {\n    this.sidenavMenuService.currentUrl.subscribe((url: string) => {\n      if (this.item.route && url) {\n        this.expanded = url.indexOf(`/${this.item.route}`) === 0;\n        // this.ariaExpanded = this.expanded;\n      }\n    });\n  }\n  onItemSelected(item: SidenavMenu) {    \n    if (!item.children || !item.children.length) {\n      item.displayName == 'Join' ? this.router.navigate(['/join']) : this.router.navigate(['/home']);\n    }\n    if (item.children && item.children.length) {\n      this.expanded = !this.expanded;\n    }\n  }\n\n  closeDialog(item){\n    this.close.emit('1');\n  }\n  isLoggedIn() {\n    if ((Object.keys(this.userServiceModal.customerData).length) && (this.userServiceModal.customerData.CustomerId) && this.userService.checkIfUserAuthenticatedOrNot()) {\n        return true;\n    } else {\n        return false;\n    }\n  }\n  logoutHandler(item){\n    if(item == 'Sign Out' ){\n      this.accountService.logout();\n    }\n  }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport * as _ from 'lodash';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\n\n@Component({\n  selector: 'app-product-dialog',\n  templateUrl: './product-dialog.component.html',\n  styleUrls: ['./product-dialog.component.scss']\n})\nexport class ProductDialogComponent implements OnInit {\n\n  public products: any;\n  public product: any;\n  public counter: number = 1;\n  public variantImage: any = '';\n  public selectedColor: any = '';\n  public selectedSize: any = '';\n  public orderOptions: any;\n  public OrderQuantityCount: number = 1;\n  itemType: string;\n  itemTypes: any = {};\n  ezpModel: any = {};\n  event: any;\n  activeImage: any;\n  activeChildImage: any;\n  defaultImage: any = {};\n  value: any = [];\n  isOptionsSelected: boolean;\n  callbackService: any;\n  showItemChooser: any;\n  cartItem: any;\n  childItem: any = {};\n  constructor(\n    public configService: ConfigService,\n    private router: Router,\n    public productsService: ProductService,\n    public dialogRef: MatDialogRef<ProductDialogComponent>,\n    @Inject(MAT_DIALOG_DATA) public DIALOG_DATA: any,\n    public itemsService: ProductService,public companyService:CompanyService) {\n\n    this.itemTypes = {\n      pack: {\n        getItemsCall: 'GetEnrollmentKitItems',\n        itemQuantity: 'packQuantity',\n        cartItems: 'selectedPacks',\n        itemserviceCall: 'getPackItems'\n      },\n      order: {\n        getItemsCall: 'GetProducts',\n        itemQuantity: 'orderQuantity',\n        cartItems: 'selectedOrderItems',\n        itemserviceCall: 'getOrderItems'\n      },\n      autoship: {\n        getItemsCall: 'GetAutoshipItems',\n        itemQuantity: 'autoshipQuantity',\n        cartItems: 'selectedAutoOrderItems',\n        itemserviceCall: 'getAutoshipItems'\n      }\n    };\n  }\n\n  ngOnInit() {\n    this.product = this.DIALOG_DATA.data\n  }\n\n  // determines whether or not buy button should be enabled\n  buyButtonEnabled() {\n    if (!this.product.HasOptions && this.product.ItemOptions && this.product.ItemOptions.length > 0 && this.isOptionsSelected) {\n      return false;\n    }\n\n    return true;\n  }\n\n  // Add item to appropriate cart (autoship / order)\n  addToCart(type, product: any) {\n    if (this.cartItem && this.cartItem.ItemOptions && product.ItemOptions.length > 0) {\n      const index = _.findIndex(this.itemsService[this.itemTypes[this.itemType].cartItems], { ItemID: this.cartItem.ItemID });\n      this.itemsService[this.itemTypes[this.itemType].cartItems].splice(index, 1);\n    }\n    // this.currentQuantity(type, product);\n    this.DIALOG_DATA.service.addToCart(product, true, this.getItemCode(product), type === 'autoship', true, type === 'pack', false);\n    this.product.Quantity = this.OrderQuantityCount;\n    localStorage.setItem('params.item', JSON.stringify(product));\n    this.close();\n  }\n\n  // add to cart or buy\n  // addToCartOrShowDetails(type, product) {\n  //   this.itemType = type ? type : this.itemType;\n  //   this.addToCart(this.itemType, product);\n  // }\n\n  public close(): void {\n    this.dialogRef.close();\n  }\n\n  public increment() {\n    this.counter += 1;\n  }\n\n  public decrement() {\n    if (this.counter > 1) {\n      this.counter -= 1;\n    }\n  }\n\n  public increaseQuantity() {\n    if (this.OrderQuantityCount < 99) {\n      this.OrderQuantityCount++;\n    }\n  }\n\n  public decreaseQuantity() {\n    if (this.OrderQuantityCount > 1) {\n      this.OrderQuantityCount--;\n    }\n  }\n\n  // currentQuantity(type, item) {\n  //   type = type || this.itemType;\n  //   this.callbackService[this.itemTypes[type].itemQuantity] =\n  //     this.callbackService[this.itemTypes[type].itemQuantity] || {};\n  //   this.callbackService[this.itemTypes[type].itemQuantity][this.getItemCode(item)] =\n  //     this.OrderQuantityCount;\n  // }\n\n  setUpOrderOptions(item) {\n    if (!this.orderOptions) {\n      this.orderOptions = {};\n    }\n\n    const dict = this.orderOptions;\n\n    // If editing an item with selected customizations, find them and set the dropdowns\n    let optionsMap;\n    _.each(item.OptionsMap, (val) => {\n      val.OptionNames = val.Key.split('|');\n    });\n    if (item.selectedOptions) {\n      item.OptionsMap.some(optMap => {\n        if (optMap.ItemId === (item.KitCustomItemCode || item.ItemID)) {\n          optionsMap = optMap.OptionNames;\n          return true;\n        }\n        return false;\n      });\n    }\n\n    // Otherwise, default to the first options map\n    const optionMapNames = item.OptionsMap\n      ? item.OptionsMap.map(optMap => {\n        return optMap.OptionNames;\n      })\n      : [];\n\n    if (!item.selectedOptions || !optionsMap) {\n      optionsMap = optionMapNames[0];\n    }\n\n    // Loop through the OptionsMap\n    let optionVal;\n    let optionValues;\n    for (const index in optionsMap) {\n      if (optionsMap.hasOwnProperty(index)) {\n        optionVal = optionsMap[index];\n        // For each option in the OptionsMap, loop through the ItemOptions\n        for (const itemIndex in item.ItemOptions) {\n          // Get all the values of the ItemOption\n          if (item.ItemOptions.hasOwnProperty(itemIndex)) {\n            optionValues = item.ItemOptions[itemIndex].Values.map(\n              getOptionValueName\n            );\n            // If one of them is the value from the OptionsMap, use it\n            const option = item.ItemOptions[itemIndex];\n            if (\n              !!~optionValues.indexOf(optionVal) &&\n              !dict[this.getOrderOptionKey(item, option)]\n            ) {\n              dict[this.getOrderOptionKey(item, option)] = optionVal;\n              break;\n            }\n          }\n        }\n      }\n    }\n\n    function getOptionValueName(val) {\n      return val.Option;\n    }\n  }\n\n  // change active image\n  setActiveImage(image) {\n    setTimeout(() => {\n      this.activeImage = image;\n    }, 1);\n  }\n\n  setActiveChildImage(image) {\n    this.activeChildImage = image;\n  }\n\n  // Show the price times the quantity selected\n  getPrice(item, quantity) {\n    if (quantity < 1) {\n      this.OrderQuantityCount = 1;\n    }\n    return (item ? ((item.Price || item.Prices[0].Price) * quantity) : 0);\n  }\n\n  // Show the volume times the quantity selected\n  getVolume(item, quantity) {\n    return ((item.BusinessVolume || item.BusinessVolume === 0) ? item.BusinessVolume : item.PV) * quantity;\n  }\n\n  transformItem(item) {\n    item.Price = (item.Price || item.Price === 0) ? item.Price : item.Prices[0].Price;\n\n    item.Images = item.Images || [];\n    if (item.LargeImageUrl && !_.find(item.Images, {\n      Path: item.LargeImageUrl\n    })) {\n      item.Images.unshift({\n        Description: item.Description,\n        Path: item.LargeImageUrl\n      });\n    } else if (item.Image && !_.find(item.Images, {\n      Path: item.Image\n    })) {\n      item.Images.unshift({\n        Description: item.Description,\n        Path: item.Image\n      });\n    }\n    return item;\n  }\n\n  itemInCart(item) {\n    const shoppingCart = this.itemsService[this.itemTypes[this.itemType].cartItems];\n    return _.find(shoppingCart, {\n      ItemID: item.ItemID\n    });\n  }\n\n  // get kit item details\n  getKitItemDetails(kitItem) {\n    this.childItem = kitItem;\n    this.activeChildImage = kitItem.Images ? kitItem.Images[0] : this.defaultImage;\n  }\n\n  // Select an option from a customization menu\n  selectOption(item, option, value, isKitItem) {\n    option.selected = value.Option;\n    this.orderOptions[this.getOrderOptionKey(item, option)] = value.Option;\n    const tempOptData = [];\n    Object.keys(this.orderOptions).forEach(optdata => {\n      tempOptData.push(optdata);\n    }),\n      item.OptionsMap.forEach(itemOptdata => {\n        if (\n          JSON.stringify(tempOptData.sort()) ===\n          JSON.stringify(itemOptdata.OptionNames.sort())\n        ) {\n          let tempimgurl = item.SmallImageUrl;\n          if (itemOptdata.Image) {\n            tempimgurl = item.SmallImageUrl.substr(\n              0,\n              item.SmallImageUrl.lastIndexOf('/')\n            ).concat(itemOptdata.Image);\n          }\n          const tempimage = {\n            Path: tempimgurl\n          };\n          this.setActiveImage(tempimage);\n        }\n      });\n    if (isKitItem) {\n      item.KitCustomItemCode = this.getItemCode(item);\n    }\n  }\n\n  setInitialItemOption(option, value) {\n    const defaultOption =\n      this.orderOptions[this.getOrderOptionKey(this.product, option)] ||\n      option.Option;\n    if (value.Option === defaultOption) {\n      option.selected = value.Option;\n    }\n  }\n\n  getOrderOptionKey(item, option) {\n    return item.ItemID + '__' + option.Option;\n  }\n  getOptionsText(optionValArray) {\n    return '[' + optionValArray.join(', ') + ']';\n  }\n\n  getItemCode(item) {\n    // If there are no customizations, just return the item code\n    if (!item.ItemOptions || !item.ItemOptions.length || !item.HasOptions) {\n      return this.product.ItemID;\n    }\n\n    // If there are customizations, find the right OptionsMap and use its code\n    const optionValues = [];\n    for (const key in this.orderOptions) {\n      if (\n        !this.orderOptions.hasOwnProperty(key) ||\n        item.ItemID.toString() !== key.split('__')[0]\n      ) {\n        continue;\n      }\n\n      optionValues.push(this.orderOptions[key]);\n    }\n\n    optionValues.sort();\n\n    item.selectedOptions = this.getOptionsText(optionValues);\n\n    if (item.HasKitOptions) {\n      item.KitGroups.forEach(kitGroup => {\n        kitGroup.Items.forEach(this.getItemCode);\n      });\n    }\n\n    let mapping;\n    for (const index in item.OptionsMap) {\n      if (item.OptionsMap.hasOwnProperty(index)) {\n        mapping = item.OptionsMap[index];\n        mapping.OptionNames.sort();\n        if (_.isEqual(optionValues, mapping.OptionNames)) {\n          return mapping.ItemId;\n        }\n      }\n    }\n\n    throw new Error(\n      'Error: ' +\n      item.ProductName +\n      ' does not have a mapping for ' +\n      optionValues.toString() +\n      '.'\n    );\n  }\n  getValidValues(item, option, values): any {\n    // Get the already-selected option values (except this one and values from other items)\n    const currentOption = this.getOrderOptionKey(item, option);\n    const otherOptions = [];\n\n    for (const key in this.orderOptions) {\n      if (\n        key === currentOption ||\n        item.ItemID.toString() !== key.split('__')[0]\n      ) {\n        continue;\n      }\n\n      otherOptions.push(this.orderOptions[key]);\n\n    }\n\n    // Whittle down the OptionMaps to the ones that have all the already-selected options\n    const optionMapNames = item.OptionsMap\n      ? item.OptionsMap.map(optMap => {\n        return optMap.OptionNames;\n      })\n      : [];\n    const validOptionMaps = optionMapNames.filter(optNames => {\n      // For each OptionMap, ensure that it contains all the other selected options\n      let optionValue1;\n      for (const index in otherOptions) {\n        if (otherOptions.hasOwnProperty(index)) {\n          optionValue1 = otherOptions[index];\n          if (~optNames.indexOf(optionValue1)) {\n            continue;\n          }\n          return false;\n        }\n      }\n      return true;\n    });\n\n    // Union the validOptionMaps\n    const validOptionValues = validOptionMaps.reduce((arr, optMap) => {\n      let optionName;\n      for (const index in optMap) {\n        if (optMap.hasOwnProperty(index)) {\n          optionName = optMap[index];\n          if (!~arr.indexOf(optionName)) {\n            arr.push(optionName);\n          }\n        }\n      }\n      return arr;\n    }, []);\n\n    // Set `isAvailable: true` on each option that can be found in validOptionNames, and `isAvailable: false` on the others\n    let optionValue;\n    for (const index in values) {\n      if (values.hasOwnProperty(index)) {\n        optionValue = values[index];\n        optionValue.isAvailable = !!~validOptionValues.indexOf(\n          optionValue.Option\n        );\n      }\n    }\n    return values.filter(itm => {\n      return itm.isAvailable;\n    });\n  }\n\n  openSelect(event) {\n    this.event = event || this.event;\n    // this is due to select input fields are not consistant in some browser\n    if (window.screen.availWidth < 600 && !event) {\n      setTimeout(() => {\n        }, 100);\n    }\n  }\n\n  checkOptions(option) {\n    let count = 0;\n    this.value.forEach((item) => {\n      if (item) {\n        count++;\n      }\n    });\n    this.isOptionsSelected = (count === option.length);\n  }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n  name: 'categoryFilter'\n})\nexport class CategoryPipe implements PipeTransform {\n    transform(items: any, filter: any): any {\n        if (!items || !filter) {\n            return items;\n        }\n        // filter items array, items which match and return true will be\n        // kept, false will be filtered out\n        if (filter.Category.toLowerCase() == 'all'){\n            return items;\n        }\n        return items.filter(item => item.Category.toLowerCase() == filter.Category.toLowerCase());\n    }\n\n}\n","import { ShoppingCartService } from './../../shared/services/shopping-cart.service';\nimport { Component, OnInit, OnDestroy, HostListener } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { HostedpaymentDialogComponent } from '../../shared/model/hostedpayment-dialog/hostedpayment-dialog.component';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { PaymentService } from '../../shared/services/payment.service';\nimport { ProductService } from '../../shared/services/product.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UserService } from '../../shared/services/user.service';\nimport * as _ from 'lodash';\nimport * as moment from 'moment';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { ApplicantAddress, Enrollment } from 'src/app/modals/enrollment.model';\nimport { EnrollmentResponse } from 'src/app/modals/enrollmentrespnse.modal';\nimport { Title } from '@angular/platform-browser';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { State } from 'src/app/modals/state.modal';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { FindEnrollerComponent } from '../../shared/model/findenroller/findenroller.component';\nimport { Cart1Service } from '../../shared/services/cart1.service';\nimport { ShippingAddress, UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { OrderService } from '../../shared/services/order.service';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { ValidateKeywordService } from '../../shared/services/validatekeyword.service';\nimport { ItemsListService } from '../../shared/services/itemsList.service';\nimport $ from 'jquery';\nimport { getSubdomain } from 'tldts';\nimport { Location } from '@angular/common';\nimport { RegexService } from '../../shared/services/regex.service';\nimport { AllowCvvComponent } from '../../shared/model/allow-cvv/allow-cvv.component';\nimport { AutoshipConfigurationService } from '../../shared/services/autoshipConfiguration.service';\nimport { CompanyService } from '../../shared/services/company.service';\nimport { AccountService } from '../../shared/services/account.service';\nimport { PersistentService } from '../../shared/services/persistent.service';\nimport { toNumber } from 'lodash';\nimport { EmailVerifyDialogComponent } from '../../shared/email-verify-dialog/email-verify-dialog.component';\nimport { TextSmsVerifyDialogComponent } from '../../shared/text-sms-verify-dialog/text-sms-verify-dialog.component';\nimport { ConfirmDialogComponent, ConfirmDialogModel } from '../../shared/model/confirm-dialog/confirm-dialog.component';\nimport { ValidationService } from '../../shared/services/validation.service';\n\ndeclare function OnIFrameSave(e): any;\n@Component({\n  selector: 'app-application',\n  templateUrl: './application.component.html',\n  styleUrls: ['./application.component.scss']\n})\nexport class ApplicationComponent implements OnInit, OnDestroy {\n  emails: string;\n  showErrorShipping: boolean = false;\n  emailAlreadyexist: boolean = false;\n  emailNotVerified: boolean = false;\n  criminalCheck: boolean = false;\n  agreetoconditions: boolean = false;\n  showErrorBilling: boolean = false;\n  ageError: boolean = false;\n  showErrortax: boolean = false;\n  textnumberempty: boolean = false;\n  userService: UserServiceModal;\n  enrollmentForm: Enrollment;\n  legacyGuestCheckout: boolean = false;\n  IsSubmitDisable: boolean = false;\n  panelBillingAddress: boolean = false;\n  loadingDetails: boolean = true;\n  SubmitApplicationResponse: any = {};\n  submitApplicationRequest: Enrollment;\n  frequencyTypeID: number = 0;\n  AutoshipItemRequired: Array<number> = [1, 3];\n  IsAllowKitItems: boolean = true;\n  OrderItemRequired: boolean = true;\n  allowedCountries: any = [];\n  selectedCountry: string = 'us';\n  shippingAddressGroup: FormGroup;\n  accountInfoGroup: FormGroup;\n  paymentMethodGroup: FormGroup;\n  shippingNewAddressGroup: FormGroup;\n  isShowKit: boolean = false;\n  public country: any;\n  public userType: any;\n  selectedLanguageCode: any;\n  states: Array<State> = [];\n  selectedState: string = 'UT';\n  languages = ['en', 'es'];\n  model: any = {};\n  days = [];\n  months = [];\n  years = [];\n  selectedStateControl = new FormControl(this.selectedState);\n  panelDisplay: boolean = true;\n  noOfStepsVerified: number = 0;\n  UserNameCheck: any;\n  ApplicationSteps: any = {};\n  public currentStep: any;\n  isShowUpDown: any[] = [];\n  CurrentSection: any = {};\n  finalStep: any;\n  typeSelected: any;\n  scrollDuration: number = 2;\n  scrollPosition: number = 0;\n  paddleMargin: number = 24;\n  lastQuantity: 0;\n  public commonData: any;\n  public AutoshipMinDate: Date;\n  public AutoshipMaxDate: Date;\n  selectedfrequencyTypeID: 0;\n  ReplicatedSiteUrl: string = 'ecomdemosite.xyz';\n  checkboxes: any = {};\n  StatesResponse: [];\n  StateNameToggel: boolean = false;\n  isPanelOpen: boolean = false;\n  productsAutoshipStore: Array<DSProduct> = []\n  productskitStore: Array<DSProduct> = []\n  productswholesaleStore: Array<DSProduct> = []\n  productsretailPrice_autoship: Array<DSProduct> = []\n  productsretailPrice_kit: Array<DSProduct> = []\n  productsretailPrice_wholesale: Array<DSProduct> = []\n  public interval: any;\n  public ShippingError1: boolean;\n  public ShippingError2: boolean;\n  forbiddenPatterns = [\n    \"po box\",\n    \"po box%\",\n    \"post office box%\",\n    \"post office box\",\n    \"p.o. box\",\n    \"p.o. box%\",\n    \"p o box\",\n    \"p. o. box\",\n    \"pobox\",\n    \"postofficebox\",\n    // Add other patterns here\n  ];\n  constructor(\n    public utilityService: UtilityService,\n    private titleService: Title,\n    public configService: ConfigService,\n    public route: ActivatedRoute,\n    public dialog: MatDialog,\n    public itemsService: ProductService,\n    public apiService: RestApiService,\n    public user: UserService,\n    public notificationService: NotificationService,\n    public paymentService: PaymentService,\n    public translate: TranslateService,\n    public cart1Service: Cart1Service,\n    public orderService: OrderService,\n    public validateKeyword: ValidateKeywordService,\n    public itemsListService: ItemsListService,\n    public location: Location,\n    public regexService: RegexService,\n    public router: Router,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public companyService: CompanyService,\n    public accountService: AccountService,\n    public shoppingCartService: ShoppingCartService,\n    public persistentService: PersistentService,\n    public validationService: ValidationService\n  ) {\n    this.userService = this.user.userServiceModal;\n    this.userService.shippingAddress = <UserServiceModal['shippingAddress']>{};\n    this.utilityService.isShowSimplifiedheader = true;\n    this.apiService.getActiveCountries().subscribe(data => {\n      this.allowedCountries = data.Data;\n      const selectedCountry = sessionStorage.getItem('selectedCountry') === 'undefined' ? null : sessionStorage.getItem('selectedCountry');\n      const selectedCustomerTypeID = sessionStorage.getItem('selectedCustomerTypeID') === 'undefined' ? null : sessionStorage.getItem('selectedCustomerTypeID');\n      this.selectedLanguageCode = sessionStorage.getItem('selectedLanguageCode');\n\n      const userType = _.find(configService.commonSettings.CustomerTypes, (customerType) => {\n        return (customerType.ID === (parseInt(this.route.snapshot.queryParams.type, 10) || this.typeSelected || parseInt(selectedCustomerTypeID, 10) || 2));\n      });\n      const country = _.find(this.allowedCountries, (item) => {\n        return (item.CountryCode.toLowerCase() === (selectedCountry || 'us'));\n      });\n      this.country = country;\n      this.userType = userType;\n      if (this.userType) {\n        this.userService.customerTypeID = this.userType?.ID;\n      }\n      this.typeSelected = this.userType?.ID || '0';\n    }, () => { });\n    \n    this.enrollmentForm = {} as Enrollment;\n    this.enrollmentForm.ApplicantAddress = this.enrollmentForm.ApplicantAddress || {} as ApplicantAddress;\n    this.enrollmentForm.ShippingAddress = this.enrollmentForm.ShippingAddress || {} as ShippingAddress;\n    // this.enrollmentForm.billingAddressSame = true;\n    this.commonData = this.configService.getConfig();\n    this.selectedfrequencyTypeID = this.persistentService.retailData.Autoship.FrequencyTypeID;\n    this.AutoshipMinDate = moment().add(this.configService.localSettings.Autoship.AutoshipMinDate, 'days').toDate();\n    this.AutoshipMaxDate = moment().add(this.configService.localSettings.Autoship.AutoshipMaxDate, 'days').toDate();\n\n    //Maipulating formdata from sessionstorage when page changes\n    this.router.events.subscribe((event) => {\n      if (event instanceof NavigationEnd && event.url.indexOf('complete') == -1 && event.url.indexOf('join') == -1) {\n        sessionStorage.setItem('FormData', JSON.stringify(this.enrollmentForm));\n      } else if (event instanceof NavigationEnd && event.url == '/join') {\n        this.setFormData();\n      } else if (event instanceof NavigationEnd && event.url == '/complete') {\n        sessionStorage.removeItem('FormData');\n      }\n    })\n\n    this.enrollmentForm.TaxID = '';\n    this.enrollmentForm.subscribeToCorporateEmails = true; //bydefault\n    this.enrollmentForm.subscribeToCorporateTexts = true; //bydefault\n\n    window.onload = () => {\n      const myInput = document.getElementById('myInput');\n      myInput.onpaste = e => e.preventDefault();\n     }\n  }\n  preventmenu(e:MouseEvent){\n    if(e.type == 'contextmenu' ){\n      e.preventDefault();\n      return false;\n    }\n  }\n\n  //Setting formdata from session storage to page\n  setFormData() {\n    if (sessionStorage.getItem('FormData')) {\n      this.enrollmentForm = JSON.parse(sessionStorage.getItem('FormData'));\n    }\n  }\n\n  selectLanguage(language:string) {\n    this.translate.use(language);\n    sessionStorage.setItem('selectedLanguageCode', language);\n  }\n\n  languageChanged(event: any) {\n    this.selectLanguage(event.target.value);\n  }\n\n  //\n\n\n  //Setting formdata into session before reload event starts\n  @HostListener(\"window:beforeunload\", [\"$event\"]) saveFormData(event: Event) {\n    sessionStorage.setItem('FormData', JSON.stringify(this.enrollmentForm));\n  }\n  //\n\n  ngOnInit(): void {\n    if (this.userService.isNOTverified_email) {\n      this.emails = '';\n      (document.getElementById('email') as HTMLInputElement).value\n    }\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle('Join' + ' | ' + text);\n    });\n    this.apiService.getStates(this.configService.commonData.selectedCountry || 'us').subscribe(\n      result => {\n        sessionStorage.setItem((this.configService.commonData.selectedCountry || 'us') + 'State', JSON.stringify(result.Data));\n        this.states = result.Data;\n      },\n      error => { },\n      () => { }\n    );\n\n    this.days = this.utilityService.birthDays();\n    this.months = this.utilityService.birthMonths();\n    this.years = this.utilityService.birthYears();\n    sessionStorage.setItem('IsEnrollment', 'true');\n    this.setSteps(1);\n\n    this.autoshipConfigurationService.autoshipDate = this.autoshipConfigurationService.autoshipDate ?\n      this.autoshipConfigurationService.autoshipDate :\n      $('#startdate').val();\n\n    if (this.autoshipConfigurationService.autoshipDate) {\n      $('#startdate').val(this.autoshipConfigurationService.autoshipDate);\n    }\n\n    // Enable Disable Steps\n    if (this.userService.customerTypeID == 1) {\n      setTimeout(() => {\n        $('.card').find('.toggle-ul.step_' + 1).slideDown(200);\n      }, 2500);\n    } else {\n      setTimeout(() => {\n        $('.card').find('.toggle-ul.step_' + 1).slideDown(200);\n      }, 200);\n    }\n\n    $('#ds_application2').on('click', (event) => {\n      const $target = $(event.target);\n      for (let index = 1; index <= this.userService.TotalSteps; index++) {\n        if (!$target.closest('#step_' + index).length &&\n          $('#step_' + index + ' .step_' + index + '.toggle-ul').length &&\n          $('#step_' + index + ' .step_' + index + '.toggle-ul').css('display') != 'none') {\n          $('#step_' + index + ' .step_' + index + '.toggle-ul').slideToggle('slow', 'swing', () => {\n          });\n        }\n      }\n    });\n    this.isShowUpDown[3] = true;\n    this.finalStep = this.userService.customerTypeID == 1 ? 6 : 5;\n\n    setTimeout(() => {\n      $('html,body').animate({ scrollTop: 0 }, 'slow');\n      $(() => {\n        this.CurrentSection = {};\n        this.CurrentSection[3] = true;\n        let countDefault = 0;\n        $('#step_3').find('input[type=\"tel\"],input[type=\"text\"]').each(() => {\n          if (!$(this).val() && countDefault == 0) {\n            $(this).trigger('focus');\n            $(this).trigger('select');\n            countDefault++;\n          }\n        });\n      });\n    }, 1000);\n    this.getStates();\n\n    if (sessionStorage.getItem('FormData')) {\n      this.enrollmentForm = JSON.parse(sessionStorage.getItem('FormData'));\n    }\n\n    if (this.userService.customerTypeID == 1) {\n\n      // this.getEnrollmentKitItems();\n      const requestForkit = {\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n        LanguageCode: this.configService.commonData.selectedLanguage || 'en',\n        RegionID: this.companyService.getRegionID(this.configService.commonData.selectedCountry),\n        PriceGroup: this.userService.customerTypeID,\n        StoreID: 1,\n        CategoryId: 0\n      };\n\n      //first  call\n      this.itemsService.getProducts(requestForkit).subscribe((p: any[]) => {\n\n        //this.productskitStore = p;\n        this.productskitStore = _.find(p, (item) => {\n          return (item.ItemID === 2);\n        });\n\n        this.cart1Service.addToCart(this.productskitStore, true, '', false, false, true, true, true)\n      });\n    }\n\n    this.getpaymentMethod(this.enrollmentForm?.ShippingAddress?.Region || this.enrollmentForm?.ApplicantAddress?.Region || 'ut')\n  }\n\n  textNumberCheckboxStateChanged(e: any) {\n    if (this.enrollmentForm.subscribeToCorporateTexts) {\n      this.validateTextNumber(e);\n    } else\n    {\n      //clear out any errors that may have occurred on loss of focus on textbox when unchecked.\n      this.modifyUiComponentGroup('.TextNumberInput', {clearErrors: true});\n    }\n  }\n\n  validateTextNumber(e: any) {\n    if (this.enrollmentForm.TextNumber?.length >= 10 && this.enrollmentForm.subscribeToCorporateTexts == true) {\n      this.apiService.textnumberavailabilitycheck(this.enrollmentForm.TextNumber).subscribe((result) => {\n        if (result.data == false && result.message == \"Success\") {\n\n          this.notificationService.error('error_', 'textnumber_not_avail');\n          this.enrollmentForm.TextNumber = '';\n\n        } else if (result.data == true) {\n\n          if ((e.target as HTMLInputElement)?.value == '') {\n            this.textnumberempty = true\n          } else {\n            this.textnumberempty = false\n          }\n          if ((!this.enrollmentForm.TextNumber) && (e.checked == true)) {\n            this.textnumberempty = true\n          } else if ((!this.enrollmentForm.TextNumber) && (e.checked == false)) {\n            this.textnumberempty = false\n          } else if ((this.enrollmentForm.TextNumber) && (e.checked == false)) {\n            this.textnumberempty = false\n          }\n          else {\n            if (this.enrollmentForm.TextNumber?.length >= 10 && !this.textnumberempty && this.enrollmentForm.subscribeToCorporateTexts) {\n              this.TextVerify(this.enrollmentForm.TextNumber)\n            } else {\n              this.textnumberempty = true\n            }\n          }\n        }\n      })\n    } else if (this.enrollmentForm.TextNumber?.length >= 10 && this.enrollmentForm.subscribeToCorporateTexts == false) {\n      this.apiService.textnumberavailabilitycheck(this.enrollmentForm.TextNumber).subscribe((result) => {\n        if (result.data == false && result.message == \"Success\") {\n\n          this.notificationService.error('error_', 'textnumber_not_avail');\n          this.enrollmentForm.TextNumber = '';\n\n        }\n      })\n    }\n    else if (this.enrollmentForm.TextNumber?.length < 10 && this.enrollmentForm.subscribeToCorporateTexts == false) {\n      return\n    } else {\n      this.notificationService.error('error_', 'enter_correct_number');\n    }\n  }\n\n  doberror(event) {\n    if (this.enrollmentForm.BirthDay && this.enrollmentForm.BirthMonth && this.enrollmentForm.BirthYear) {\n      let day = this.enrollmentForm.BirthDay\n      let month = this.enrollmentForm.BirthMonth\n      let year = this.enrollmentForm.BirthYear\n      let dateString = year.toString() + '-' + month.toString() + '-' + day.toString();\n      let today = new Date();\n      let birthDate = new Date(dateString);\n      let age = today.getFullYear() - birthDate.getFullYear();\n      let m = today.getMonth() - birthDate.getMonth();\n\n      if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n        age--;\n\n      }\n      if (age < 18) {\n\n        this.ageError = true;\n      } else {\n        this.ageError = false;\n      }\n    }\n  }\n\n  changeAffiliate() {\n    this.dialog.open(FindEnrollerComponent, {\n      disableClose: true,\n      panelClass: 'findenroller-dialog'\n    });\n  }\n\n  customerTypeDescription() {\n    if (!this.configService.commonSettings.CustomerTypes) { return ''; }\n    let customerID\n    const desc = _.find(this.configService.commonSettings.CustomerTypes, (customerType) => {\n      customerID = customerType.ID\n      return (this.userService.customerTypeID == customerType.ID);\n    })?.Description;\n    const descTrans = this.translate.instant([\"unifiedapplication_user_type_1\", \"unifiedapplication_user_type_2\", \"unifiedapplication_user_type_3\"])\n    for (const [key, value] of Object.entries(descTrans)){\n      if (key.includes(customerID.toString())) {\n        return value\n      }\n    }\n    return desc\n  }\n\n  setSteps(type) {\n    this.ApplicationSteps = {\n      step1: { currentStep: type == 1 ? 2 : 1 },\n      step2: { currentStep: type == 1 ? 3 : 2 },\n      step3: { currentStep: type == 1 ? 4 : 3 },\n      step4: { currentStep: type == 1 ? 5 : 4 },\n      step5: { currentStep: type == 1 ? 6 : 5 }\n    };\n  }\n\n  getpaymentMethod(region?) {\n    // const request = {\n    //   customerId: 0,\n    //   storeid: 4,\n    //   countrycode: this.configService.commonData.selectedCountry || 'us',\n    //   region: this.companyService.getRegionID(this.configService.commonData.selectedCountry)\n    // };\n    // this.apiService.getPaymentMerchants(request).subscribe(\n    //   result => { },\n    //   error => {\n    //     console.warn('error', error);\n    //     if (error.Data && !error.Data[0].WebAlias) {\n    //       this.notificationService.error('error_', 'webalias_not_exists');\n    //       return false;\n    //     }\n    //   },\n    //   () => {\n    //   }\n    // );\n\n    this.paymentService.getPaymentType(region).then(() => {\n\n      this.userService.paymentMethods = this.userService.paymentMethods || [];\n      this.userService.couponInfo.promoCodeValid = undefined;\n      this.paymentService.PaymentDataResponse = this.paymentService.PaymentDataResponse || {};\n      // If they've already set up a split payment and try to add autoship items, only allow one payment method\n      if (this.countPaymentMethods() > 1) {\n        this.userService.paymentMethods = [this.userService.paymentMethods[0]];\n      }\n    });\n  }\n\n  getpaymentMethodIframe() {\n    this.dialog.open(HostedpaymentDialogComponent, {\n      panelClass: 'hosted_payment-Dialog'\n    });\n  }\n\n\n  saveApplicationDetail() {\n\n    if (!this.userService.commissionPayment && this.userService.customerTypeID == 1) {\n      this.notificationService.error('error_', this.translate.instant('unifiedapplication_add_ssn_required'));\n      return;\n    }\n    if (this.orderService.calculateOrderResponse.Result) {\n      if (this.orderService.calculateOrderResponse.Result.Status !== 0) {\n        this.notificationService.error('error_', this.orderService.calculateOrderResponse.Result.Errors);\n        return;\n      }\n    } else {\n      this.notificationService.error('error_', this.translate.instant('unifiedapplication_error_occured_try_again'));\n      return;\n    }\n\n    if (this.userService.paymentMethods.length > 0) {\n      if (this.userService.paymentMethods[0].Last4 || this.userService.paymentMethods[0].Last4 === undefined) {\n        this.scrollTo(this.ApplicationSteps.step4.currentStep);\n      } else {\n        this.notificationService.error('error_', this.translate.instant('unifiedapplication_add_payment_error'));\n        return;\n      }\n    } else {\n      this.notificationService.error('error_', this.translate.instant('unifiedapplication_add_payment_error'));\n      return;\n    }\n  }\n\n  getShipName(shipmethodID) {\n    this.userService.selectedShippingMethod = shipmethodID;\n    this.orderService.calculateOrder();\n    if (this.itemsService.selectedAutoOrderItems.length > 0) {\n      this.orderService.calculateAutoOrder();\n    }\n  }\n\n  clearApplicationData(element) {\n    const id = '#' + element.target.id;\n    if ($(id).is(':checked')) {\n      $(id)\n        .closest('.control-group')\n        .find('.has-error.help-block')\n        .remove();\n      $(id)\n        .closest('.control-group')\n        .removeClass('has-error');\n    }\n  }\n\n  countPaymentMethods() {\n    const paymentMethods = this.userService.paymentMethods;\n    return paymentMethods ? paymentMethods.length : 0;\n  }\n\n  scrollTo(num) {\n    $('html, body').animate({\n      scrollTop: $('#step_' + parseInt(num, 10).toString()).offset().top\n    }, 50);\n  }\n\n  scrollToSection(num) {\n    $('html, body').animate({\n      scrollTop: $('#step_' + parseInt(num, 10).toString()).offset().top - 100\n    }, 1000);\n  }\n\n  collapseExpendSteps(num) {\n    this.CurrentSection[num] = true;\n    for (let index = 1; index <= this.userService.TotalSteps; index++) {\n      if (!this.isShowUpDown[index] || (num == index)) {\n        $('#step_' + index).find(':input').each((i, e) => {\n          const element = $(e);\n          element.closest('.control-group').removeClass('has-error');\n          element.closest('.control-group').find('.has-error').remove();\n        });\n      }\n    }\n\n    setTimeout(() => {\n      if (this.UserNameCheck) {\n        this.noOfStepsVerified = num;\n        for (let index = 1; index <= this.userService.TotalSteps; index++) {\n          if (index != num) {\n            if ($('#step_' + index + ' .control-group.has-error').length > 0 || (this.isShowUpDown[index] && !this.isStepValidated(index))) {\n              $('.card').find('.step_' + index).slideDown(500);\n              this.isShowUpDown[index] = true;\n            } else {\n              $('.card').find('.step_' + index).slideUp(500);\n              this.isShowUpDown[index] = false;\n            }\n          } else {\n            $('.card').find('.step_' + index).slideDown(500);\n            this.isShowUpDown[index] = true;\n          }\n        }\n        if (num) {\n          setTimeout(() => {\n            if (this.finalStep < num) {\n              this.scrollToSection(num);\n            }\n            let count = 0;\n            $('#step_' + num).find(':input').each(() => {\n              if (!$(this).val() && count == 0) {\n                $(this).trigger('focus');\n                $(this).trigger('select');\n                count++;\n              }\n            });\n\n          }, 500);\n        }\n      }\n    }, 50);\n  }\n\n  stepCollapsed(index) {\n    return $('#step_' + index + ' .step_' + index + '.toggle-ul').css('display') == 'none';\n  }\n\n  isStepValidated(index) {\n    if ($('#step_' + index + ' .control-group.has-error').length > 0) {\n      return false;\n    } else {\n      const required = $('#step_' + index + ' .control-group [validate]');\n      let validated = true;\n      _.each(required, (field) => {\n        if (field.hasAttribute('validate-select')) {\n          const value = $(field).find('option:selected').text();\n          if (value.match(/Select/) || value === '') {\n            validated = false;\n            return;\n          }\n        } else if (field.hasAttribute('checkbox-validate')) {\n          if (!$(field).is(':checked')) {\n            validated = false;\n            return;\n          }\n        } else if (!field.value) {\n          validated = false;\n          return;\n        }\n      });\n      return validated;\n    }\n  }\n\n  readyForCheckout() {\n    let validated = true;\n    for (let index = 1; index <= this.userService.TotalSteps; index++) {\n      validated = !!this.isStepValidated(index);\n      if (!validated) { break; }\n    }\n    return validated;\n  }\n\n  submitApplication(cvv?: any) {\n\n    this.IsSubmitDisable = true;\n    const productdetails = [];\n    _.each(this.itemsService.selectedOrderItems, (item) => {\n      productdetails.push({\n        ItemID: item.ItemID,\n        Quantity: item.Quantity,\n        IsKit: false,\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode\n      });\n    });\n\n    _.each(this.itemsService.selectedPacks, (item) => {\n      productdetails.push({\n        ItemID: item.ItemID,\n        Quantity: item.Quantity,\n        IsKit: item.IsKitItem,\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode\n      });\n    });\n\n    const autoshipproductdetails = [];\n    _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n      autoshipproductdetails.push({\n        ItemID: item.ItemID,\n        Quantity: item.Quantity,\n        IsKit: false,\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode\n      });\n    });\n\n    try{\n      let valueapartment = this.enrollmentForm.ShippingAddress.Street2?.toLowerCase();\n      let valuestreet1 = this.enrollmentForm.ShippingAddress.Street1?.toLowerCase();\n      for (const pattern of this.forbiddenPatterns) {\n        if((valueapartment?.includes(pattern)) || (valuestreet1?.includes(pattern))){\n          this.notificationService.error('error_', \"PO Box addresses are not allowed. Please use physical street address.\" , '', '', '', '', '', 4500);\n          this.IsSubmitDisable = false;\n          this.loadingDetails = false;\n          document.getElementById('placeorder')?.setAttribute('disabled', '');\n          return;\n        }\n      }\n    }\n    catch(error){\n    }\n    let username_category_id = localStorage.getItem('categoryid-username');\n    this.submitApplicationRequest = {\n      AssociateID: this.paymentService.PaymentDataResponse.customerId || 0,\n      AcceptTerms: true,\n      billingAddressSame: this.enrollmentForm.billingAddressSame || false,\n      FirstName: this.enrollmentForm.FirstName,\n      LastName: this.enrollmentForm.LastName,\n      CompanyName: this.enrollmentForm?.CompanyName,\n      RomanizedFirstName: '',\n      RomanizedLastName: '',\n      LegalFirstName: '',\n      LegalLastName: '',\n      TaxID: this.enrollmentForm.TaxID,\n      BirthDate: ((this.enrollmentForm.BirthYear || 2000) + '-' + (this.enrollmentForm.BirthMonth || 1) + '-' + (this.enrollmentForm.BirthDay || 1)).toString(),\n      PrimaryPhone: this.enrollmentForm.PrimaryPhone,\n      SecondaryPhone: '',\n      TextNumber: this.enrollmentForm.TextNumber,\n      Email: this.enrollmentForm.Email = this.emails,\n      Username: this.enrollmentForm.Username ? this.enrollmentForm.Username : username_category_id,\n      Password: this.enrollmentForm.Password = 'Th1nkEn3rgy', //this.enrollmentForm.Password ||\n      LanguageCode: this.enrollmentForm.LanguageCode || 'en',\n      ApplicantAddress: {\n        Street1: this.enrollmentForm.ApplicantAddress.Street1,\n        Street2: this.enrollmentForm.ApplicantAddress.Street2,\n        Street3: this.enrollmentForm.ApplicantAddress.Street3,\n        City: this.enrollmentForm.ApplicantAddress.City,\n        Region: this.enrollmentForm.ApplicantAddress.Region,\n        PostalCode: this.enrollmentForm.ApplicantAddress.PostalCode,\n        CountryCode: this.country?.CountryCode || 'us',\n      },\n      ShippingAddress: {\n        Street1: this.enrollmentForm.ShippingAddress.Street1,\n        Street2: this.enrollmentForm.ShippingAddress.Street2,\n        Street3: this.enrollmentForm.ShippingAddress.Street3,\n        City: this.enrollmentForm.ShippingAddress.City,\n        Region: this.enrollmentForm.ShippingAddress.Region,\n        PostalCode: this.enrollmentForm.ShippingAddress.PostalCode,\n        CountryCode: this.enrollmentForm.ShippingAddress.CountryCode || this.country?.CountryCode || 'us'\n      },\n      AssociateTypeID: this.userService.customerTypeID,\n      AssociateBaseType: this.userService.customerTypeID,\n      SponsorID: this.userService.enrollerInfo.CustomerId,\n      WebPageURL: this.userService.customerTypeID === 1 ? this.enrollmentForm.Username : username_category_id,\n      WebPageItemID: 0,\n      SendEmails: true,\n      AssociateCustom: {\n        Field10: \"\",\n        Field5: new Date().toLocaleString(),\n        AssociateId: this.paymentService.PaymentDataResponse.customerId || 0\n      },\n      PlacementOverrides: null,\n      Order: {\n        ShipMethodID: this.userService.selectedShippingMethod || 1,\n        StoreID: this.userService.customerTypeID == 1 ? 4 : 3,\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n        Items: productdetails,\n        CouponCodes: this.userService.couponInfo.Allcoupons || [],\n        Payments: [{\n          SavePaymentMethodId: this.userService.paymentMethods[0].token,\n          OnFileCard: '',\n          CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n          MerchantId: this.userService.paymentMethods[0].MerchantId,\n          SavePayment: true,\n          OrderRewardPoints: null,\n          OrderCreditCard: {\n            CardToken: this.userService.paymentMethods[0].token,\n            NameOnCard: this.userService.paymentMethods[0].billingInfo && this.userService.paymentMethods[0].billingInfo.fullName || '',\n            Last4: this.userService.paymentMethods[0].lastFour,\n            CardType: this.userService.paymentMethods[0].CardType,\n            ExpirationMonth: this.userService.paymentMethods[0].expireMonth || 1,\n            ExpirationYear: this.userService.paymentMethods[0].expireYear,\n          },\n          AuthorizationNumber: cvv\n        }],\n        RequireSuccess: true,\n      },\n      subscribeToCorporateEmails: this.enrollmentForm?.subscribeToCorporateEmails,\n      subscribeToCorporateTexts: this.enrollmentForm?.corporateTextsResponse,\n    };\n\n    if (autoshipproductdetails.length > 0) {\n      this.submitApplicationRequest.AutoShip = {\n        StartDate: this.autoshipConfigurationService.autoshipDate,\n        Frequency: '6', //this.persistentService.retailData.Autoship.FrequencyTypeID.toString(),\n        ShipMethodID: this.userService.selectedShippingMethod || 1,\n        Items: autoshipproductdetails\n      };\n    }\n\n    this.apiService.submitEnrollmentForm(this.submitApplicationRequest).subscribe(\n      (result: EnrollmentResponse) => {\n        if (result.Message === 'Success' && result.ErrorDescription == '') {\n          localStorage.setItem(\n            'SubmitApplication',\n            JSON.stringify(result.Data)\n          );\n          sessionStorage.removeItem('statusVerified');\n          this.userService.webOffice.UserName = this.enrollmentForm.Username || result?.Data?.AssociateID;\n          this.userService.webOffice.Password = this.enrollmentForm.Password;\n          this.loginFunction(this.userService.webOffice.UserName, this.enrollmentForm.Password);\n\n          this.notificationService.success(\n            'success',\n            this.translate.instant('unifiedapplication_successfully_enrolled')\n          );\n          sessionStorage.removeItem('FormData');\n        } else {\n          this.notificationService.error('error_', result.Message , '', '', '', '', '', 4500);\n          try {\n            this.IsSubmitDisable = false;\n            this.loadingDetails = false;\n            document\n              .getElementById('placeorder')\n              .setAttribute('disabled', '');\n            // Check for payment error\n            const error = result.Message;\n            if (error && error.length && !!~error.indexOf('Failed Payment')) {\n              const cardNumberText = 'Index:';\n              if (error.indexOf(cardNumberText) > -1) {\n                const cardNumberIndex =\n                  error.indexOf(cardNumberText) + cardNumberText.length;\n                const cardNumber =\n                  Number(error.slice(cardNumberIndex, cardNumberIndex + 1)) +\n                  1;\n\n                const cardAmountText = 'Amount:';\n                const cardAmountIndex =\n                  error.indexOf(cardAmountText) + cardAmountText.length;\n                const cardAmountEndIndex = error.indexOf(\n                  ' ',\n                  cardAmountIndex\n                );\n                const cardAmount = error.slice(\n                  cardAmountIndex,\n                  cardAmountEndIndex\n                );\n\n                this.notificationService.error(\n                  'error_',\n                  this.translate.instant(\n                    'unifiedapplication_enrollment_invalid_card',\n                    {\n                      cardNumber: cardNumber.toString(),\n                      cardAmount: this.currencyFilter(cardAmount)\n                    }\n                  )\n                );\n              } else {\n                this.notificationService.error('error_', result.Message);\n              }\n              return;\n            }\n\n            this.SubmitApplicationResponse = {};\n            sessionStorage.removeItem('FormData');\n            localStorage.removeItem('SubmitApplication');\n            localStorage.setItem(\n              'SubmitApplication',\n              JSON.stringify(result.Data)\n            );\n            this.SubmitApplicationResponse = result.Data;\n          } catch (ex) {\n            console.warn('ex', ex);\n            document.getElementById('placeorder').setAttribute('disabled', '');\n            this.notificationService.error(\n              'error_',\n              this.translate.instant(\n                'unifiedapplication_error_occured_try_again'\n              )\n            );\n            this.IsSubmitDisable = false;\n          }\n        }\n      },\n      err => {\n        document.getElementById('placeorder').setAttribute('disabled', '');\n        this.IsSubmitDisable = false;\n        this.loadingDetails = false;\n        console.error(err);\n        this.notificationService.error(\n          'error_',\n          this.translate.instant('unifiedapplication_error_occured_try_again')\n        );\n      },\n      () => { }\n    );\n  }\n  currencyFilter(amount) {\n    return amount;\n  }\n  togglePanel() {\n    this.userService.sponsorSectionPanel = !this.userService.sponsorSectionPanel;\n  }\n\n  checkaddressPO(address, type=1){\n    let value = address?.toLowerCase();\n    for (const pattern of this.forbiddenPatterns) {\n      if (value?.includes(pattern)) {\n        if(type===1){\n          this.enrollmentForm.ShippingAddress.Street1 = '';\n          document.getElementById('notcheckedstreet1').focus();\n          this.ShippingError1 = true;\n        }else{\n          this.enrollmentForm.ShippingAddress.Street2 = '';\n          document.getElementById('notcheckedstreet2').focus();\n          this.ShippingError2 = true;\n        }\n        this.notificationService.error('error','PO Box addresses are not allowed. Please use physical street address.');\n        break;\n      }else{\n        if(type===1){\n          this.ShippingError1 = false;\n        }else{\n          this.ShippingError2 = false;\n        }\n      }\n    }\n  }\n  checkboxBilling(event) {\n    if (!event.checked) {\n      this.enrollmentForm.ShippingAddress = {} as ShippingAddress;\n      document.getElementById('notcheckedstreet1').focus()\n    }\n    else {\n      this.propagateBillingToShipping();\n      //recalculate order total on copy\n      this.regexValidateShippingZip(this.enrollmentForm.ShippingAddress.CountryCode, this.enrollmentForm.ShippingAddress.PostalCode);\n    }\n\n    //clear out erros that may have come up as a result of loss of focus on\n    //required elements in the address block.\n    //disable shipping address fields if they are to be synced with billing address\n    this.modifyUiComponentGroup(\".shippingAddress\", {clearErrors: true, disable: event.checked});\n  }\n\n  modifyUiComponentGroup(group: string, options?: {clearErrors?: boolean, disable?: boolean}) {\n    let disable = options?.disable || false;\n    let enable = !(options?.disable) || false;\n    let clearErrors = options?.clearErrors || false;\n    document.querySelectorAll(group).forEach((e: HTMLInputElement) => {\n      if (clearErrors) {\n        e.parentNode.childNodes.forEach((i: HTMLElement) => {\n          if (i.tagName == \"SMALL\") i.remove();\n        })\n      }\n      if (disable && !enable) {\n        e.disabled = disable;\n      }\n    });\n  }\n\n  copyToShipping() {\n    if (this.enrollmentForm.billingAddressSame)\n    {\n      this.propagateBillingToShipping();\n      //recalculate order total on copy\n      this.regexValidateShippingZip(this.enrollmentForm.ShippingAddress.CountryCode, this.enrollmentForm.ShippingAddress.PostalCode);\n    }\n\n    //clear out erros that may have come up as a result of loss of focus on\n    //required elements in the address block\n    this.modifyUiComponentGroup(\".shippingAddress\", {clearErrors: true});\n\n  }\n\n  propagateBillingToShipping() {\n    this.enrollmentForm.ShippingAddress = {} as ShippingAddress;\n    this.enrollmentForm.ShippingAddress.City = this.enrollmentForm.ApplicantAddress?.City,\n      this.enrollmentForm.ShippingAddress.CountryCode = this.userService.shippingAddress?.CountryCode || this.userService?.selectedCountry || \"US\";\n    this.enrollmentForm.ShippingAddress.PostalCode = this.enrollmentForm.ApplicantAddress?.PostalCode;\n    this.enrollmentForm.ShippingAddress.Region = this.enrollmentForm.ApplicantAddress?.Region;\n    this.enrollmentForm.ShippingAddress.Street1 = this.enrollmentForm.ApplicantAddress?.Street1;\n    this.enrollmentForm.ShippingAddress.Street2 = this.enrollmentForm.ApplicantAddress?.Street2;\n    this.checkaddressPO(this.enrollmentForm.ShippingAddress.Street1,1);\n    this.checkaddressPO(this.enrollmentForm.ShippingAddress.Street2,2);\n  }\n\n  validatetaxid(TaxID: string) {\n    if (TaxID) {\n      let TaxId = TaxID.toString();\n      this.apiService.validatetaxid(TaxId).subscribe(\n        result => {\n          try {\n            if (result.Status == 1 && !result.Data) {\n              this.notificationService.success(\n                'success',\n                this.translate.instant('taxid_available')\n              );\n            } else {\n              this.enrollmentForm.TaxID = '';\n              this.notificationService.error(\n                'error_',\n                this.translate.instant('taxid_not_available_')\n              );\n\n            }\n          } catch (ex) {\n            this.notificationService.error(\n              'error_',\n              this.translate.instant('error_occured_try_again')\n            );\n          }\n        },\n        err => {\n          // Do stuff whith your error\n        },\n        () => {\n\n        }\n      );\n    }\n  }\n  verifyUsername(username: string) {\n    if (username) {\n      const blockword = ['test,abuse'];\n      const isValidPost = this.validateKeyword.CheckValidation(blockword, this.userService.webOffice.UserName);\n      if (isValidPost && !isValidPost.isvalid) {\n        this.notificationService.error(\n          'error_',\n          this.translate.instant('username_not_available_')\n        );\n        const UserNameCheck = false;\n        this.enrollmentForm.Username = '';\n      } else {\n        this.apiService.usernameAvailabilityCheck(username).subscribe(\n          result => {\n            try {\n              if (result.Data == true) {\n                this.notificationService.success(\n                  'success', this.translate.instant('username_available_'));\n              } else {\n                this.enrollmentForm.Username = '';\n                this.notificationService.error(\n                  'error_',\n                  this.translate.instant('username_not_available_')\n                );\n\n              }\n            } catch (ex) {\n              this.notificationService.error(\n                'error_',\n                this.translate.instant('error_occured_try_again')\n              );\n            }\n          },\n          err => {\n            // Do stuff whith your error\n            this.loadingDetails = false;\n          },\n          () => {\n\n          }\n        );\n      }\n    }\n  }\n  resetfield() {\n    this.criminalCheck = false\n  }\n\n  checkEmailAndGetCustomer(emailAddress: string){\n    const customerData = new Promise((resolve, reject) => {\n      try {\n        this.apiService\n        .GetCustomerByEmail({ emailAddress: emailAddress })\n        .subscribe(\n          (response) => {\n            if (response?.status === \"200\"){\n              if(response?.data?.length > 0){\n                resolve(response.data[0]);\n              } else {\n                resolve({});\n              }\n            }\n          },\n          (error) => {\n            reject(error);\n          }\n        );\n      } catch (error) {\n        reject(error);\n      }\n    });\n    const isEmailAvailable = new Promise((resolve, reject) => {\n        try {\n          this.apiService\n          .validateEmailAddress({ EmailAddress: emailAddress })\n          .subscribe(\n            (response) => {\n              if (response) {\n                resolve(response.Data);\n              }\n            },\n            (error) => {\n              reject(error);\n            }\n          );\n        } catch (error) {\n          reject(error);\n        }\n    });\n    return Promise.all([customerData,  isEmailAvailable]);\n  }\n\n  enrollmentEmailVerification(email: string){\n    this.enrollmentForm.Email = email.replace(/\\s/g, '');\n    if (this.enrollmentForm.Email && this.validationService.validateEmail(this.enrollmentForm.Email)) {\n      this.checkEmailAndGetCustomer(email)\n      .then((response) => {\n\n        if(response.length > 0){\n            console.log(response);\n\n          /*\n            - Enter IF Email is Available\n            - If customer exists the, customer Type ID shouldn't be 1 or 2. */\n\n          //@ts-ignore\n          if(!response[1] && response[0]?.AssociateType != 1 && response[0]?.AssociateType != 2){\n            this.userService.personalInfo.Email = email;\n            this.notificationService.success('success', 'email_available_');\n            this.emailAlreadyexist = false;\n            this.dialogVerify(email);\n          }\n\n          /*\n            - Email Already Exist\n            - But customer Type ID is 3 */\n\n          //@ts-ignore\n          else if(response[1] == true && response[0]?.AssociateType == 3){\n            this.userService.personalInfo.Email = email;\n            this.notificationService.success('success', 'email_available_');\n            this.emailAlreadyexist = false;\n            this.dialogVerify(email);\n          }\n\n          /* Email Already Exist */\n          else {\n            this.notificationService.error('error_', 'error_email_exists');\n            this.emailAlreadyexist = true;\n            this.enrollmentForm.Email = '';\n          }\n        }\n\n      })\n      .catch((error) => {\n        console.log(error);\n      })\n    }\n  }\n\n\n  verifyUserNameAndEmail(email: string) {\n    if (email) {\n      this.enrollmentForm.Email = email.replace(/\\s/g, '');\n      const filter = new RegExp('^([\\\\w-\\\\.+]+)@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.)|(([\\\\w-]+\\\\.)+))([a-zA-Z]{2,10}|[0-9]{1,3})(\\\\]?)$');\n      if (this.enrollmentForm.Email && filter.test(this.enrollmentForm.Email)) {\n        this.apiService\n          .validateEmailAddress({ EmailAddress: email })\n          .subscribe(result => {\n            if (!result.Data) {\n              this.userService.personalInfo.Email = email;\n              this.notificationService.success('success', 'email_available_');\n              this.emailAlreadyexist = false;\n              this.dialogVerify(email)\n            } else {\n              this.notificationService.error('error_', 'error_email_exists');\n              this.emailAlreadyexist = true;\n              this.enrollmentForm.Email = '';\n            }\n          });\n      }\n    }\n  }\n  dialogVerify(email) {\n    const dialogRef = this.dialog.open(EmailVerifyDialogComponent, {\n      autoFocus: false,\n      data: {\n        email: email,\n        service: UserServiceModal\n      },\n      width: '400px',\n      disableClose: true,\n\n    });\n    dialogRef.afterClosed().subscribe((result) => {\n      if (result.data == true) {\n        this.userService.isNOTverified_email = false;\n      } else if (result.data == false) {\n        this.enrollmentForm.Email = '';\n        (document.getElementById('email') as HTMLInputElement).focus();\n        this.userService.isNOTverified_email = true;\n      }\n    });\n  }\n\n  TextVerify(number) {\n    // console.log(\"call\", number);\n    const request = {\n      Mobile: '+1' + number\n    }\n    document.getElementsByClassName('loading-spinner')[0].classList.add('hidden')\n    this.apiService.sendtext(request).subscribe((a) => {\n      document.getElementsByClassName('loading-spinner')[0].classList.remove('hidden')\n    })\n    clearInterval(this.interval)\n    let type = 'mobile'\n    this.textresponsecheck('+1' + number, type)\n    this.dialog.open(TextSmsVerifyDialogComponent, {\n      autoFocus: false,\n      data: number,\n      width: '400px',\n      disableClose: true\n    });\n  }\n\n  textresponsecheck(number, type) {\n    this.interval = setInterval(() => {\n      document.getElementsByClassName('loading-spinner')[0].classList.add('hidden')\n      this.apiService.CheckReplyRespnose(number, type).subscribe((response) => {\n        //true\n        if ((response.Data == true) && (response.Message == \"Success\")) {\n          this.enrollmentForm.subscribeToCorporateTexts = true;\n          this.enrollmentForm.corporateTextsResponse = true;\n          document.getElementsByClassName('loading-spinner')[0].classList.remove('hidden')\n          clearInterval(this.interval)\n        } else if ((response.Data == false) && (response.Message == \"Success\")) {\n          document.getElementsByClassName('loading-spinner')[0].classList.remove('hidden')\n          this.enrollmentForm.subscribeToCorporateTexts = false;\n          this.enrollmentForm.corporateTextsResponse = false;\n          clearInterval(this.interval)\n          return\n        } else if((response.Data == null) && (response.Message == \"Success\")){\n          this.enrollmentForm.corporateTextsResponse = false;\n        }\n      })\n    }, 5000)\n  }\n\n\n  public updatecountry(country, languagecode) {\n    this.cart1Service.updateCountry(country, languagecode, false, false);\n  }\n\n  checkboxFunction(e) {\n    if (e.checked == false) {\n      this.criminalCheck = false;\n      this.enrollmentForm.TaxID = '';\n    }\n  }\n\n  regexValidateShippingZip(countrycode, zip?) {\n    if (zip) {\n      const regxExp = this.regexService.getRegex(countrycode.toUpperCase());\n      const filter = new RegExp(regxExp);\n      if (filter.test(zip)) {\n        this.getShippingTypes();\n        this.showErrorShipping = false;\n      }\n      else if (!filter.test(zip)) {\n        this.showErrorShipping = true;\n      }\n    }\n  }\n  regexValidateBillingZip(countrycode, zip?) {\n    if (zip) {\n      const regxExp = this.regexService.getRegex(countrycode.toUpperCase());\n      const filter = new RegExp(regxExp);\n      if (filter.test(zip)) {\n        this.showErrorBilling = false;\n      }\n      else if (!filter.test(zip)) {\n        this.showErrorBilling = true;\n      }\n    }\n  }\n  regexValidateSSN(ssn) {\n    if (ssn) {\n      const regxExp = \"^(?!666|000|9\\\\d{2})\\\\d{3}-(?=[5][0-9]|[6][0-5]|[9][0-2]|[9][4-9])\\\\d{2}-(?!0{4})\\\\d{4}$\";\n      const filter = new RegExp(regxExp);\n      let ssnArry = ssn.split(\"\")\n      let firstThree = ssnArry.slice(0, 3);\n      let lastFour = ssnArry.slice(-4);\n      let middle = ssnArry.slice(3, 5);\n      let ssnTest = toNumber(firstThree.join('')) + '-' + toNumber(middle.join('')) + '-' + toNumber(lastFour.join(''))\n      if (filter.test(ssnTest)) {\n        this.showErrortax = false;\n      }\n      else {\n        this.showErrortax = true;\n      }\n    }\n  }\n  public getShippingTypes() {\n\n    this.userService.shippingAddress.Street1 = this.enrollmentForm.ShippingAddress?.Street1;\n    this.userService.shippingAddress.Street2 = this.enrollmentForm.ShippingAddress?.Street2;\n    this.userService.shippingAddress.City = this.enrollmentForm.ShippingAddress?.City;\n    this.userService.shippingAddress.PostalCode = this.enrollmentForm.ShippingAddress?.PostalCode || this.enrollmentForm.ApplicantAddress?.PostalCode;\n    this.userService.shippingAddress.Region = this.enrollmentForm.ShippingAddress?.Region;\n    this.orderService.calculateOrderCall = true;\n    this.orderService.calculateOrder().then(() => {\n      let shipM = '';\n      _.each(this.userService.shippingMethods, (shipmethod) => {\n        if (this.userService.selectedShippingMethod && this.userService.selectedShippingMethod == shipmethod.ShipMethodID) {\n          shipM = shipmethod.ShipMethodID;\n        }\n      });\n      if (shipM == '') {\n        shipM = this.userService.shippingMethods && (this.userService.shippingMethods[0]?.ShipMethodID || this.userService.shippingMethods[0]?.ShipMethodId);\n      }\n      this.userService.selectedShippingMethod = Number(shipM);\n\n    });\n    if (this.itemsService.selectedAutoOrderItems.length > 0) {\n      this.orderService.calculateAutoOrder();\n    }\n  }\n\n\n  getStates() {\n    this.apiService.getStates(this.country.CountryCode || 'US').subscribe((result) => {\n      sessionStorage.setItem(JSON.stringify(this.country.CountryCode), JSON.stringify(result.Data));\n      if (result.Data && result.Data.length > 0) {\n        this.StatesResponse = result.Data;\n        // this.enrollmentForm.ShippingAddress.Region = result.Data[0]?.StateCode;\n        // this.enrollmentForm.ApplicantAddress.Region = result.Data[0]?.StateCode;\n        this.userService.mailingAddress.StateName =\n          this.userService.mailingAddress?.StateName || result.Data[0]?.StateName;\n        if (!this.StateNameToggel) {\n          this.getStateName(false);\n          this.StateNameToggel = true;\n        }\n      }\n    },\n      (error) => {\n      }, () => {\n\n      });\n  }\n\n  getStateName(isMailingAddress) {\n    if (isMailingAddress) {\n      this.userService.mailingAddress.StateName = _.filter(\n        this.StatesResponse, (state: any) => {\n          return (state.StateCode === (this.userService.mailingAddress.State || this.userService.defaultState))\n        })[0]?.StateName;\n      // if (this.userService.paymentMethods.length > 0) {\n      //   this.userService.paymentMethods = [];\n      //   this.notificationService.warning('warn_', 'unifiedapplication_fill_payment_again_state');\n      // }\n    } else {\n      this.userService.shippingAddress.Region = _.filter(\n        this.StatesResponse, (state: any) => {\n          return (\n            state.StateCode ===\n            (this.userService.shippingAddress?.Region || this.userService?.defaultState)\n          );\n        }\n      )[0]?.StateName;\n    }\n    this.getShippingTypes();\n  }\n\n  checkAddress() {\n    if (this.enrollmentForm.ShippingAddress.PostalCode) {\n      return true;\n    }\n    return false;\n  }\n\n  getQuanity() {\n    let quantity = 0;\n    _.each(this.itemsService.selectedPacks, (item) => {\n      quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n    });\n\n    _.each(this.itemsService.selectedOrderItems, (item) => {\n      if (!item.UsePoints) {\n        quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n      }\n      if (item.UsePoints) {\n        quantity += (item.rewardQuantity ? parseInt(item.rewardQuantity, 10) : 0);\n      }\n    });\n    _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n      quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n    });\n    return quantity;\n  }\n\n  getOrderQuanity() {\n    let quantity = 0;\n    _.each(this.itemsService.selectedOrderItems, (item) => {\n      if (!item.UsePoints) {\n        quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n      }\n      if (item.UsePoints) {\n        quantity += (item.rewardQuantity ? parseInt(item.rewardQuantity, 10) : 0);\n      }\n    });\n    return quantity;\n  }\n\n  getPacksQuanity() {\n    let quantity = 0;\n    _.each(this.itemsService.selectedPacks, (item) => {\n      quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n    });\n    return quantity;\n  }\n\n  getAutoOrderQuanity() {\n    let quantity = 0;\n    _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n      quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n    });\n    return quantity;\n  }\n\n  getItems(type: string) {\n    return this.itemsService[type == 'pack' ? 'selectedPacks' : (type == 'autoship' ? 'selectedAutoOrderItems' : 'selectedOrderItems')];\n  }\n\n  getImage(item) {\n    return (item.OptionsImage && item.ImageUrl.substr(0, item.ImageUrl.lastIndexOf('/'))\n      .concat(item.OptionsImage)) || item.ImageUrl;\n  }\n\n  closeCart() {\n    let newUrl: any;\n    if (this.itemsService.selectedAutoOrderItems.length === 0 && this.itemsService.selectedOrderItems.length === 0) {\n      const subdomain = getSubdomain(window.location.host);\n      if (subdomain) {\n        newUrl = window.location.href.replace(subdomain, this.userService.WebAlias);\n      }\n      window.location.assign(newUrl.replace('signup', 'checkout'));\n      if (this.location.path().toLowerCase() == '/productdetails') {\n        window.location.assign(newUrl.replace('ProductDetails', 'Products'));\n      }\n      else if (this.location.path().toLowerCase() == '/join') {\n        window.location.assign(newUrl.replace('Join', 'Join'));\n      }\n    }\n  }\n\n  increaseQuantiy(type, item) {\n    this.cart1Service.increaseQuantiy(item, type == 'autoship', type == 'pack');\n  }\n\n  decreaseQuantiy(type, item) {\n    if (this.getQuantityModel(type, item)[item.ItemID] == 1 && this.userService.customerTypeID === 1) {\n      this.notificationService.error('error_', this.translate.instant('unifiedapplication_cannot_delete_item'));\n    } else {\n      this.cart1Service.decreaseQuantiy(item, type == 'autoship', type == 'pack');\n    }\n  }\n\n  removeFromCart(type, item) {\n    this.cart1Service.removeFromCart(item, type == 'autoship', type == 'pack', true);\n  }\n\n  getQuantityModel(type, item): any {\n    return this.cart1Service[type == 'pack' ? 'packQuantity' : (type == 'autoship' ? 'autoshipQuantity' : ((item && item.UsePoints) ? 'orderRewardQuantity' : 'orderQuantity'))];\n  }\n\n  checkQuantity(type, item) {\n    const quantity = this.getQuantityModel(type, item)[item.ItemID];\n    if (!Number(quantity)) {\n      this.cart1Service.removeFromCart(item, type == 'autoship', type == 'pack', true);\n    } else {\n      item.Quantity = quantity;\n      if (type == 'autoship') {\n        localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n        this.orderService.calculateAutoOrder();\n      } else {\n        localStorage.setItem((type == 'pack' ? 'cart.packs' : 'cart.order'), JSON.stringify(type == 'pack' ? this.itemsService.selectedPacks : this.itemsService.selectedOrderItems));\n        this.orderService.calculateOrder();\n      }\n    }\n  }\n\n  getLastQuantity(type, item) {\n    this.lastQuantity = this.getQuantityModel(type, item)[item.ItemID];\n  }\n\n\n  getCvv(result) {\n    if (result) {\n      this.submitApplication(result);\n    }\n  }\n\n  checkPayment() {\n\n    if (this.userService.paymentMethods.length > 0) {\n      if (this.userService.paymentMethods[0].Last4 || this.userService.paymentMethods[0].Last4 === undefined) {\n        return true;\n      } else {\n        this.notificationService.error('error_', this.translate.instant('unifiedapplication_add_payment_error'));\n        return false;\n      }\n    } else {\n      this.notificationService.error('error_', this.translate.instant('unifiedapplication_add_payment_error'));\n      return false;\n    }\n  }\n\n  // Payment Section\n  addSavePayment(paymentData) {\n    if (this.enrollmentForm.ApplicantAddress.Region) {\n      if (!this.utilityService.isEmptyObject(this.paymentService.SelectedPaymentTypes) && (this.paymentService.SelectedPaymentTypes.MerchantId !== paymentData.MerchantId)) {\n        this.userService.paymentMethods = [];\n      }\n      this.paymentService.SelectedPaymentTypes = paymentData;\n      this.paymentService.selectedPaymentTypeName = this.paymentService.SelectedPaymentTypes.DisplayName;\n      if (this.paymentService.SelectedPaymentTypes.CanSavePayments) {\n        this.paymentService.OldSelectedPaymentType = this.paymentService.SelectedPaymentTypes;\n        this.paymentService.getPaymentData(paymentData, undefined, true);\n      } else {\n        this.paymentService.oldSelectedPaymentTypeName = this.paymentService.selectedPaymentTypeName;\n        this.userService.paymentMethods = [];\n        const selectpay = {\n          CardType: this.paymentService.SelectedPaymentTypes.CardType || this.paymentService.SelectedPaymentTypes.Name,\n          Last4: this.paymentService.SelectedPaymentTypes.Ending,\n          ExpireMonth: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('M') : 0,\n          ExpireYear: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('YYYY') : 0,\n          Token: this.paymentService.SelectedPaymentTypes.PaymentMethodId ? this.paymentService.SelectedPaymentTypes.PaymentMethodId : '',\n          MerchantId: this.paymentService.SelectedPaymentTypes.MerchantId\n        };\n        this.userService.paymentMethods.push(selectpay);\n        this.userService.isPaymentChanged = true;\n      }\n      localStorage.setItem('userService', JSON.stringify(this.userService));\n    }\n    else {\n      this.notificationService.error('error_', 'please_enter_your_address');\n    }\n  }\n\n  checkstate(region?, type?) {\n    if (type == 'billing') {\n      if (region == 'AA') {\n        const dialogData = new ConfirmDialogModel(\n          this.translate.instant('update_state_title'),\n          this.translate.instant('update_billingstate_text'),\n          this.translate.instant('NO'),\n          this.translate.instant('YES')\n        );\n        const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n          maxWidth: '400px',\n          data: dialogData,\n          autoFocus: false\n        });\n        dialogRef.afterClosed().subscribe(dialogResult => {\n          if (dialogResult) {\n            return\n          } else {\n            (document.getElementById('regions') as HTMLInputElement).focus();\n          }\n        });\n      }\n    } else if (type == 'shipping') {\n      if (region == 'AA' && !this.enrollmentForm.billingAddressSame) {\n        const dialogData = new ConfirmDialogModel(\n          this.translate.instant('update_state_title'),\n          this.translate.instant('update_shippingstate_text'),\n          this.translate.instant('NO'),\n          this.translate.instant('YES')\n        );\n        const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n          maxWidth: '400px',\n          data: dialogData\n        });\n        dialogRef.afterClosed().subscribe(dialogResult => {\n          if (dialogResult) {\n            return\n          } else {\n            (document.getElementById('regionsshipping') as HTMLInputElement).focus();\n          }\n        });\n      }\n    }\n  }\n\n  checkCvvModal() {\n    clearInterval(this.interval)\n    if (!this.checkPayment()) {\n      return;\n    }\n    if (false) { //this.userService.paymentMethods[0].MerchantId != '13' && this.configService.localSettings.Global.AllowCVVModel\n      const dialogdata = this.dialog.open(AllowCvvComponent, {\n        disableClose: true,\n        panelClass: 'allowCvvModel-dialog'\n      });\n      dialogdata.afterClosed().subscribe((dialogResult) => {\n        if (dialogResult) {\n          this.getCvv(dialogResult);\n        }\n      });\n    } else {\n      this.submitApplication();\n    }\n  }\n\n  validatePromoCode() {\n    if (this.userService.couponInfo.promoCode) {\n      if (this.userService.couponInfo.availableRewards.length) {\n        _.each(this.userService.couponInfo.availableRewards, (awailablereward) => {\n          if (awailablereward.Code.toLowerCase() == this.userService.couponInfo.promoCode.toLowerCase()) {\n            this.userService.couponInfo.RewardsForUse.push(awailablereward);\n          }\n        });\n      }\n    }\n    this.userService.couponInfo.IsAppliedcode = true;\n    this.orderService.calculateOrder().then((result) => {\n      if (result && this.userService.couponInfo.promoCode) {\n        _.each(this.orderService.calculateOrderResponse.CouponResults, (item) => {\n          const isInCart = this.userService.couponInfo.Allcoupons.some((code) => {\n            if (code.toLowerCase() == item.Code.toLowerCase()) {\n              return true;\n            }\n            return false;\n          });\n\n          if (item.IsValid) {\n            if (!isInCart) {\n              this.userService.couponInfo.Allcoupons.push(item.Code);\n            }\n            if (this.userService.couponInfo.promoCode == item.Code) {\n              this.notificationService.success('success', 'coupon_added_success');\n            }\n            this.userService.couponInfo.promoCodeValid = true;\n            this.userService.couponInfo.promoCode = '';\n          } else {\n            this.userService.couponInfo.promoCodeValid = false;\n            this.userService.couponInfo.IsAppliedcode = false;\n            this.userService.couponInfo.promoCode = '';\n            if (isInCart && this.itemsService.selectedOrderItems.length) {\n              this.userService.couponInfo.Allcoupons = this.userService.couponInfo.Allcoupons.filter((code) => {\n                return code.toLowerCase() != item.Code.toLowerCase();\n              });\n              this.userService.couponInfo.RewardsForUse = this.userService.couponInfo.RewardsForUse.filter((e) => {\n                return e.Code.toLowerCase() != item.Code.toLowerCase();\n              });\n\n            }\n          }\n\n        });\n      }\n    });\n  }\n\n  isCouponCode(Coupon) {\n    const NewCustomerPromo = 'NewCustomerPromo_' + this.userService.customerData.BackOfficeId;\n    if (Coupon && (Coupon.Code === NewCustomerPromo || Coupon.Code === this.userService.DynamicCouponCode.promoCode)) {\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  removePromo(code) {\n    this.userService.couponInfo.RewardsForUse = _.reject(this.userService.couponInfo.RewardsForUse, (e) => {\n      return e.Code.toLowerCase() == code.toLowerCase();\n    });\n    this.userService.couponInfo.promoCode = '';\n    this.userService.couponInfo.promoCodeValid = true;\n    this.userService.couponInfo.IsAppliedcode = false;\n    this.userService.couponInfo.Allcoupons = _.without(this.userService.couponInfo.Allcoupons, code);\n    this.orderService.calculateOrder();\n  }\n\n  loginFunction(userName, pass) {\n    this.loadingDetails = true;\n    const loginrequest = {\n      granttype: 'password',\n      scope: 'office',\n      username: userName,\n      password: pass\n    };\n    this.apiService.Login(loginrequest).subscribe(\n      (result) => {\n        if (result && result.status == 200 && result.body.Status != 1) {\n          const res: any = result.body;\n          try {\n            localStorage.setItem('isLoggedIn', 'true');\n            this.accountService.getCustomerData(res.CustomerId).then((data: any) => {\n              if (data && data.Data) {\n                if (!this.enrollmentForm.Username) {\n                  let requestUpdateCustomerByParameter = {\n                    customerId: data.Data.CustomerId,\n                    updateCustomerByParameter: {\n                      WebAlias: data.Data.BackOfficeId\n                    }\n                  }\n                  this.apiService.UpdateCustomerByParameter(requestUpdateCustomerByParameter).subscribe((result) => {\n                    // console.log(result);\n                    localStorage.setItem('user', JSON.stringify(data.Data));\n                    this.userService.customerData = data.Data;\n                    this.userService.customerData.WebAlias = data.Data.BackOfficeId;\n                    this.userService.customerTypeID = this.userService.customerData.CustomerType;\n                    this.userService.customerData.shippingAddress = {};\n                    if (this.userService.customerData.DefaultShippingAddress && !this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)) {\n                      this.user.setShippingAddress();\n                    } else {\n                      this.userService.shippingAddress = null;\n                    }\n                    this.userService.customerTypeID = this.userService.customerData.CustomerType;\n                    if (this.userService.customerData.WebAlias) {\n                      this.apiService.validateWebAlias(this.userService.customerData.WebAlias).subscribe((res: any) => {\n                        if (res.Data) {\n                          this.userService.WebAlias = this.userService.customerData.WebAlias;\n                          this.router.navigate(['/complete']);\n                          this.userService.paymentMethods = [];\n                        }\n                      }, (error) => {\n                        if (error.Data && !error.Data.WebAlias) {\n                          this.notificationService.error('error_', 'webalias_not_exists');\n                          return false;\n                        }\n                      },\n                        () => {\n\n                        });\n                    }\n                    else if (this.userService.customerData.SponsorId || this.userService.customerData.EnrollerId) {\n                      this.apiService.getSearchCustomerDetail(this.userService.customerData.SponsorId || this.userService.customerData.EnrollerId).subscribe((resp: any) => {\n                        if (resp.Data) {\n                          this.apiService.validateWebAlias(resp.Data.WebAlias).subscribe((res: any) => {\n                            if (res.Data) {\n                              this.userService.WebAlias = resp.Data.WebAlias;\n                              this.router.navigate(['/complete']);\n                              this.userService.paymentMethods = [];\n                            }\n                          }, (error) => {\n                            if (error.Data && !error.Data) {\n                              this.notificationService.error('error_', 'webalias_not_exists');\n                              return false;\n                            }\n                          },\n                            () => {\n\n                            });\n                        }\n                      }, (error) => {\n                        if (error.Data && !error.Data.WebAlias) {\n                          this.notificationService.error('error_', 'webalias_not_exists');\n                          return false;\n                        }\n                      },\n                        () => {\n\n                        });\n                    }\n                  });\n                } else {\n                  localStorage.setItem('user', JSON.stringify(data.Data));\n                  this.userService.customerData = data.Data;\n                  // this.userService.customerData.WebAlias = data.Data.BackOfficeId;\n                  this.userService.customerTypeID = this.userService.customerData.CustomerType;\n                  this.userService.customerData.shippingAddress = {};\n                  if (this.userService.customerData.DefaultShippingAddress && !this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)) {\n                    this.user.setShippingAddress();\n                  } else {\n                    this.userService.shippingAddress = null;\n                  }\n                  this.userService.customerTypeID = this.userService.customerData.CustomerType;\n                  if (this.userService.customerData.WebAlias) {\n                    this.apiService.validateWebAlias(this.userService.customerData.WebAlias).subscribe((res: any) => {\n                      if (res.Data) {\n                        this.userService.WebAlias = this.userService.customerData.WebAlias;\n                        this.router.navigate(['/complete']);\n                        this.userService.paymentMethods = [];\n                      }\n                    }, (error) => {\n                      if (error.Data && !error.Data.WebAlias) {\n                        this.notificationService.error('error_', 'webalias_not_exists');\n                        return false;\n                      }\n                    },\n                      () => {\n\n                      });\n                  }\n                  else if (this.userService.customerData.SponsorId || this.userService.customerData.EnrollerId) {\n                    this.apiService.getSearchCustomerDetail(this.userService.customerData.SponsorId || this.userService.customerData.EnrollerId).subscribe((resp: any) => {\n                      if (resp.Data) {\n                        this.apiService.validateWebAlias(resp.Data.WebAlias).subscribe((res: any) => {\n                          if (res.Data) {\n                            this.userService.WebAlias = resp.Data.WebAlias;\n                            this.router.navigate(['/complete']);\n                            this.userService.paymentMethods = [];\n                          }\n                        }, (error) => {\n                          if (error.Data && !error.Data) {\n                            this.notificationService.error('error_', 'webalias_not_exists');\n                            return false;\n                          }\n                        },\n                          () => {\n\n                          });\n                      }\n                    }, (error) => {\n                      if (error.Data && !error.Data.WebAlias) {\n                        this.notificationService.error('error_', 'webalias_not_exists');\n                        return false;\n                      }\n                    },\n                      () => {\n\n                      });\n                  }\n                }\n              } else {\n                this.router.navigate([\"/complete\"]);\n                this.userService.paymentMethods = [];\n              }\n            })\n          } catch (successEx) {\n            this.notificationService.error('error_', 'error_occured_try_again');\n            console.error('ex', successEx);\n          }\n        } else {\n          this.notificationService.error('error_', 'Authentication Failed');\n        }\n      }, err => {\n        this.notificationService.error('error_', 'error_occured_try_again');\n      }\n    );\n  }\n\n  setFrequency() {\n    this.commonData.FrequencyTypes.some((freq) => {\n      if (freq.ID == this.persistentService.retailData.Autoship.FrequencyTypeID) {\n        this.persistentService.retailData.Autoship.FrequencyTypeID = freq.ID;\n        this.persistentService.retailData.Autoship.FrequencyTypeID = freq.ID;\n        this.persistentService.retailData.Autoship.FrequencyTypeDescription = freq.Description;\n        this.persistentService.retailData.isChanged = true;\n        return;\n      }\n    });\n  }\n\n\n  ngOnDestroy() {\n    this.utilityService.isShowSimplifiedheader = false;\n    sessionStorage.setItem('IsLegacyUnifiedEnrollment', null);\n  }\n\n}\n","import { ShoppingCartService } from './shopping-cart.service';\nimport { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject, Subscriber } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { map } from 'rxjs/operators';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { RestApiService } from './restapi.service';\nimport { UserService } from './user.service';\nimport * as _ from 'lodash';\nimport { UtilityService } from './utility.service';\nimport { CompanyService } from './company.service';\nimport { ConfigService } from './config.service';\n\n\n// Get product from Localstorage\nconst products = JSON.parse(localStorage.getItem('compareItem')) || [];\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ProductService {\n  public catalogMode: boolean = false;\n  public allItems: any;\n  private url1: string = 'assets/data/';\n  public url = 'assets/data/banners.json';\n\n  public compareProducts: BehaviorSubject<any> = new BehaviorSubject([]);\n  public observer: Subscriber<{}>;\n  public selectedPacks: any = [];\n  public selectedOrderItems: any = [];\n  public selectedAutoOrderItems: any = [];\n  public packs = [];\n  public orders = [];\n  public autoship = [];\n  public IsAllowDynamicCouponcode: boolean = true;\n  previousRequest = {};\n  userServiceModal: any;\n  constructor(\n    private httpClient: HttpClient,\n    public snackBar: MatSnackBar,\n    public apiService: RestApiService,\n    public user: UserService,\n    public utilityService: UtilityService,\n    public companyService: CompanyService,\n    public configService: ConfigService,\n    public shoppingCartService: ShoppingCartService\n    ) {\n    this.compareProducts.subscribe(products => products = products);\n    this.userServiceModal = this.user.userServiceModal;\n    this.init();\n  }\n\n  private products(req?: any): Observable<any> {\n    const request = {\n      CurrencyCode: req?.CurrencyCode || this.companyService.selectedCurrency.CurrencyCode,\n      LanguageCode: req?.LanguageCode || this.configService.commonData.selectedLanguage || 'en',\n      RegionID: req?.RegionID || 4,\n      PriceGroup: req?.PriceGroup || this.userServiceModal.customerTypeID || 2,\n      StoreID: req?.StoreID || (this.userServiceModal.customerTypeID == 1? 2 : 3),\n      CategoryId: req?.CategoryId || 0\n    };\n    return this.apiService.getItemsbyFilter(request).pipe(map(items => {\n      this.allItems = items.Data;\n      return items.Data;\n    }));\n  }\n\n  public banners(): Observable<any[]> {\n    return this.httpClient.get<any[]>(this.url);\n  }\n\n\n  // Get Banners\n  public getBanners() {\n    return this.banners();\n  }\n\n  // Get Banners\n  public getProducts(request?: any ): Observable<Array<DSProduct>> {\n    this.previousRequest = this.previousRequest || request;\n    if (this.allItems && this.allItems.length > 0 && _.isEqual(this.previousRequest, request)) {\n      const itemsStream = new Observable(observer => {\n        observer.next(this.allItems);\n        observer.complete();\n      });\n      return <Observable<any>>itemsStream;\n    } else {\n      return this.products(request);\n    }\n  }\n  public getRelatedProducts(product: DSProduct): Observable<any[]> {\n    const request = {\n      CategoryId: product.CategoryId,\n      NumberOfProducts: 5,\n      CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n      LanguageCode: this.configService.commonData.selectedLanguage || 'en',\n      RegionID: this.companyService.getRegionID(this.configService.commonData.selectedCountry),\n      PriceGroup: this.userServiceModal.customerTypeID,\n      StoreID: this.shoppingCartService.getShoppingCart(1)[0].StoreID,\n      CountryCode: this.configService.commonData.selectedCountry\n    };\n    return this.apiService.getTopSellingProducts(request);\n  }\n\n  // Get Products By Id\n  public getProduct(id: number): Observable<any> {\n    if (this.allItems && this.allItems.length > 0) {\n      const product = this.allItems.find((item: any) => {\n        return item.ItemID == id;\n      });\n      const itemsStream = new Observable(observer => {\n        observer.next(product);\n        observer.complete();\n      });\n      return <Observable<any>>itemsStream;\n    } else {\n    return this.products().pipe(map(items => {\n      const products = items;\n      return products.find((item: any) => {\n        return item.ItemID == id;\n      });\n    }));\n    }\n  }\n\n\n  /*\n---------------------------------------------\n----------  Compare Product  ----------------\n---------------------------------------------\n*/\n\n  // Get Compare Products\n  public getComapreProducts(): Observable<any[]> {\n    const itemsStream = new Observable(observer => {\n      observer.next(products);\n      observer.complete();\n    });\n    return <Observable<DSProduct[]>>itemsStream;\n  }\n\n  // If item is aleready added In compare\n  public hasProduct(product: any): boolean {\n    const item = products.find(item => item.Id === product.id);    \n    return item !== undefined;\n  }\n\n  // Get Products By Slug\n  public getProductBySlug(slug: string): Observable<any> {\n    return this.products().pipe(map(items => {\n      return items.find((item: any) => {\n        return item.name.replace(' ', '-') === slug;\n      });\n    }));\n  }\n\n  // Add to compare\n  public addToCompare(product: any): any | boolean {\n    let message, status;\n    let item: any | boolean = false;\n    if (this.hasProduct(product)) {\n      item = products.filter(item => item.id === product.id)[0];\n      const index = products.indexOf(item);\n      this.snackBar.open('The product  ' + product.name + ' already added to comparison list.', '×', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\n\n    } else {\n      if (products.length < 4) {\n        products.push(product);\n      }\n      message = 'The product ' + product.name + ' has been added to comparison list.';\n      status = 'success';\n      this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\n\n    }\n    localStorage.setItem('compareItem', JSON.stringify(products));\n    return item;\n  }\n\n  // Removed Product\n  public removeFromCompare(product: any) {\n    if (product === undefined) { return; }\n    const index = products.indexOf(product);\n    products.splice(index, 1);\n    localStorage.setItem('compareItem', JSON.stringify(products));\n  }\n\n  // Get Products By category\n  public getProductByCategory(category: string): Observable<any[]> {\n    return this.products(category);\n  }\n\n  private init() {\n    if (localStorage.getItem('cart.packs')) {\n      this.selectedPacks = JSON.parse(localStorage.getItem('cart.packs'));\n    }\n    if (localStorage.getItem('cart.order')) {\n      this.selectedOrderItems = JSON.parse(localStorage.getItem('cart.order'));\n    }\n    if (localStorage.getItem('cart.autoship')) {\n      this.selectedAutoOrderItems = JSON.parse(localStorage.getItem('cart.autoship'));\n    }\n  }\n}\n","export default \"<div class=\\\"product-item\\\">\\n   <mat-card fxLayout=\\\"column\\\">\\n      <div class=\\\"product-img borderBottom\\\">\\n         <a class=\\\"product-link\\\" [routerLink]=\\\"['/product', product?.ItemID]\\\" [queryParams]=\\\"{itemType: 'order'}\\\">\\n            <img [default]=\\\"'assets/images/product/no-img.png'\\\"\\n               [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory'+product?.ImageUrl\\\" alt=\\\"\\\">\\n         </a>\\n      </div>\\n      <div class=\\\"product-info-wrapper\\\">\\n         <div class=\\\"title-wrap\\\">\\n            <h4 class=\\\"color1-f-s-16\\\">{{product?.ProductName || '****'}}</h4>\\n         </div>\\n         <div class=\\\"stars\\\">\\n\\n         </div>\\n         <div class=\\\"price-wrap\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"start\\\">\\n            <p class=\\\"color1-f-s-14 p-r-10\\\" *ngIf=\\\"product.OriginalPrice != product?.Prices[0].Price\\\"><del>{{product?.OriginalPrice | currency:companyService.selectedCurrency.CurrencyCode}}</del></p>\\n            <p class=\\\"color1-f-s-14\\\">{{product?.Prices[0].Price | currency:companyService.selectedCurrency.CurrencyCode}}</p>\\n          \\n         </div>\\n      </div>\\n      <div fxFlex=\\\"100\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\" class=\\\"thirdContainer\\\">\\n         <div *ngIf=\\\"product.AllowAutoship\\\" class=\\\"subscriptionButton m-b-20\\\">\\n            <button id=\\\"autoship-cart-btn\\\"mat-raised-button color=\\\"primary\\\"  (click)=\\\"cart1Service.addToCart(product, true, '', true, false, false)\\\"\\n            [textContent]=\\\"(('autoship' | translate)  | slice:0:30) + (('autoship' | translate).length > 30 ? '...' : '')\\\"></button>\\n         </div>\\n         <div class=\\\"addButton\\\" *ngIf=\\\"!(persistentService.retailData.CurrentSelectedAutoOrder > 0 && utilityService.getAutoshipEditFlag())\\\">\\n            <button id=\\\"add-to-cart-btn\\\" mat-raised-button color=\\\"primary\\\" \\n            (click)=\\\"cart1Service.addToCart(product, true, '', false, false, false)\\\" translate\\n            [textContent]=\\\"(('add_to_initial_order' | translate)  | slice:0:30) + (('add_to_initial_order' | translate).length > 30 ? '...' : '')\\\"></button>\\n         </div>\\n      </div>\\n   </mat-card>\\n</div>\\n\";","export default \"<div class=\\\"error sec-padding\\\">\\n  <div class=\\\"container\\\">\\n     <div class=\\\"page404\\\">\\n        Oops! Error 404\\n     </div>\\n     <div class=\\\"not-found\\\">\\n        Page Not Found\\n     </div>\\n     <div class=\\\"error_description\\\">\\n       <p>We can't seem to find the page you're looking for.</p>\\n     </div>\\n     <button mat-raised-button color=\\\"primary\\\">BACK TO HOME</button>\\n  </div>\\n</div>\\n\";","export default \".allowCvvModel-dialog {\\n  height: auto;\\n}\\n.allowCvvModel-dialog .p-16 {\\n  padding: 16px !important;\\n}\\n.allowCvvModel-dialog .p-r-l-16 {\\n  padding: 0px 16px;\\n}\\n.allowCvvModel-dialog .f-s-25 {\\n  font-size: 25px;\\n}\\n.allowCvvModel-dialog .cvv-footer-sample {\\n  width: 100%;\\n  text-align: right;\\n  border-top: 1px solid #d0d0d0;\\n}\\n.allowCvvModel-dialog .ds-sub-heading {\\n  color: #000;\\n  font-size: 16px;\\n  font-weight: bold;\\n  margin-bottom: 10px;\\n}\\n.allowCvvModel-dialog .cvv-content {\\n  padding: 25px 20px 10px 20px;\\n}\\n.allowCvvModel-dialog .clone-card-header {\\n  border-bottom: 1px solid #d0d0d0;\\n  background-color: white;\\n  padding: 12px 16px;\\n  position: relative;\\n}\\n.allowCvvModel-dialog .clone-card-title {\\n  margin-left: 1px !important;\\n  color: black;\\n  font-size: 20px;\\n  display: inline-block;\\n  width: 84%;\\n  padding-top: 8px;\\n  padding-bottom: 8px;\\n  /* stylelint-disable-line declaration-no-important */\\n}\\n.allowCvvModel-dialog .form-group .form-control {\\n  padding-left: 15px;\\n  border-radius: 5px !important;\\n  /* stylelint-disable-line declaration-no-important */\\n  border: 1px solid #cfcfcf !important;\\n  /* stylelint-disable-line declaration-no-important */\\n}\\n.allowCvvModel-dialog .card-design {\\n  width: 200px;\\n}\\n.allowCvvModel-dialog .cvv-content input[type=text] {\\n  margin-top: 0;\\n  padding-top: 2px;\\n  padding-bottom: 1px;\\n  padding-left: 2px;\\n  padding-right: 2px;\\n  border: 1px solid #ddd;\\n  line-height: 26px;\\n  height: 30px;\\n  border-radius: 3px;\\n  border-style: solid;\\n  width: 100%;\\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n}\\n.allowCvvModel-dialog .cvv-content input[type=text]:focus {\\n  border-color: #66afe9;\\n  outline: 0;\\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\\n}\\n.allowCvvModel-dialog .text-uppercase {\\n  text-transform: uppercase !important;\\n}\\n::ng-deep .allowCvvModel-dialog .mat-dialog-container {\\n  margin: 0px;\\n  padding: 0px !important;\\n}\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n::ng-deep .allowCvvModel-dialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n::ng-deep .allowCvvModel-dialog .mat-dialog-container {\\n  overflow: unset;\\n}\\n::ng-deep .allowCvvModel-dialog .mat-dialog-actions {\\n  margin-bottom: 0px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2FsbG93LWN2di5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7QUFDSjtBQUFJO0VBQ0ksd0JBQUE7QUFFUjtBQUFJO0VBQ0ksaUJBQUE7QUFFUjtBQUFJO0VBQ0ksZUFBQTtBQUVSO0FBQUk7RUFDSSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtBQUVSO0FBQ0s7RUFDRyxXQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7QUFDUjtBQUVLO0VBQ0csNEJBQUE7QUFBUjtBQUdLO0VBQ0csZ0NBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUFEUjtBQUlLO0VBQ0csMkJBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvREFBQTtBQUZSO0FBS0s7RUFDRyxrQkFBQTtFQUNBLDZCQUFBO0VBQ0Esb0RBQUE7RUFDQSxvQ0FBQTtFQUNBLG9EQUFBO0FBSFI7QUFNSztFQUNHLFlBQUE7QUFKUjtBQU9LO0VBQ0csYUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGdEQUFBO0FBTFI7QUFRSztFQUNHLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLGtGQUFBO0FBTlI7QUFTSztFQUNHLG9DQUFBO0FBUFI7QUFXQTtFQUVJLFdBQUE7RUFDQSx1QkFBQTtBQVRKO0FBV0U7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFSSjtBQVVFO0VBQ0UsMEJBQUE7QUFQSjtBQVVFO0VBQ0UseUJBQUE7QUFQSjtBQVVFO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FBUEo7QUFVRTtFQUNFLGVBQUE7QUFQSjtBQVNFO0VBQ0UsNkJBQUE7QUFOSiIsImZpbGUiOiJhbGxvdy1jdnYuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWxsb3dDdnZNb2RlbC1kaWFsb2cge1xuICAgIGhlaWdodDogYXV0bztcbiAgICAucC0xNiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnAtci1sLTE2IHtcbiAgICAgICAgcGFkZGluZzowcHggMTZweDtcbiAgICB9XG4gICAgLmYtcy0yNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG4gICAgLmN2di1mb290ZXItc2FtcGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICB9XG4gICAgXG4gICAgIC5kcy1zdWItaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAgLmN2di1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMjVweCAyMHB4IDEwcHggMjBweDtcbiAgICB9XG4gICAgXG4gICAgIC5jbG9uZS1jYXJkLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIFxuICAgICAuY2xvbmUtY2FyZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGhzbCgwLCAwJSwgMCUpO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDg0JTtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICB9XG4gICAgXG4gICAgIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2ZjZmNmICFpbXBvcnRhbnQ7XG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgfVxuICAgIFxuICAgICAuY2FyZC1kZXNpZ24ge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuICAgIFxuICAgICAuY3Z2LWNvbnRlbnQgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAgIH1cbiAgICBcbiAgICAgLmN2di1jb250ZW50IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY2YWZlOTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KTtcbiAgICB9XG4gICAgXG4gICAgIC50ZXh0LXVwcGVyY2FzZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICB9XG59IFxuXG46Om5nLWRlZXAgLmFsbG93Q3Z2TW9kZWwtZGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgLy8gb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0b3A6IC0yNHB4O1xuICAgIHJpZ2h0OiAtMjRweDtcbiAgfVxuICAuY2xvc2UtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogMXMgZWFzZS1pbi1vdXQ7XG4gIH1cbiAgXG4gIC5jbG9zZS1pY29uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIFxuICA6Om5nLWRlZXAgLmFsbG93Q3Z2TW9kZWwtZGlhbG9nIC5jbG9zZS1idXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0b3A6IC01MnB4O1xuICAgIHJpZ2h0OiAtNTJweDtcbiAgfVxuICBcbiAgOjpuZy1kZWVwIC5hbGxvd0N2dk1vZGVsLWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgfVxuICA6Om5nLWRlZXAgLmFsbG93Q3Z2TW9kZWwtZGlhbG9nIC5tYXQtZGlhbG9nLWFjdGlvbnN7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIH0iXX0= */\";","export default \".example-form {\\n  min-width: 150px;\\n  max-width: 500px;\\n  width: 100%;\\n}\\n\\n.example-full-width {\\n  width: 100%;\\n}\\n\\ntable {\\n  width: 100%;\\n}\\n\\nth.mat-sort-header-sorted {\\n  color: black;\\n}\\n\\n.material-icons.color_white {\\n  color: #ffffff;\\n}\\n\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n\\n::ng-deep .findenroller-dialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n\\n::ng-deep .findenroller-dialog .mat-dialog-container {\\n  margin: 20px 0px;\\n  overflow: unset;\\n}\\n\\n.enroller-data-table {\\n  max-height: 400px;\\n  overflow: auto;\\n}\\n\\n.enroller-footer {\\n  padding: 15px 0px;\\n}\\n\\n.enroller-footer a {\\n  padding: 2px;\\n  font-size: 14px;\\n  color: #2196f3;\\n  text-decoration: none;\\n}\\n\\n.searchInput .mat-icon {\\n  width: 0em;\\n  font-size: 30px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2ZpbmRlbnJvbGxlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0FBQ0Y7O0FBRUE7RUFDRSxXQUFBO0FBQ0Y7O0FBRUE7RUFDRSxXQUFBO0FBQ0Y7O0FBRUE7RUFDRSxZQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxjQUFBO0FBRUY7O0FBQUE7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFHRjs7QUFEQTtFQUNFLDBCQUFBO0FBSUY7O0FBREE7RUFDRSx5QkFBQTtBQUlGOztBQURBO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FBSUY7O0FBREE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7QUFJRjs7QUFEQTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtBQUlGOztBQUZBO0VBQ0UsaUJBQUE7QUFLRjs7QUFKRTtFQUNFLFlBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0FBTUo7O0FBSEE7RUFDRSxVQUFBO0VBQ0EsZUFBQTtBQU1GIiwiZmlsZSI6ImZpbmRlbnJvbGxlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWZvcm0ge1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmV4YW1wbGUtZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50aC5tYXQtc29ydC1oZWFkZXItc29ydGVkIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLm1hdGVyaWFsLWljb25zLmNvbG9yX3doaXRlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uY2xvc2UtYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0b3A6IC0yNHB4O1xuICByaWdodDogLTI0cHg7XG59XG4uY2xvc2UtaWNvbiB7XG4gIHRyYW5zaXRpb246IDFzIGVhc2UtaW4tb3V0O1xufVxuXG4uY2xvc2UtaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbjo6bmctZGVlcCAuZmluZGVucm9sbGVyLWRpYWxvZyAuY2xvc2UtYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0b3A6IC01MnB4O1xuICByaWdodDogLTUycHg7XG59XG5cbjo6bmctZGVlcCAuZmluZGVucm9sbGVyLWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMHB4O1xuICBvdmVyZmxvdzogdW5zZXQ7XG59XG5cbi5lbnJvbGxlci1kYXRhLXRhYmxlIHtcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLmVucm9sbGVyLWZvb3RlciB7XG4gIHBhZGRpbmc6IDE1cHggMHB4O1xuICBhIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjE5NmYzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuLnNlYXJjaElucHV0IC5tYXQtaWNvbiB7XG4gIHdpZHRoOiAwZW07XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cbiJdfQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjb25maXJtLWRpYWxvZy5jb21wb25lbnQuY3NzIn0= */\";","export default \"#complete {\\n  background-color: #EBEBEB;\\n  min-height: 385px;\\n  height: calc(100vh - 260px);\\n}\\n#complete .completeBox {\\n  margin-top: 60px;\\n}\\n@media only screen and (max-width: 992px) {\\n  #complete .completeBox {\\n    margin: 60px 30px 0px;\\n  }\\n}\\n@media only screen and (max-width: 600px) {\\n  #complete .completeBox {\\n    margin: 60px 15px 0px;\\n  }\\n}\\n#complete .completeBox ::ng-deep .mat-card {\\n  padding: 0px !important;\\n}\\n#complete .completeBox ::ng-deep .mat-card .mat-card-header .mat-card-header-text {\\n  margin: 0px;\\n}\\n#complete .completeBox ::ng-deep .mat-card .mat-card-title {\\n  margin-bottom: 0px;\\n}\\n#complete .completeBox .bg-color {\\n  background-color: var(--theme-deafult);\\n}\\n#complete .color-f-s-20 {\\n  color: #000000DE;\\n  font-size: 20px;\\n}\\n#complete .color-f-s-14 {\\n  color: #000000DE;\\n  font-size: 14px;\\n  font-weight: 700;\\n}\\n#complete .p-16 {\\n  padding: 16px 16px;\\n}\\n#complete .m-8 {\\n  margin: 8px;\\n}\\n#complete .text-underline {\\n  text-decoration: underline;\\n}\\n#complete .c-blue {\\n  color: blue !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0kseUJBQUE7RUFDQSxpQkFBQTtFQUNBLDJCQUFBO0FBQ0o7QUFBSTtFQUNJLGdCQUFBO0FBRVI7QUFEUTtFQUZKO0lBR1EscUJBQUE7RUFJVjtBQUNGO0FBSFE7RUFMSjtJQU1RLHFCQUFBO0VBTVY7QUFDRjtBQUxRO0VBQ0ksdUJBQUE7QUFPWjtBQU5RO0VBQ0ksV0FBQTtBQVFaO0FBTlE7RUFDSSxrQkFBQTtBQVFaO0FBTFE7RUFDSSxzQ0FBQTtBQU9aO0FBSkk7RUFDSSxnQkFBQTtFQUNBLGVBQUE7QUFNUjtBQUpJO0VBQ0ksZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUFNUjtBQUpJO0VBQ0ksa0JBQUE7QUFNUjtBQUpJO0VBQ0ksV0FBQTtBQU1SO0FBSkk7RUFDSSwwQkFBQTtBQU1SO0FBSkk7RUFDSSxzQkFBQTtBQU1SIiwiZmlsZSI6ImNvbXBsZXRlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2NvbXBsZXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCO1xuICAgIG1pbi1oZWlnaHQ6IDM4NXB4O1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDI2MHB4KTtcbiAgICAuY29tcGxldGVCb3gge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDYwcHggMzBweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDE1cHggMHB4OyAgXG4gICAgICAgIH1cbiAgICAgICAgOjpuZy1kZWVwIC5tYXQtY2FyZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDsgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgIC5tYXQtY2FyZC1oZWFkZXIgLm1hdC1jYXJkLWhlYWRlci10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmctY29sb3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbG9yLWYtcy0yMCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwREU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gICAgLmNvbG9yLWYtcy0xNCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwREU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLnAtMTYge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHg7XG4gICAgfVxuICAgIC5tLTgge1xuICAgICAgICBtYXJnaW46IDhweDtcbiAgICB9XG4gICAgLnRleHQtdW5kZXJsaW5le1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgLmMtYmx1ZXtcbiAgICAgICAgY29sb3I6IGJsdWUgIWltcG9ydGFudDtcbiAgICB9XG59Il19 */\";","import { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { throwError } from 'rxjs/internal/observable/throwError';\nimport { retry, catchError, tap } from 'rxjs/internal/operators';\nimport { environment } from 'src/environments/environment';\nimport { Enrollment } from 'src/app/modals/enrollment.model';\nimport { FindEnrollerResponse } from 'src/app/modals/findenroller.modal';\nimport { GetWebSiteInformationResult } from 'src/app/modals/getwebsiteinfo.modal';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class RestApiService {\n  public loginStatus = new BehaviorSubject<boolean>(this.hasToken());\n  constructor(private http: HttpClient, private cookieService: CookieService) {\n    this.getheaders();\n  }\n\n  getheaders(): any {\n    let httpOptions: any;\n    if (this.cookieService.get('X-Auth')) {\n      httpOptions = {\n        headers: new HttpHeaders({\n          'Content-Type': 'application/json; charset=utf-8',\n          \"Authorization\": \"Bearer \" + this.cookieService.get('X-Auth')\n        })\n      };\n    } else {\n      httpOptions = {\n        headers: new HttpHeaders({\n          'Content-Type': 'application/json; charset=utf-8'\n        })\n      };\n    }\n    return httpOptions;\n  }\n  // Error handling\n  handleError(error) {\n    let errorMessage = '';\n    if (error.error instanceof ErrorEvent) {\n      // Get client-side error\n      errorMessage = error.error.message;\n    } else {\n      // Get server-side error\n      errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n    }\n    // window.alert(errorMessage);\n    return throwError(errorMessage);\n  }\n\n  isLoggedIn(): Observable<boolean> {\n    return this.loginStatus.asObservable();\n  }\n  private hasToken(): boolean {\n    return this.cookieService.check('X-Auth');\n  }\n  // Address  Controller\n  getActiveCountries(): Observable<any> {\n    if (sessionStorage.getItem('allowedCountries')) {\n      const allowedCountries = new Observable(observer => {\n        observer.next(JSON.parse(sessionStorage.getItem('allowedCountries')));\n        observer.complete();\n      });\n      return allowedCountries;\n    }\n    else {\n      const response = this.http.get<any>(`${environment.apiUrl}api/Address/GetActiveCountries`, this.getheaders())\n        .pipe(\n          retry(1),\n          catchError(this.handleError)\n        );\n      response.subscribe((result) => {\n        sessionStorage.setItem('allowedCountries', JSON.stringify(result));\n      });\n      return response;\n    }\n  }\n\n  getRegionID(stateCode: string, countryCode: string): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Address/GetRegionID​`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  getStates(countryCode: string): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Address/GetStates?countryCode=${countryCode}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Company  Controller\n  getCompanyDetails(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Company/Details`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n\n  postCustomData(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Custom/PostCustomData`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  postCustomDatatoExtension(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Custom/PostCustomDatatoExtension`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Customers Controller\n\n  addCustomerRewardPoints(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/AddCustomerRewardPoints`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  calculateCustomerOrderTotal(request): Observable<any> {\n\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/CalculateCustomerOrderTotal`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  createProspect(request): Observable<any> {\n\n    return this.http.post<any>(`${environment.apiUrl}api/DiscoApi/CreateProspect`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n\n  createCustomer(request: any): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/CreateCustomer`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  createCustomerAutoshipOrder(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/CreateCustomerAutoshipOrder`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  createCustomerOrder(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/CreateCustomerOrder`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  createCustomerOrderAndAutoship(request: any): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/CreateOrderAutoOrder`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  createCustomerServiceLogEntry(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/CreateCustomerServiceLogEntry`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  createPaymentMethod(request): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/CreatePaymentMethod`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  deductCustomerRewardPoints(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/DeductCustomerRewardPoints`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  deleteCustomerAutoship(autoshipid: any): Observable<any> {\n\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromString: 'autoshipId=' + autoshipid });\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/DeleteAutoship`, requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  deleteCustomer(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/DeleteCustomer`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  deletePaymentMethod(request: any): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromObject: request });\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/DeletePaymentMethod`, '', requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomer(customerID?: any): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomer?customerId=${customerID}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  getSearchCustomerDetail(customerID: number): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetSearchCustomerDetail?customerId=${customerID}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n\n  getCustomerAutoships(customerID?): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerAutoships?customerId=${customerID}&includeServiceAutoships=true`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerCountries(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers​/GetCustomerCountries`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerCustomFields(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerCustomFields`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerDownlineIds(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerDownlineIds`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerIDs(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers​/GetCustomerIDs`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerIDsbyFilter(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerIDsbyFilter`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerOrders(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerOrders`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerOrderDetail(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerOrderDetail`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerParties(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerParties`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerPartyTotals(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerPartyTotals`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerRewardPoints(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerRewardPoints`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerSavedPaymentMethods(request: any): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromObject: request });\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerSavedPaymentMethods`, requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerServices(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerServices`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerStats(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomerStats`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomersByParameter(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomersByParameter`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomersDataPoints(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/GetCustomersDataPoints`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomersToPlaceTo(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetCustomersToPlaceTo`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getDataPointCategories(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetDataPointCategories`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getNotificationEvents(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetNotificationEvents`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getPaymentMerchants(request): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromObject: request });\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetPaymentMerchants`, requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getPaymentMethodIFrame(request): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromObject: request });\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetPaymentMethodIFrame`, requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getPaymentMethodIFrameTempUser(request): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromObject: request });\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetPaymentMethodIFrameTempUser`, requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getUnplacedCustomers(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/GetUnplacedCustomers`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getWebsiteInformation_V1(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers​/GetWebsiteInformation_V1`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getWebsiteInformation(Webalias): Observable<any> {\n    return this.http.get<GetWebSiteInformationResult>(`${environment.apiUrl}api/Customers/GetWebsiteInformation?webAlias=${Webalias}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  placeNode(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers​/PlaceNode`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  resetPassword(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Customers/ResetPassword`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  searchAssociate(req: any): Observable<any> {\n    return this.http.get<FindEnrollerResponse>(`${environment.apiUrl}api/Customers/SearchAssociate?searchTerm=${req.searchTerm}&includeWebAliases=${req.includeWebAliases}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  submitEnrollmentForm(request: Enrollment): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/SubmitEnrollmentForm`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  updateAutoShipDateandAmount(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Customers/UpdateAutoShipDateandAmount`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  updateCustomer(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Customers/UpdateCustomer`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // updateCustomerByParameter(): Observable<any> {\n  //   return this.http.patch<any>(`${environment.apiUrl}/api/Customers/UpdateCustomerByParameter`, this.getheaders())\n  //     .pipe(\n  //       retry(1),\n  //       catchError(this.handleError)\n  //     );\n  // }\n  usernameAvailabilityCheck(username): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Customers/UsernameAvailabilityCheck?username=${username}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  sendWelComeEmail(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Customers/SendWelComeEmail`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Echo  Controller\n\n\n  ping(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Echo​/Ping`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  pingDeep(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Echo​/PingDeep`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Office  Controller\n\n\n  getMediaResources(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Office​/GetMediaResources`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getNotificationSettings(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Office​/GetNotificationSettings`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getTrainingDetailsandProgress(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Office​/GetTrainingDetailsandProgress`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  triggerForgotPasswordProcess(request): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Office/TriggerForgotPasswordProcess`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Orders  Controller\n\n\n  cancelOrder(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders/CancelOrder`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  deleteAutoship(autoshipid: number): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromString: 'autoshipId=' + autoshipid });\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/DeleteAutoship`, '', requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  enqueueStats(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/EnqueueStats`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  getAutoship(autoorderid): Observable<any> {\n    const requestquery = this.getheaders();\n    requestquery['params'] = new HttpParams({ fromString: 'autoshipId=' + autoorderid });\n    return this.http.get<any>(`${environment.apiUrl}api/Orders/GetAutoship`, requestquery)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  getOrder(orderId: number): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders/GetOrder?orderId=${orderId}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getOrderIds(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetOrderIds`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getOrderIdsFilter(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetOrderIdsFilter`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getOrderPackageDetails(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetOrderPackageDetails`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getOrderRMAs(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetOrderRMAs`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getOrderType(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetOrderType`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getOrderTypes(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetOrderTypes`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getPriceGroup(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetPriceGroup`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getPriceGroups(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetPriceGroups`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getShippingMethod(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetShippingMethod`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getShippingMethods(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetShippingMethods`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getUnshippedPackages_Deprecated(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Orders​/GetUnshippedPackages_Deprecated`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  importExternalOrder(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/ImportExternalOrder`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  insertPayments(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/InsertPayments`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  refundPayment(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/RefundPayment`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  sendOrderReceipt(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/SendOrderReceipt`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  setOrderShipped_Deprecated(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/SetOrderShipped_Deprecated`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  setPackageReturned_Deprecated(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/SetPackageReturned_Deprecated`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  setPackageShipped_Deprecated(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/SetPackageShipped_Deprecated`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  splitPackage(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Orders/SplitPackage`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  updateAutoship(autoshipid: number, request: any): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/UpdateAutoship/${autoshipid}`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  updatePackageStatus(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/UpdatePackageStatus`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  updatePackageStatusBatch(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Orders/UpdatePackageStatusBatch`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Products Controller\n\n\n  deleteItem(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products/DeleteItem`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getItembyId(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetItembyId`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getItembySKU(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetItembySKU`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getItems(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products/GetItems`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getItemsbyFilter(request: any): Observable<any> {\n    const getItemsrequest = this.getheaders();\n    getItemsrequest['params'] = new HttpParams({ fromObject: request });\n    return this.http.get<any>(`${environment.productUrl}api/Products/GetItemsbyFilter`, getItemsrequest)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getRegions(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetRegions`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getStockLevel(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetStockLevel`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getStores(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetStores`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getSubCategories(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetSubCategories`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getWarehouses(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Products​/GetWarehouses`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getTopSellingProducts(request: any): Observable<any> {\n    const getTopSellingrequest = this.getheaders();\n    getTopSellingrequest['params'] = new HttpParams({ fromObject: request });\n    return this.http.get<any>(`${environment.apiUrl}api/Products/GetTopSellingProducts`, getTopSellingrequest)\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  updateStockLevel(): Observable<any> {\n    return this.http.put<any>(`${environment.apiUrl}api/Products/UpdateStockLevel`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // RMAs  Controller\n\n\n  createRMA(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/RMAs/CreateRMA`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  deleteRMA(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/RMAs​/DeleteRMA`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  getRMA(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/RMAs​/GetRMA`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getRMAs(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/RMAs​/GetRMAs`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  markRMAReceived(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/RMAs/MarkRMAReceived`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  markRMAShipped(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/RMAs/MarkRMAShipped`, JSON.stringify({}), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  // SSO  Controller\n\n\n  getCustomerBySSOToken(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/SSO​/GetCustomerBySSOToken`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getAdminBySSOToken(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/SSO​/GetAdminBySSOToken`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerSSOURL(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/SSO​/GetCustomerSSOURL`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCustomerSSOURLByExternalId(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/SSO​/GetCustomerSSOURLByExternalId`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  // Utilities  Controller\n\n\n  clearCache(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Utilities/ClearCache`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getError(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Utilities​/GetError`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getStatus(): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Utilities​/GetStatus`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  // Validate  Controller\n  validateEmailAddress(request): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Validate/EmailAddress?EmailAddress=${request.EmailAddress}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  Login(request: any): Observable<HttpResponse<any>> {\n    return this.http.post<any>(`${environment.apiUrl}api/Validate/Login`, JSON.stringify(request), {\n      headers: new HttpHeaders({\n        'Content-Type': 'application/json; charset=utf-8'\n      }),\n      observe: 'response'\n    })\n      .pipe(\n        retry(1),\n        tap((resp: HttpResponse<any>) => {\n          if (resp.headers && resp.headers.get('X-Auth')) {\n            this.cookieService.set('X-Auth', resp.headers.get('X-Auth'), null, '/');\n            this.getheaders();\n          }\n          return resp;\n        }),\n        catchError(this.handleError)\n      );\n  }\n\n  sendemail(request): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Utilities/SendEmail`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  sendtext(request): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Utilities/SendMessage`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(0),\n        catchError(this.handleError)\n      );\n  }\n\n  Logout(): Observable<any> {\n    return this.http.post<any>(`${environment.apiUrl}api/Validate/Logout`, '', this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  validateTaxId(taxId: string) {\n    return this.http.get<any>(`${environment.apiUrl}api/Validate​/TaxId?taxId=${taxId}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  validateUsername(username: string): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Validate/Username?username=${username}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n\n  validatetaxid(TaxId: string): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Validate/TaxId?TaxId=${TaxId}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  validateWebAlias(webAlias: string) {\n    return this.http.get<any>(`${environment.apiUrl}api/Validate/WebAlias?webAlias=${webAlias}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n\n  getCompanyCountryLanguages() {\n    return this.http.get<any>(`${environment.apiUrl}api/Common/GetCompanyCountryLanguages`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  getCompanyInfo() {\n    return this.http.get<any>(`${environment.apiUrl}api/DiscoApi/GetCompanyInfo`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  textnumberavailabilitycheck(number: string): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/DiscoApi/ValidateMobile?mobile=${number}`, this.getheaders())\n      .pipe(\n        retry(1),\n        catchError(this.handleError)\n      );\n  }\n  CheckReplyRespnose(data: string, type: string): Observable<any> {\n    return this.http.get<any>(`${environment.apiUrl}api/Utilities/CheckReplyRespnose?type=${type}&data=${data}`, this.getheaders())\n      .pipe(\n        retry(0),\n        catchError(this.handleError)\n      );\n  }\n  UpdateCustomerByParameter(request): Observable<any> {\n    return this.http.patch<any>(`${environment.apiUrl}api/Customers/UpdateCustomerWebalias`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(0),\n        catchError(this.handleError)\n      );\n  }\n  GetCustomerByEmail(request): Observable<any> {\n    return this.http.post<any>(`${environment.clientExtensionAPI}api/Associate/GetCustomerByEmail`, JSON.stringify(request), this.getheaders())\n      .pipe(\n        retry(0),\n        catchError(this.handleError)\n      );\n  }\n}","export default \"<div class=\\\"bodyCheck\\\">\\n  <div id=\\\"checkOut\\\">\\n    <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"m-t-30\\\">\\n      <div fxLayout=\\\"row\\\" fxFlex class=\\\"main\\\">\\n        <div fxFlex.gt-xs=\\\"10\\\"></div>\\n        <div fxFlex.xs=\\\"100\\\" fxFlex.gt-xs=\\\"80\\\">\\n          <mat-card>\\n            <mat-card-content>\\n              <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                <div fxFlex=\\\"100\\\" fxLayoutAlign=\\\"center center\\\">\\n                  <span class=\\\"header\\\" translate=\\\"review_\\\"></span>\\n                </div>\\n                <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\" fxLayout.lt-md=\\\"column\\\" class=\\\"m-t-15\\\">\\n                  <div fxFlex=\\\"30\\\" fxLayout=\\\"column\\\" class=\\\"p-l-r-15 m-t-10\\\">\\n                    <h5 class=\\\"f-bold\\\" translate=\\\"shipping_address_lower\\\"></h5>\\n                    <div>\\n                      <span [textContent]=\\\"userService.shippingAddress.FullName\\\"></span><br>\\n                      <address class=\\\"color-f-s-14 m-b-0 viewAddress\\\"\\n                        *ngIf=\\\"!isStateRestrict && !utilityService.isEmptyObject(userService.shippingAddress)\\\">\\n                        <span [textContent]=\\\"userService.shippingAddress.Street1\\\"></span>&nbsp;\\n                        <span [textContent]=\\\"userService.shippingAddress.Street1\\\"></span>&nbsp;\\n                        <span [textContent]=\\\"userService.shippingAddress.City\\\"></span>&nbsp;\\n                        <br>\\n                        <span [textContent]=\\\"userService.shippingAddress.Region\\\"></span>&nbsp;\\n                        <span [textContent]=\\\"userService.shippingAddress.CountryCode\\\"></span>&nbsp;\\n                        <span [textContent]=\\\"userService.shippingAddress.PostalCode\\\"></span>\\n                      </address>\\n                    </div>\\n                    <div class=\\\"edit_ship_address\\\">\\n                      <button mat-raised-button color=\\\"primary\\\"\\n                        *ngIf=\\\"utilityService.isEmptyObject(userService.shippingAddress)\\\" class=\\\"m-l-0\\\"\\n                        routerLink=\\\"/shipping\\\" translate=\\\"add_address\\\" aria-label=\\\"AddAddress\\\">{{'add_address' |\\n                        translate}}</button>\\n                      <a class=\\\"itemName\\\" href=\\\"\\\" *ngIf=\\\"!utilityService.isEmptyObject(userService.shippingAddress)\\\"\\n                        routerLink=\\\"/shipping\\\" translate=\\\"edit_\\\"></a><br>\\n                    </div>\\n                    <div class=\\\"m-t-25\\\">\\n                      <mat-icon class=\\\"p-r-10 color-icon disp\\\" [textContent]=\\\"'mail'\\\"\\n                        *ngIf=\\\"userService.customerData.EmailAddress\\\">mail</mat-icon>\\n                      <span class=\\\"mail_position1\\\" [textContent]=\\\"userService.customerData.EmailAddress\\\"></span>\\n                    </div>\\n                  </div>\\n                  <div fxFlex=\\\"40\\\" fxLayout=\\\"column\\\" class=\\\"p-l-r-15 m-t-10\\\">\\n                    <p class=\\\"f-bold\\\" translate=\\\"shop_payment_new\\\"></p>\\n                    <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"start center\\\">\\n                      <p class=\\\"p-r-5\\\" translate=\\\"accepted_cards\\\"></p>\\n                      <div>\\n                        <img src=\\\"assets/images/visa1.png\\\" alt=\\\"VisaCard\\\">\\n                        <img src=\\\"assets/images/mastercard.png\\\" alt=\\\"VisaCard\\\">\\n                      </div>\\n                    </div>\\n                    <div *ngIf=\\\"userService.paymentMethods.length >0\\\">\\n                      <span [textContent]=\\\"userService.paymentMethods[0].CardType\\\"></span>&nbsp;\\n                      <span *ngIf=\\\"userService.paymentMethods[0].Last4\\\"><span translate=\\\"card_ending_in\\\"></span></span>\\n                      <span [textContent]=\\\"userService.paymentMethods[0].Last4\\\"></span>\\n                      <br>\\n                      <span\\n                        *ngIf=\\\"userService.paymentMethods[0].ExpireMonth!==0 && userService.paymentMethods[0].ExpireYear!==0\\\">\\n                        <span>{{'expires'|translate}}</span>&nbsp;\\n                        <span [textContent]=\\\"userService.paymentMethods[0].ExpireMonth\\\"></span> /\\n                        <span [textContent]=\\\"userService.paymentMethods[0].ExpireYear\\\"></span>\\n                      </span>\\n                    </div>\\n                    <div *ngIf=\\\"userService.paymentMethods.length == 0\\\">\\n                      <span translate=\\\"no_payment\\\"></span>\\n                    </div>\\n                    <div>\\n                      <mat-form-field fxFlex appearance=\\\"outline\\\">\\n                        <mat-label *ngIf=\\\"userService.paymentMethods.length > 0 && !userService.isPaymentChanged\\\"\\n                          [textContent]=\\\"userService.paymentMethods[0].CardType + ' ' + userService.paymentMethods[0].Last4\\\">\\n                        </mat-label>\\n                        <mat-label *ngIf=\\\"userService.paymentMethods.length == 0\\\"\\n                          translate=\\\"unified_add_payment_method\\\"></mat-label>\\n                        <mat-select>\\n                          <mat-select-trigger>\\n                            <span *ngIf=\\\"userService.paymentMethods.length > 0\\\">\\n                              {{userService.paymentMethods[0].CardType}} {{ ' ' }}\\n                              {{userService.paymentMethods[0].Last4}}\\n                            </span>\\n                          </mat-select-trigger>\\n                          <ng-container *ngIf=\\\"paymentService.PaymentTypeResponse['SaveMethods']\\\">\\n                            <mat-option *ngFor=\\\"let paymentMethod of paymentService.PaymentTypeResponse['SaveMethods']\\\"\\n                              value=\\\"Credit Card\\\" (click)=\\\"addSavePayment(paymentMethod);\\\" class=\\\"c-color1\\\"\\n                              [attr.merchant_id]=\\\"paymentMethod.MerchantId\\\" translate>\\n                              <mat-icon class=\\\"p-r-10\\\">credit_card</mat-icon>\\n                              <span style=\\\"cursor: pointer\\\">\\n                                <span [textContent]=\\\"getPaymentDescription(paymentMethod)\\\"></span>\\n                                <span>\\n                                  {{'_exp'|translate}}&nbsp;&nbsp;\\n                                  <span [textContent]=\\\"paymentMethod.Expires | date:'MM/yyyy'\\\"></span>\\n                                </span>\\n                              </span>\\n                              <span class=\\\"multipay__dropdown-list__filler\\\"></span>\\n                              <button mat-icon-button class=\\\"btn-icon btn-icon--small btn-link\\\"\\n                                (click)=\\\"removeCardDetail(paymentMethod);\\\">\\n                                <mat-icon class=\\\"p-r-10\\\">delete</mat-icon>\\n                              </button>\\n                            </mat-option>\\n                          </ng-container>\\n                          <ng-container *ngIf=\\\"paymentService.PaymentTypeResponse['AllowedMethods']\\\">\\n                            <mat-option *ngFor=\\\"let addpayments of paymentService.PaymentTypeResponse['AllowedMethods']\\\"\\n                              value=\\\"Credit Card\\\" (click)=\\\"addSavePayment(addpayments);\\\" class=\\\"c-color1\\\"\\n                              [attr.merchant_id]=\\\"addpayments.MerchantId\\\"\\n                              [innerHTML]=\\\"addpayments.DisplayName | paymentTranslate:addpayments.DisplayName\\\"\\n                              translate></mat-option>\\n                          </ng-container>\\n                        </mat-select>\\n                      </mat-form-field>\\n                    </div>\\n                    <div class=\\\"ds-row__item clearfix m-l-0\\\"\\n                      *ngIf=\\\"(paymentService.SelectedPaymentTypes.CanSavePayments == false || paymentService.SelectedPaymentTypes.CanSavePayments == 'false')\\\">\\n                      <span class=\\\"ds-row__item clearfix\\\" *ngIf=\\\"!userService.paymentMethods[0].Redirect\\\"\\n                        [innerHTML]=\\\"('order_pending') | translate\\\" translate></span>\\n                      <span class=\\\"ds-row__item clearfix\\\" *ngIf=\\\"userService.paymentMethods[0].Redirect\\\"\\n                        [innerHTML]=\\\"('order_needs_redirect') | translate\\\" translate></span>\\n                      <span [innerHTML]=\\\"('click_here_payment_inst') | translate\\\">\\n                      </span>\\n                    </div>\\n                    <div [innerHTML]=\\\"('card_type_logos') | translate\\\"></div>\\n                  </div>\\n                  <div fxFlex=\\\"30\\\" fxLayout=\\\"column\\\" class=\\\"p-l-r-15 m-t-10\\\">\\n                    <p class=\\\"f-bold\\\" translate=\\\"choosing_a_shipping\\\"></p>\\n                    <div class=\\\"m-t-10\\\">\\n                      <mat-radio-group aria-label=\\\"Select an option\\\" fxLayout=\\\"column\\\"\\n                        [(ngModel)]=\\\"userService.selectedShippingMethod\\\" *ngIf=\\\"itemsService.selectedOrderItems.length\\\">\\n                        <mat-radio-button class=\\\"m-b-10 font-IBM\\\" [value]=\\\"shipmethod.ShipMethodId\\\"\\n                          *ngFor=\\\"let shipmethod of orderService.calculateOrderResponse.ShippingMethods\\\"\\n                          (click)=\\\"updateShipmethod(shipmethod.ShipMethodId)\\\">\\n                          <div fxLayout=\\\"column\\\">\\n                            <div>\\n                              <span [textContent]=\\\"shipmethod.Description\\\"></span>\\n                            </div>\\n                            <div>\\n                              <small class=\\\"text-muted\\\"\\n                                [textContent]=\\\"shipmethod.ShippingAmount | currency: companyService.selectedCurrency.CurrencyCode\\\"></small>\\n                            </div>\\n                          </div>\\n                        </mat-radio-button>\\n                      </mat-radio-group>\\n                      <mat-radio-group aria-label=\\\"Select an option\\\" fxLayout=\\\"column\\\"\\n                        [(ngModel)]=\\\"userService.selectedShippingMethod\\\"\\n                        *ngIf=\\\"itemsService.selectedAutoOrderItems.length && !itemsService.selectedOrderItems.length\\\">\\n                        <mat-radio-button class=\\\"m-b-10 font-IBM\\\" [value]=\\\"shipmethod.ShipMethodId\\\"\\n                          *ngFor=\\\"let shipmethod of orderService.calculateAutoOrderResponse.ShippingMethods\\\"\\n                          (click)=\\\"updateShipmethod(shipmethod.ShipMethodId)\\\">\\n                          <div fxLayout=\\\"column\\\">\\n                            <div>\\n                              <span [textContent]=\\\"shipmethod.Description\\\"></span> <span\\n                                [textContent]=\\\"shipmethod.ShippingAmount\\\"></span>\\n                            </div>\\n                          </div>\\n                        </mat-radio-button>\\n                      </mat-radio-group>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </mat-card-content>\\n          </mat-card>\\n          <br>\\n          <mat-card *ngIf=\\\"configService.localSettings.Global.OrderAllowCoupons && itemsService.selectedOrderItems.length > 0\\\">\\n            <mat-card-header>\\n              <mat-card-title class=\\\"header\\\">\\n                <mat-icon class=\\\"p-r-10\\\">card_giftcard</mat-icon> <span class=\\\"header font-IBM\\\"\\n                  translate=\\\"promo_coupon_code\\\"></span>\\n              </mat-card-title>\\n            </mat-card-header>\\n            <mat-card-content fxLayout=\\\"column\\\" >\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"start\\\" class=\\\"p-l-10\\\"\\n                *ngIf=\\\"promoShowHide()\\\">\\n                <div fxFlex=\\\"25\\\" fxFlex.xs=\\\"70\\\" class=\\\"p-l-r-15 m-t-10\\\">\\n                  <mat-form-field class=\\\"\\\" fxFlex appearance=\\\"outline\\\">\\n                    <mat-label class=\\\"font-IBM\\\" translate=\\\"Enter_promo_code\\\"></mat-label>\\n                    <small class=\\\"c-red coupon_error font-IBM\\\"\\n                      [textContent]=\\\"userService.couponInfo.promoCodeValid === false ? ('Invalid_promo_code' | translate) : ''\\\"></small>\\n                    <input class=\\\"font-IBM\\\" name=\\\"promoCode\\\" matInput [(ngModel)]=\\\"userService.couponInfo.promoCode\\\"\\n                    (keypress)=\\\"userService.couponInfo.promoCodeValid =''\\\">\\n                  </mat-form-field>\\n                </div>\\n                <div class=\\\"m-t-10 applyButton\\\" fxFlex=\\\"20\\\" fxFlex.xs=\\\"15\\\">\\n                  <button mat-raised-button color=\\\"primary\\\" [disabled]=\\\"!userService.couponInfo.promoCode\\\"\\n                    (click)=\\\"validatePromoCode();\\\" class=\\\"font-IBM m-t-10\\\" translate=\\\"\\\">{{'apply_code' | translate}}</button>\\n                </div>\\n              </div>\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"space-between none\\\" class=\\\"p-l-10 m-l-10\\\">\\n                <div *ngFor=\\\"let Coupon of orderService.calculateOrderResponse.CouponResults\\\">\\n                  <ng-container *ngIf=\\\"Coupon.IsValid && userService.couponInfo.OrderAllowCoupons\\\">\\n                    <mat-chip-list aria-label=\\\"CouponCode\\\" *ngIf=\\\"isCouponCode(Coupon)\\\">\\n                      <mat-chip  [removable]=\\\"removable\\\"\\n                      (removed)=\\\"removePromo(Coupon.Code);\\\"> \\n                      <span [textContent]=\\\"Coupon.Code\\\"></span> &nbsp;&nbsp;\\n                      <span>-</span>\\n                      <span\\n                        [textContent]=\\\"Coupon.Discount | currency:(orderService.calculateOrderResponse.CurrencySymbol || this.companyService.selectedCurrency.CurrencyCode)\\\"></span>\\n                      <button matChipRemove>\\n                        <mat-icon>cancel</mat-icon>\\n                      </button>\\n                    </mat-chip>\\n                    </mat-chip-list>\\n                  </ng-container>\\n                </div>\\n              </div>\\n            </mat-card-content>\\n          </mat-card>\\n          <br>\\n          <mat-card *ngIf=\\\"itemsService.selectedOrderItems.length > 0\\\">\\n            <mat-card-header>\\n              <mat-card-title class=\\\"header\\\" translate=\\\"order_summary\\\"></mat-card-title>\\n            </mat-card-header>\\n            <mat-card-content>\\n              <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"p-l-r-15 m-t-10\\\">\\n                <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"borderBottom cart-items__header\\\">\\n                  <div fxFlex=\\\"50\\\">\\n                    <span class=\\\"color2-f-s-14\\\" translate=\\\"items_\\\"></span>\\n                  </div>\\n                  <div fxFlex=\\\"30\\\">\\n                    <span class=\\\"color2-f-s-14\\\" translate=\\\"price\\\"></span>\\n                  </div>\\n                  <div fxFlex=\\\"20\\\">\\n                    <span class=\\\"color2-f-s-14\\\" translate=\\\"global_quantity\\\"></span>\\n                  </div>\\n                </div>\\n                <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"items\\\" *ngFor=\\\"let item of itemsService.selectedOrderItems\\\">\\n                  <div fxFlex=\\\"50\\\">\\n                    <div class=\\\"cart-items__images\\\" fxFlex=\\\"15\\\">\\n                      <img [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/images/inventory'+item.ImageUrl\\\"\\n                        [default]=\\\"'assets/images/noimage.png'\\\">\\n                    </div>\\n                    <div class=\\\"m-t-30\\\" fxLayout=\\\"column\\\" fxFlex=\\\"85\\\">\\n                      <div>\\n                        <a class=\\\"product_detail_text itemName\\\" [textContent]=\\\"item.ProductName\\\"\\n                          (click)=\\\"cart1Service.showProductDetail(item, false, item.HasOptions, false);\\\"></a>\\n                        <!-- Warnings -->\\n                        <sup class=\\\"c-color1\\\" *ngIf=\\\"showBirthWarnings()\\\" translate=\\\"prop_65\\\">\\n                        </sup>\\n                        <sup class=\\\"c-color1\\\" *ngIf=\\\"showCancerWarnings()\\\"\\n                          [innerHTML]=\\\"(showCancerWarnings() ? 'prop_65_es' : 'prop_65') | translate\\\"></sup>\\n                      </div>\\n                      <div>\\n                        <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\" [textContent]=\\\"item.selectedOptions\\\"></span>\\n                      </div>\\n                    </div>\\n                  </div>\\n                  <div fxFlex=\\\"30\\\" fxFlex.xs=\\\"22\\\" fxLayoutAlign=\\\"start center\\\">\\n                    <span [textContent]=\\\"item.Price | currency: companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                  </div>\\n                  <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"start center\\\">\\n                    <div fxLayout=\\\"row\\\" class=\\\"\\\">\\n                      <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                        <span class=\\\"input-group-btn\\\">\\n                          <button mat-button-icon class=\\\"\\\" type=\\\"button\\\"\\n                            (click)=\\\"cart1Service.decreaseQuantiy(item,false,false)\\\">\\n                            <mat-icon class=\\\"c-gray\\\">remove</mat-icon>\\n                          </button>\\n                        </span>\\n\\n                        <input type=\\\"text\\\" class=\\\"input-control\\\" maxlength=\\\"2\\\"\\n                          [(ngModel)]=\\\"getQuantityModel('order',item)[item.ItemID]\\\" validate inputonlynumber=\\\"true\\\"\\n                          (change)=\\\"checkQuantity('order', item)\\\"\\n                          (keyup)=\\\"($event.which === 38) ? cart1Service.increaseQuantiy(item, false, false) : 0\\\"\\n                          (keydown)=\\\"($event.which === 40) ? cart1Service.decreaseQuantiy(item, false, false) : 0\\\">\\n                        <span class=\\\"input-group-btn\\\">\\n                          <button mat-button-icon class=\\\"\\\" type=\\\"button\\\"\\n                            (click)=\\\"cart1Service.increaseQuantiy(item,false,false)\\\">\\n                            <mat-icon class=\\\"c-gray\\\">add</mat-icon>\\n                          </button>\\n                        </span>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </div>\\n                <div fxFlex=\\\"100\\\" class=\\\"m-t-10 order-total-summary\\\" fxLayout=\\\"column\\\">\\n                  <div fxLayoutAlign=\\\"end none\\\">\\n                    <label translate=\\\"sub_total\\\"></label><strong class=\\\"m-l-10\\\"\\n                      [textContent]=\\\"(orderService.calculateOrderResponse.SubTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                  </div>\\n                  <div fxLayoutAlign=\\\"end none\\\">\\n                    <label translate=\\\"discounttotal\\\"></label><strong class=\\\"m-l-10\\\"\\n                      [textContent]=\\\"(orderService.calculateOrderResponse.DiscountTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                  </div>\\n                  <div fxLayoutAlign=\\\"end none\\\">\\n                    <label translate=\\\"shippingtotal\\\"></label><strong class=\\\"m-l-10\\\"\\n                      [textContent]=\\\"(orderService.calculateOrderResponse.ShippingTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                  </div>\\n                  <div fxLayoutAlign=\\\"end none\\\">\\n                    <label translate=\\\"taxtotal\\\"></label><strong class=\\\"m-l-10\\\"\\n                      [textContent]=\\\"(orderService.calculateOrderResponse.TaxTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                  </div>\\n                </div>\\n                <div fxFlex=\\\"100\\\" class=\\\"m-t-10 order-items-total\\\">\\n                  <div fxLayoutAlign=\\\"end none\\\">\\n                    {{'global_total'|translate}} ( <span data-text=\\\"quantity\\\"\\n                      [textContent]=\\\"itemsService.selectedOrderItems.length\\\"></span> {{'item_'|translate}} ):\\n                    <strong class=\\\"m-l-10\\\">\\n                      <span [textContent]=\\\"(orderService.calculateOrderResponse.Total | currency: companyService.selectedCurrency.CurrencyCode)\\\"></span>\\n                    </strong>\\n                  </div>\\n                </div>\\n              </div>\\n            </mat-card-content>\\n          </mat-card>\\n          <br>\\n          <mat-card *ngIf=\\\"itemsService.selectedAutoOrderItems.length > 0\\\">\\n            <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                <div fxFlex=\\\"49\\\">\\n                  <mat-card-header>\\n                    <mat-card-title class=\\\"header\\\">{{'autoship_order'|translate}}</mat-card-title>\\n                  </mat-card-header>\\n                </div>\\n                <div class=\\\"p-l-r-15\\\" fxFlex=\\\"49\\\" fxLayoutAlign=\\\"end none\\\">\\n                  <span translate>\\n                    {{'your_autoship_will_process_frequency' | translate: getfrequencyName()}}\\n                  </span> &nbsp;\\n                  <span [textContent]=\\\"autoshipConfigurationService.autoshipDate | changedateformat\\\"></span>\\n                </div>\\n              </div>\\n              <div>\\n                <mat-card-content>\\n                  <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"p-l-r-15 m-t-10\\\">\\n                    <div fxLayout=\\\"column\\\" class=\\\"m-b-15\\\"\\n                      *ngIf=\\\"userService.customerData && (AutoOrdersData && AutoOrdersData.length > 0) && itemsService.selectedAutoOrderItems.length > 0\\\">\\n                      <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\">\\n                        <div fxFlex=\\\"80\\\" fxFlex.xs=\\\"100\\\" fxLayoutAlign=\\\"start center\\\">\\n                          <div fxLayout=\\\"column\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\">\\n                            <div class=\\\"m-b-10\\\">\\n                              <mat-radio-group name=\\\"opList\\\" fxLayout=\\\"column\\\"\\n                                [(ngModel)]=\\\"persistentService.retailData.isNewAutoship\\\">\\n                                <mat-radio-button [value]=\\\"false\\\" [checked]=\\\"false\\\"> {{'choose_exit_autoship'|\\n                                  translate}} </mat-radio-button>\\n                              </mat-radio-group>\\n                            </div>\\n                            <div class=\\\"m-b-10\\\">\\n                              <mat-radio-group name=\\\"opList\\\" fxLayout=\\\"column\\\"\\n                                [(ngModel)]=\\\"persistentService.retailData.isNewAutoship\\\">\\n                                <mat-radio-button [value]=\\\"true\\\" [checked]=\\\"true\\\"> {{'choose_new_autoship'| translate}}\\n                                </mat-radio-button>\\n                              </mat-radio-group>\\n                            </div>\\n                          </div>\\n\\n                        </div>\\n                        <div *ngIf=\\\"!persistentService.retailData.isNewAutoship\\\" fxFlex=\\\"20\\\" fxFlex.xs=\\\"100\\\"\\n                          fxLayoutAlign.gt-xs=\\\"end start\\\" fxLayoutAlign.xs=\\\"center center\\\"\\n                          class=\\\"autoShipSelect m-t--15\\\">\\n                          <mat-form-field class=\\\"autoship_drp\\\" fxFlex=\\\"100\\\" appearance=\\\"outline\\\">\\n                            <mat-select [(ngModel)]=\\\"selectedAutoship\\\"\\n                              (selectionChange)=\\\"changeSelectedAutosipId(selectedAutoship)\\\">\\n                              <mat-option *ngFor=\\\"let autoship of AutoOrdersData\\\" [value]=\\\"autoship.AutoShipID\\\">\\n                                {{ \\\"#Autoship - \\\"+ autoship.AutoShipID + ' ('+ (autoship.SubTotal |\\n                                currency:(autoship.CurrencySymbol || this.companyService.selectedCurrency.CurrencyCode):autoship.DecimalPoint)+' )'}}\\n                              </mat-option>\\n                            </mat-select>\\n                          </mat-form-field>\\n                        </div>\\n                      </div>\\n                    </div>\\n                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"borderBottom cart-items__header p-t-16\\\">\\n                      <div fxFlex=\\\"50\\\">\\n                        <span class=\\\"color2-f-s-14\\\" translate=\\\"items_\\\"></span>\\n                      </div>\\n                      <div fxFlex=\\\"30\\\">\\n                        <span class=\\\"color2-f-s-14\\\" translate=\\\"price\\\"></span>\\n                      </div>\\n                      <div fxFlex=\\\"20\\\">\\n                        <span class=\\\"color2-f-s-14\\\" translate=\\\"global_quantity\\\"></span>\\n                      </div>\\n                    </div>\\n                    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"items\\\"\\n                      *ngFor=\\\"let autoorderitem of itemsService.selectedAutoOrderItems\\\">\\n                      <div fxFlex=\\\"50\\\">\\n                        <div class=\\\"cart-items__images\\\" fxFlex=\\\"15\\\">\\n                          <img\\n                            [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/images/inventory'+autoorderitem.ImageUrl\\\"\\n                            [default]=\\\"'assets/images/noimage.png'\\\">\\n                        </div>\\n                        <div class=\\\"m-t-30\\\" fxLayout=\\\"column\\\" fxFlex=\\\"85\\\">\\n                          <a class=\\\"product_detail_text itemName\\\" [textContent]=\\\"autoorderitem.ProductName\\\"\\n                            (click)=\\\"cart1Service.showProductDetail(autoorderitem, true, autoorderitem.HasOptions, false);\\\"></a>\\n                          <!-- Warnings -->\\n                          <sup class=\\\"c-color1\\\" *ngIf=\\\"showBirthWarnings() || showCancerWarnings()\\\" translate=\\\"prop_65\\\">\\n                          </sup>\\n                          <sup class=\\\"c-color1\\\" *ngIf=\\\"showCancerWarnings() || showBirthWarnings()\\\"\\n                            [innerHTML]=\\\"(showBirthWarnings() ? 'prop_65_es' : 'prop_65') | translate\\\"></sup>\\n                        </div>\\n                      </div>\\n                      <div fxFlex=\\\"30\\\" fxFlex.xs=\\\"22\\\" fxLayoutAlign=\\\"start center\\\">\\n                        <span [textContent]=\\\"autoorderitem.Price | currency: companyService.selectedCurrency.CurrencyCode\\\"></span>\\n                      </div>\\n                      <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"start center\\\">\\n                        <div fxLayout=\\\"row\\\" class=\\\"\\\">\\n                          <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                            <span class=\\\"input-group-btn\\\">\\n                              <button mat-button-icon class=\\\"\\\" type=\\\"button\\\"\\n                                (click)=\\\"cart1Service.decreaseQuantiy(autoorderitem, true, false)\\\">\\n                                <mat-icon class=\\\"c-gray\\\">remove</mat-icon>\\n                              </button>\\n                            </span>\\n                            <input type=\\\"text\\\" class=\\\"input-control\\\" maxlength=\\\"2\\\"\\n                              [(ngModel)]=\\\"getQuantityModel('autoship',autoorderitem)[autoorderitem.ItemID]\\\" validate\\n                              inputonlynumber=\\\"true\\\" (change)=\\\"checkQuantity('autoship',autoorderitem)\\\"\\n                              (keyup)=\\\"($event.which === 38) ? cart1Service.increaseQuantiy(autoorderitem, true, false) : 0\\\"\\n                              (keydown)=\\\"($event.which === 40) ? cart1Service.decreaseQuantiy(autoorderitem, true, false) : 0\\\">\\n                            <span class=\\\"input-group-btn\\\">\\n                              <button mat-button-icon class=\\\"\\\" type=\\\"button\\\"\\n                                (click)=\\\"cart1Service.increaseQuantiy(autoorderitem, true, false)\\\">\\n                                <mat-icon class=\\\"c-gray\\\">add</mat-icon>\\n                              </button>\\n                            </span>\\n                          </div>\\n                        </div>\\n                      </div>\\n                    </div>\\n                    <div fxFlex=\\\"100\\\" class=\\\"m-t-10 order-total-summary\\\" fxLayout=\\\"column\\\">\\n                      <div fxLayoutAlign=\\\"end none\\\">\\n                        <label translate=\\\"sub_total\\\"></label><strong\\n                          [textContent]=\\\"(orderService.calculateAutoOrderResponse.SubTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                      </div>\\n                      <div fxLayoutAlign=\\\"end none\\\">\\n                        <label translate=\\\"discounttotal\\\"></label><strong\\n                          [textContent]=\\\"(orderService.calculateAutoOrderResponse.DiscountTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                      </div>\\n                      <div fxLayoutAlign=\\\"end none\\\">\\n                        <label translate=\\\"shippingtotal\\\"></label><strong\\n                          [textContent]=\\\"(orderService.calculateAutoOrderResponse.ShippingTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                      </div>\\n                      <div fxLayoutAlign=\\\"end none\\\">\\n                        <label translate=\\\"taxtotal\\\"></label><strong\\n                          [textContent]=\\\"(orderService.calculateAutoOrderResponse.TaxTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                      </div>\\n                    </div>\\n                    <div fxFlex=\\\"100\\\" class=\\\"m-t-10 order-items-total p-t-0\\\">\\n                      <div fxLayoutAlign=\\\"end center\\\">\\n                        {{'global_total'|translate}} ( <span data-text=\\\"quantity\\\"\\n                          [textContent]=\\\"itemsService.selectedAutoOrderItems.length\\\"></span> {{'item_'|translate}} ):\\n                        <strong\\n                          [textContent]=\\\"(orderService.calculateAutoOrderResponse.Total | currency: companyService.selectedCurrency.CurrencyCode)\\\"></strong>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </mat-card-content>\\n              </div>\\n            </div>\\n          </mat-card>\\n          <mat-card>\\n            <mat-card-content>\\n              <div class=\\\"\\\">\\n                <div fxFlex=\\\"100\\\" class=\\\"m-t-10 m-b-10 m-r-15 text-right\\\"\\n                  *ngIf=\\\"configService.localSettings.Global.showRequiredTermsCheckbox\\\">\\n                  <div fxLayoutAlign=\\\"end none\\\">\\n                    <div class=\\\"mat-form-field ds-validate checkbox\\\">\\n                      <mat-checkbox class=\\\"ds-checkbox\\\" color=\\\"primary\\\" checkbox-validate=\\\"true\\\" validate> <span\\n                          [innerHTML]=\\\"('i_have_read_understand_and_agree' | translate)\\\"></span></mat-checkbox>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </mat-card-content>\\n          </mat-card>\\n          <br>\\n        </div>\\n        <div fxFlex.gt-xs=\\\"10\\\"></div>\\n      </div>\\n      <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"center center\\\">\\n        <!-- Prop 65 warnings -->\\n        <div class=\\\"checkout__warnings\\\" *ngIf=\\\"showBirthWarnings() || showCancerWarnings()\\\">\\n          <div class=\\\"m-l-20\\\"><span [innerHTML]=\\\"('whats_this_' | translate)\\\"></span></div>\\n          <ol class=\\\"p-l-20\\\">\\n            <li *ngIf=\\\"showBirthWarnings()\\\">\\n              <div translate=\\\"prop_65\\\"></div>\\n              <div translate=\\\"warning_cause_birth\\\"></div>\\n            </li>\\n            <li *ngIf=\\\"showCancerWarnings()\\\">\\n              <div translate=\\\"prop_65\\\"></div>\\n              <div translate=\\\"warning_cause_cancer\\\"></div>\\n            </li>\\n          </ol>\\n        </div>\\n      </div>\\n      <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n        <div fxFlex.gt-xs=\\\"10\\\"></div>\\n        <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" fxFlex.xs=\\\"100\\\" fxFlex.gt-xs=\\\"80\\\" fxLayoutAlign.gt-xs=\\\"end none\\\"\\n          fxLayoutAlign.xs=\\\"center center\\\">\\n          <div class=\\\"backButtom\\\" fxFlex.xs=\\\"100\\\">\\n            <button mat-button (click)=\\\"backStep();\\\" class=\\\"b-r-23\\\" mat-raised-button color=\\\"basic\\\">{{'back' | translate}}</button>\\n          </div>\\n          <div class=\\\"placeOrderButtom pl-15\\\" fxFlex.xs=\\\"100\\\">\\n            <button id=\\\"place-order-btn\\\" mat-raised-button color=\\\"primary\\\" validate trigger-check=\\\"true\\\"\\n              (success)=\\\"checkPlaceOrder()\\\" *ngIf=\\\"isAutoshipChanged()\\\">{{'place_order_' | translate}}</button>\\n          </div>\\n        </div>\\n        <div fxFlex.gt-xs=\\\"10\\\"></div>\\n\\n      </div>\\n    </div>\\n  </div>\\n</div>\";","export default \".enroll_img {\\n  float: left;\\n}\\n\\n.enroll_img a img {\\n  width: 32px;\\n  height: 32px;\\n}\\n\\n.flag-icon img {\\n  width: 20px;\\n  height: 15px;\\n  margin-right: 5px;\\n}\\n\\n.shop_heading {\\n  font-size: 10px;\\n  line-height: 2px;\\n}\\n\\n.text-nonecase {\\n  text-transform: none !important;\\n}\\n\\n.f-500 {\\n  font-weight: 500 !important;\\n}\\n\\n.text-uppercase {\\n  text-transform: uppercase;\\n}\\n\\n.mat-button {\\n  text-align: left;\\n}\\n\\n.m-t-10 {\\n  margin-top: 10px;\\n}\\n\\n.p-5 {\\n  padding: 5px;\\n}\\n\\n.p-16 {\\n  padding: 10px 16px !important;\\n}\\n\\n.ds_userName h2 {\\n  margin: 0;\\n  font-size: 14px !important;\\n  line-height: 45px;\\n  padding-left: 15px;\\n  max-width: 170px;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  overflow: hidden;\\n}\\n\\n.sidenav .header {\\n  background-color: var(--theme-deafult);\\n  color: #ffffff;\\n}\\n\\n.sidenav .header h2,\\n.sidenav .header mat-icon {\\n  color: #000000 !important;\\n}\\n\\n.sidenav {\\n  max-width: 400px;\\n  min-width: 65%;\\n  flex-direction: column;\\n  transition: all 0.5s ease;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  .sidenav {\\n    width: calc(100% - 50px) !important;\\n    max-width: 310px !important;\\n  }\\n}\\n\\n@media only screen and (max-width: 419px) {\\n  .customer_type {\\n    max-width: 100px;\\n    text-overflow: ellipsis;\\n    overflow: hidden;\\n    display: inline-block;\\n    width: 100%;\\n  }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21haW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBQ0E7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQUVKOztBQUFBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBQUdKOztBQURBO0VBQ0ksZUFBQTtFQUNBLGdCQUFBO0FBSUo7O0FBREE7RUFDSSwrQkFBQTtBQUlKOztBQUZBO0VBQ0ksMkJBQUE7QUFLSjs7QUFIQTtFQUNJLHlCQUFBO0FBTUo7O0FBSkE7RUFDSSxnQkFBQTtBQU9KOztBQUxBO0VBQ0ksZ0JBQUE7QUFRSjs7QUFOQTtFQUNJLFlBQUE7QUFTSjs7QUFQQTtFQUNJLDZCQUFBO0FBVUo7O0FBUkE7RUFDSSxTQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUFXSjs7QUFUQTtFQUNJLHNDQUFBO0VBQ0EsY0FBQTtBQVlKOztBQVZBOztFQUVJLHlCQUFBO0FBYUo7O0FBWEE7RUFDSSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLHlCQUFBO0FBY0o7O0FBWkE7RUFDSTtJQUNJLG1DQUFBO0lBQ0EsMkJBQUE7RUFlTjtBQUNGOztBQWJBO0VBQ0k7SUFDSSxnQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxxQkFBQTtJQUNBLFdBQUE7RUFlTjtBQUNGIiwiZmlsZSI6Im1haW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZW5yb2xsX2ltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uZW5yb2xsX2ltZyBhIGltZyB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xufVxuLmZsYWctaWNvbiBpbWcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5zaG9wX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMnB4O1xufVxuXG4udGV4dC1ub25lY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mLTUwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuLnRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1hdC1idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubS10LTEwIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnAtNSB7XG4gICAgcGFkZGluZzogNXB4O1xufVxuLnAtMTYge1xuICAgIHBhZGRpbmc6IDEwcHggMTZweCAhaW1wb3J0YW50O1xufVxuLmRzX3VzZXJOYW1lIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNpZGVuYXYgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG4uc2lkZW5hdiAuaGVhZGVyIGgyLFxuLnNpZGVuYXYgLmhlYWRlciBtYXQtaWNvbiB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbi5zaWRlbmF2IHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1pbi13aWR0aDogNjUlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5zaWRlbmF2IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMzEwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxOXB4KSB7XG4gICAgLmN1c3RvbWVyX3R5cGUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9kdWN0LXZlcnRpY2FsLmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n  <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n</button>\\n<h1 mat-dialog-title>Contact</h1>\\n<div mat-dialog-content>\\n  <div class=\\\"contact-page\\\">\\n    <div class=\\\"sub-container\\\">\\n\\n      <mat-card>\\n        <div fxLayout=\\\"row\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\" class=\\\"\\\">\\n          <div fxFlex=\\\"35\\\" fxFlex.sm=\\\"45\\\"  class=\\\"left-info-panel\\\">\\n\\n            <div class=\\\"c-info\\\">\\n              <div class=\\\"enroll_img\\\">\\n                <div class=\\\"avtar\\\">\\n                  <img style=\\\"height:100px;width:100px;\\\" class=\\\"\\\"\\n                    [src]=\\\"userService.ImageUrl\\\" alt=\\\"companylogo\\\"\\n                    [default]=\\\"'assets/images/user.png'\\\">\\n                </div>\\n\\n              </div>\\n              <h3 [textContent]=\\\"userService.FirstName + ' ' + userService.LastName\\\" class=\\\"color-f-s-23\\\">tori belle cosmetics LLC</h3>\\n              <div class=\\\"content\\\">\\n                <ul class=\\\"social list-inline text-center\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-evenly center\\\">\\n                  <mat-toolbar class=\\\"social list-inline text-center\\\" fxLayout=\\\"row\\\"\\n                    fxLayoutAlign=\\\"space-evenly center\\\">\\n\\n                    <li *ngIf=\\\"userService.Facebook\\\"><a [href]=\\\"userService.Facebook\\\"><i class=\\\"fa fa-facebook-f\\\"></i></a></li>\\n                    <li *ngIf=\\\"userService.Linkdin\\\"><a [href]=\\\"userService.Linkdin\\\"><i class=\\\"fa fa-linkedin\\\"></i></a></li>\\n                    <li *ngIf=\\\"userService.Instagram\\\" ><a [href]=\\\"userService.Instagram\\\"><i class=\\\"fa fa-instagram\\\"></i></a></li>\\n                    <li *ngIf=\\\"userService.Twitter\\\"><a [href]=\\\"userService.Twitter\\\"><i class=\\\"fa fa-twitter\\\"></i></a></li>\\n\\n                  </mat-toolbar>\\n                </ul>\\n                <h6 class=\\\"color-f-s-24\\\" [textContent]=\\\"userService.SecondaryPhone || userService.PrimaryPhone\\\"></h6>\\n                        <a href=\\\"mailto:{{userService.EmailAddress}}\\\" class=\\\"mailaddress\\\" [textContent]=\\\"userService.EmailAddress\\\"></a>\\n                        <p class=\\\"ds_AboutMe\\\" [textContent]=\\\"userService.AboutMe\\\"></p>\\n              </div>\\n            </div>\\n          </div>\\n          <div fxFlex=\\\"60\\\" fxFlex.sm=\\\"50\\\"   class=\\\"contact-form\\\">\\n            <div class=\\\"title\\\">\\n              <h3 translate=\\\"contact_\\\" class=\\\"color-f-s-19\\\"></h3>\\n            </div>\\n            <form fxLayout=\\\"row wrap\\\">\\n              <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <mat-form-field class=\\\"w-100 ds-validate\\\">\\n                  <mat-label translate=\\\"user_first_name\\\"></mat-label>\\n                  <input matInput [(ngModel)]=\\\"contact.FirstName\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"FirstName\\\"\\n                    validate noempty=\\\"true\\\">\\n                </mat-form-field>\\n              </div>\\n              <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <mat-form-field class=\\\"w-100 ds-validate\\\">\\n                  <mat-label translate=\\\"user_last_\\\"></mat-label>\\n                  <input matInput [(ngModel)]=\\\"contact.LastName\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"LastName\\\"\\n                    validate noempty=\\\"true\\\">\\n                </mat-form-field>\\n              </div>\\n              <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <mat-form-field class=\\\"w-100 ds-validate\\\">\\n                  <mat-label translate=\\\"MobilePhone_\\\"></mat-label>\\n                  <input matInput [(ngModel)]=\\\"contact.MobilePhone\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"Phone\\\"\\n                    phoneno=\\\"true\\\" inputspace=\\\"true\\\" validate noempty=\\\"true\\\" maxlength=\\\"20\\\" inputonlynumber=\\\"true\\\">\\n                </mat-form-field>\\n              </div>\\n              <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <mat-form-field class=\\\"w-100 ds-validate\\\">\\n                  <mat-label translate=\\\"email_\\\"></mat-label>\\n                  <input matInput [(ngModel)]=\\\"contact.Email\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"email\\\"\\n                    validate noempty=\\\"true\\\" email=\\\"true\\\">\\n                </mat-form-field>\\n              </div>\\n              <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <mat-form-field class=\\\"w-100 ds-validate\\\">\\n                  <mat-label translate=\\\"message_\\\"></mat-label>\\n                  <textarea matInput rows=\\\"6\\\" [(ngModel)]=\\\"contact.Message\\\" [ngModelOptions]=\\\"{standalone: true}\\\"\\n                    name=\\\"content\\\"></textarea>\\n                </mat-form-field>\\n              </div>\\n              <div fxFlex=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <mat-form-field class=\\\"w-100 ds-validate\\\">\\n                  <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                      <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                        <div class=\\\"captcha_code\\\" id=\\\"captcha_code\\\" fxFlex=\\\"56\\\" fxFlex.xs=\\\"63\\\">\\n                    <span translate>captcha_</span><span id=\\\"captchaQuestion\\\"></span><span> = </span>\\n                  </div>\\n                        <div class=\\\"captcha_answer m-r-10\\\" fxFlex=\\\"39\\\" fxFlex.xs=\\\"30\\\">\\n                    <input matInput id=\\\"answer\\\" inputonlynumber=\\\"true\\\" validate noempty=\\\"true\\\"\\n                    [(ngModel)]=\\\"contact.result\\\" (focusout)=\\\"checkCaptch()\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"answer\\\" type=\\\"text\\\" >\\n                        </div>\\n                  </div>\\n                  <div class=\\\"captchaError\\\" *ngIf=\\\"!captchaError\\\">\\n                    <small class=\\\"has-error help-block\\\" translate>enter_valid_captcha</small>\\n                  </div>\\n                  <div class=\\\"reload_captcha\\\">\\n                    <span translate>reload_captcha</span><span><img src=\\\"/assets/images/arrow.png\\\"\\n                        [default]=\\\"'assets/images/noimage.png'\\\" (click)=\\\"getRandom(true)\\\"></span>\\n                  </div>\\n                  </div>\\n                </mat-form-field>\\n              </div>\\n              <div class=\\\"button-wrap\\\" fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                <button class=\\\"btn-project\\\" mat-raised-button color=\\\"primary\\\" validate trigger-check=\\\"true\\\"\\n                  (success)=\\\"contactUser()\\\">{{'_submit'| translate}}</button>\\n              </div>\\n            </form>\\n          </div>\\n        </div>\\n\\n      </mat-card>\\n    </div>\\n  </div>\\n</div>\";","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from 'lodash';\n@Pipe({\n\tname: 'paymentTranslate'\n})\nexport class PaymentTranslatePipe implements PipeTransform {\n    constructor(public translate:TranslateService,private sanitizer:DomSanitizer){}\n\ttransform(key, defaultValue) {\n        try {\n            if (key) {               \n                key = 'payment_method_' + (typeof key === 'string' ? key.replace(/[&/\\\\#,+()$~%.'\":*?<>{}\\s]/g, '') : key).toLowerCase();\n                var translated = this.translate.instant(key);\n                if (_.isEqual(translated, key) || translated === '') {\n                    return this.sanitizer.bypassSecurityTrustHtml(defaultValue);\n                } else {\n                    return this.sanitizer.bypassSecurityTrustHtml(translated);\n                }\n            }\n        } catch (ex) {\n            return this.translate.instant(key);\n        }\n    }\n}","import {Directive, Input, HostBinding} from '@angular/core'\n@Directive({\n    selector: '[default]',\n    host: {\n      '(error)':'updateUrl()',\n      '(load)': 'load()',\n      '[src]':'src'\n     }\n  })\n  \n export class ImagePreloadDirective {\n     \n    @Input() src:string;\n    @Input() default:string;\n    @HostBinding('class') className;\n   \n    updateUrl() {\n      this.src = this.default;\n    }\n    load(){\n      this.className = 'image-loaded';\n    }\n  }","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'unique'\n})\nexport class UniquePipe implements PipeTransform {\n\ttransform(collection, keyname) {\n\t\tvar output = [];\n\t\tif (collection && collection.length > 0) {\n\t\t\tvar keys = [];\n\t\t\tcollection.forEach((item) => {\n\t\t\t\tvar key = item[keyname];\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\toutput.push(item);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn output;\n\t}\n}","export default \".bodyCheck {\\n  background-color: #ebebeb;\\n}\\n.bodyCheck #checkOut {\\n  max-width: 1365px;\\n  margin: auto;\\n  padding: 16px;\\n}\\n.bodyCheck #checkOut .main .mat-card {\\n  padding: 16px 0px 16px 0px;\\n}\\n.bodyCheck #checkOut .main .header {\\n  color: #5e5e5e;\\n  font-size: 23px;\\n}\\n.bodyCheck #checkOut .main .f-bold {\\n  font-weight: 700 !important;\\n  color: #5e5e5e;\\n  font-size: 13px;\\n}\\n.bodyCheck #checkOut .main .viewAddress {\\n  margin-bottom: 18px;\\n  font-style: normal;\\n  line-height: 1.42857143;\\n}\\n.bodyCheck #checkOut .main .editButton {\\n  color: #2196f3;\\n  font-size: 14px;\\n}\\n.bodyCheck #checkOut .main .applyButton .mat-button {\\n  color: #787878;\\n  font-size: 13px;\\n  background-color: #c6c6c6;\\n  padding: 0px 20px;\\n  margin: 15px 0px 0px 15px;\\n}\\n.bodyCheck #checkOut .main .coupon_error {\\n  top: 44px;\\n  position: absolute;\\n}\\n.bodyCheck #checkOut .main .borderBottom {\\n  border-bottom: 1px solid #cfcfcf;\\n}\\n.bodyCheck #checkOut .main .cart-items__header {\\n  border-bottom: 1px solid #c3c3c3;\\n  padding-bottom: 10px;\\n  text-transform: uppercase;\\n}\\n.bodyCheck #checkOut .main .order-total-summary {\\n  line-height: 25px;\\n}\\n.bodyCheck #checkOut .main .order-items-total {\\n  border-top: 1px solid #cfcfcf;\\n  padding-top: 15px;\\n}\\n.bodyCheck #checkOut .main .items {\\n  padding-bottom: 15px;\\n  margin-top: 15px !important;\\n}\\n.bodyCheck #checkOut .main .items .cart-items__images {\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  width: 90px;\\n  height: 90px;\\n  overflow: hidden;\\n  flex: 0 0 90px;\\n}\\n.bodyCheck #checkOut .main .items .cart-items__images img {\\n  border-radius: 0;\\n  width: 100%;\\n  height: auto;\\n  margin: 0;\\n  flex-shrink: 0;\\n  max-width: 70px;\\n  max-height: 70px;\\n}\\n.bodyCheck #checkOut .main .items .md-avatar:first-child,\\n.bodyCheck #checkOut .main .items .-inner > .md-avatar:first-child {\\n  border-radius: 0;\\n  width: 90px;\\n  height: 90px;\\n}\\n.bodyCheck #checkOut .main .items .md-secondary-container {\\n  top: 87%;\\n  font-size: 14px;\\n  font-weight: 500;\\n  color: rgba(0, 0, 0, 0.54);\\n  margin-bottom: 10px;\\n}\\n.bodyCheck #checkOut .main .items .input-group {\\n  width: 88px;\\n  line-height: 0;\\n  margin-top: 10px;\\n}\\n.bodyCheck #checkOut .main .items .input-group .input-group-btn button {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 30px;\\n  box-shadow: none;\\n}\\n.bodyCheck #checkOut .main .items .input-group .input-control {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 28px;\\n  text-align: center;\\n  color: #1c7bbf;\\n}\\n.bodyCheck #checkOut .main .items .md-button.remove-items {\\n  position: absolute;\\n  top: -10px;\\n  right: 0;\\n}\\n.bodyCheck #checkOut .main .items mat-divider {\\n  left: 50px;\\n  width: calc(\\\"100% - 50px\\\");\\n  bottom: -1px;\\n}\\n.bodyCheck #checkOut .main .itemName {\\n  color: #2196f3;\\n  font-size: 14px;\\n}\\n@media only screen and (max-width: 600px) {\\n  .bodyCheck #checkOut .backButtom .mat-button {\\n    width: 375px;\\n  }\\n}\\n.bodyCheck #checkOut .color-f-s-14 {\\n  color: #5e5e5e;\\n  font-size: 14px;\\n}\\n.bodyCheck #checkOut .p-l-r-15 {\\n  padding: 0px 15px;\\n}\\n.bodyCheck #checkOut .color2-f-s-14 {\\n  color: #777777;\\n  font-size: 14px;\\n}\\n.bodyCheck #checkOut .m-b-10 {\\n  margin-bottom: 10px !important;\\n}\\n.bodyCheck #checkOut ::ng-deep .autoShipSelect .mat-form-field-wrapper {\\n  padding-bottom: 0px;\\n}\\n.bodyCheck #checkOut ::ng-deep .autoShipSelect .mat-form-field-wrapper .mat-select-arrow {\\n  margin-bottom: 20px;\\n}\\n@media only screen and (min-width: 992px) {\\n  .bodyCheck #checkOut ::ng-deep .autoShipSelect .mat-form-field-wrapper .mat-form-field-flex {\\n    margin-bottom: -20px;\\n    height: 50px;\\n  }\\n  .bodyCheck #checkOut ::ng-deep .autoShipSelect .mat-form-field-wrapper .mat-select-arrow {\\n    margin-bottom: 38px;\\n  }\\n}\\n.bodyCheck #checkOut .p-t-16 {\\n  padding-top: 16px !important;\\n}\\n.bodyCheck #checkOut ::ng-deep .mat-radio-label-content {\\n  white-space: normal !important;\\n  color: #000000DE;\\n  font-size: 14px;\\n}\\n.bodyCheck #checkOut ::ng-deep .autoship_drp .mat-form-field-underline {\\n  bottom: 0.5em !important;\\n}\\n.bodyCheck #checkOut ::ng-deep .autoship_drp .mat-select-arrow-wrapper {\\n  top: 3px;\\n  position: relative;\\n}\\n.bodyCheck #checkOut .color-icon {\\n  color: rgba(0, 0, 0, 0.54) !important;\\n}\\n#checkOut .mat-standard-chip .mat-chip-remove {\\n  border: none;\\n  -webkit-appearance: none;\\n  -moz-appearance: none;\\n  padding: 0;\\n  background: none;\\n}\\n#checkOut .mat-standard-chip .mat-chip-remove.mat-icon, .mat-standard-chip .mat-chip-remove .mat-icon {\\n  width: 18px;\\n  height: 18px;\\n  font-size: 18px;\\n}\\n::ng-deep .mat-checkbox-checked.mat-primary .mat-checkbox-background {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n::ng-deep .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {\\n  background: var(--theme-deafult-secondary) !important;\\n}\\n::ng-deep .mat-checkbox, .mat-raised-button {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n.disp {\\n  top: 7px;\\n  position: relative;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NoZWNrb3V0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQUE7QUFDRjtBQUFFO0VBQ0UsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtBQUVKO0FBQU07RUFDRSwwQkFBQTtBQUVSO0FBQU07RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQUVSO0FBQU07RUFDRSwyQkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0FBRVI7QUFBTTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtBQUVSO0FBQU07RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQUVSO0FBQU07RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtBQUVSO0FBQU07RUFDRSxTQUFBO0VBQ0Esa0JBQUE7QUFFUjtBQUNNO0VBQ0UsZ0NBQUE7QUFDUjtBQUNNO0VBQ0UsZ0NBQUE7RUFDQSxvQkFBQTtFQUNBLHlCQUFBO0FBQ1I7QUFDTTtFQUNFLGlCQUFBO0FBQ1I7QUFDTTtFQUNFLDZCQUFBO0VBQ0EsaUJBQUE7QUFDUjtBQUNNO0VBQ0Usb0JBQUE7RUFDQSwyQkFBQTtBQUNSO0FBQ1E7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0FBQ1Y7QUFDVTtFQUNFLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQUNaO0FBR1E7O0VBRUUsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBQURWO0FBSVE7RUFDRSxRQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxtQkFBQTtBQUZWO0FBS1E7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0FBSFY7QUFLWTtFQUNFLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FBSGQ7QUFPVTtFQUNFLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBQUxaO0FBU1E7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0FBUFY7QUFVUTtFQUNFLFVBQUE7RUFDQSwwQkFBQTtFQUNBLFlBQUE7QUFSVjtBQVdNO0VBQ0UsY0FBQTtFQUNBLGVBQUE7QUFUUjtBQVlJO0VBQ0U7SUFDRSxZQUFBO0VBVk47QUFDRjtBQVlJO0VBQ0UsY0FBQTtFQUNBLGVBQUE7QUFWTjtBQVlJO0VBQ0UsaUJBQUE7QUFWTjtBQVlJO0VBQ0UsY0FBQTtFQUNBLGVBQUE7QUFWTjtBQVlJO0VBQ0UsOEJBQUE7QUFWTjtBQVlJO0VBQ0UsbUJBQUE7QUFWTjtBQVlNO0VBQ0UsbUJBQUE7QUFWUjtBQVlNO0VBQ0U7SUFDRSxvQkFBQTtJQUNBLFlBQUE7RUFWUjtFQVlNO0lBQ0UsbUJBQUE7RUFWUjtBQUNGO0FBYUk7RUFDRSw0QkFBQTtBQVhOO0FBYUk7RUFDRSw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtBQVhOO0FBYUk7RUFDRSx3QkFBQTtBQVhOO0FBY0k7RUFDRSxRQUFBO0VBQ0Esa0JBQUE7QUFaTjtBQWVJO0VBQ0UscUNBQUE7QUFiTjtBQWlCQTtFQUNFLFlBQUE7RUFDQSx3QkFBQTtFQUNBLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0FBZEY7QUFnQkE7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUFiRDtBQWVBO0VBQ0UsMkRBQUE7QUFaRjtBQWNBO0VBQ0EscURBQUE7QUFYQTtBQWNBO0VBQ0UsbURBQUE7QUFYRjtBQWFBO0VBQ0UsUUFBQTtFQUNBLGtCQUFBO0FBVkYiLCJmaWxlIjoiY2hlY2tvdXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYm9keUNoZWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgI2NoZWNrT3V0IHtcbiAgICBtYXgtd2lkdGg6IDEzNjVweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMTZweDtcbiAgICAubWFpbiB7XG4gICAgICAubWF0LWNhcmQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDBweCAxNnB4IDBweDtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgfVxuICAgICAgLmYtYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cbiAgICAgIC52aWV3QWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gICAgICB9XG4gICAgICAuZWRpdEJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjMjE5NmYzO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgICAuYXBwbHlCdXR0b24gLm1hdC1idXR0b24ge1xuICAgICAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjNmM2O1xuICAgICAgICBwYWRkaW5nOiAwcHggMjBweDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDBweCAwcHggMTVweDtcbiAgICAgIH1cbiAgICAgIC5jb3Vwb25fZXJyb3Ige1xuICAgICAgICB0b3A6IDQ0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgLmJvcmRlckJvdHRvbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZjZmNmO1xuICAgICAgfVxuICAgICAgLmNhcnQtaXRlbXNfX2hlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzNjM2MzO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIC5vcmRlci10b3RhbC1zdW1tYXJ5IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICB9XG4gICAgICAub3JkZXItaXRlbXMtdG90YWx7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2ZjZmNmO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICAgIC5pdGVtcyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgXG4gICAgICAgIC5jYXJ0LWl0ZW1zX19pbWFnZXMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBmbGV4OiAwIDAgOTBweDtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kLWF2YXRhcjpmaXJzdC1jaGlsZCxcbiAgICAgICAgLi1pbm5lciA+IC5tZC1hdmF0YXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kLXNlY29uZGFyeS1jb250YWluZXIge1xuICAgICAgICAgIHRvcDogODclO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgIHdpZHRoOiA4OHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pbnB1dC1jb250cm9sIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogIzFjN2JiZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWQtYnV0dG9uLnJlbW92ZS1pdGVtcyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBtYXQtZGl2aWRlciB7XG4gICAgICAgICAgbGVmdDogNTBweDtcbiAgICAgICAgICB3aWR0aDogY2FsYyhcIjEwMCUgLSA1MHB4XCIpO1xuICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLml0ZW1OYW1lIHtcbiAgICAgICAgY29sb3I6ICMyMTk2ZjM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLmJhY2tCdXR0b20gLm1hdC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2xvci1mLXMtMTQge1xuICAgICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC5wLWwtci0xNSB7XG4gICAgICBwYWRkaW5nOiAwcHggMTVweDtcbiAgICB9XG4gICAgLmNvbG9yMi1mLXMtMTQge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC5tLWItMTAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICA6Om5nLWRlZXAgLmF1dG9TaGlwU2VsZWN0IC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICBcbiAgICAgIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgfVxuICAgICAgICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gXG4gICAgLnAtdC0xNiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICA6Om5nLWRlZXAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwREU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIDo6bmctZGVlcCAuYXV0b3NoaXBfZHJwIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYm90dG9tOiAwLjVlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIDo6bmctZGVlcCAuYXV0b3NoaXBfZHJwIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY29sb3ItaWNvbiB7XG4gICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjU0KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuI2NoZWNrT3V0IC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgYm9yZGVyOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbiNjaGVja091dCAubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbiwgLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUgLm1hdC1pY29uIHtcbiB3aWR0aDogMThweDsgXG4gaGVpZ2h0OiAxOHB4OyBcbiBmb250LXNpemU6IDE4cHg7XG59XG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7XG5iYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gsLm1hdC1yYWlzZWQtYnV0dG9ue1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG4uZGlzcHtcbiAgdG9wOiA3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iXX0= */\";","export default \"<mat-sidenav-container fullscreen>\\n  <mat-sidenav [opened]=\\\"false\\\" mode=\\\"over\\\" #start class=\\\"sidenav\\\" *ngIf=\\\"!utilityService.isShowSimplifiedheader\\\">\\n    <div class=\\\"d-flex header p-5\\\" fxLayout=\\\"row\\\">\\n      <div class=\\\"move-left avtar\\\" fxFlex=\\\"10\\\" fxFlex.xs=\\\"15\\\" fxLayoutAlign=\\\"start center\\\">\\n        <img class=\\\"avtar\\\"\\n          [default]=\\\"'assets/img/user.png'\\\"\\n          [src]=\\\"userServiceModal.customerData.ImageUrl || userServiceModal.enrollerInfo.ImageUrl\\\" />\\n      </div>\\n      <div class=\\\"ds_userName\\\" fxFlex=\\\"35\\\"  fxLayoutAlign=\\\"start center\\\">\\n        <h2\\n          [textContent]=\\\"((userServiceModal.customerData.FirstName || userServiceModal.customerData.LastName)? welcmtext  :'') + ' ' + (userServiceModal.customerData.FirstName || userServiceModal.enrollerInfo.FirstName) + ' ' + (userServiceModal.customerData.LastName || userServiceModal.enrollerInfo.LastName)\\\"\\n          class=\\\"f-s-22 text-uppercase\\\"></h2>\\n      </div>\\n      <div fxLayoutAlign=\\\"end center\\\" fxFlex=\\\"55\\\"  fxLayoutAlign=\\\"end center\\\">\\n        <button mat-icon-button color=\\\"warn\\\" class=\\\"close\\\" (click)=\\\"start.close()\\\">\\n          <mat-icon color=\\\"warn\\\">close</mat-icon>\\n        </button>\\n      </div>\\n    </div>\\n    <div class=\\\"sidebar-items\\\" fxLayout=\\\"column\\\" class=\\\"p-16\\\">\\n      <app-sidebar *ngFor=\\\"let item of navItems\\\" [item]=\\\"item\\\" (click)=\\\"close(item)\\\" (close)=\\\"closed(val)\\\" ></app-sidebar>\\n    </div>\\n  </mat-sidenav>\\n  <!-- topbar start -->\\n  <mat-toolbar class=\\\"bgm-black\\\" *ngIf=\\\"!utilityService.isShowSimplifiedheader\\\">\\n    <mat-toolbar-row fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"top-bar p-5\\\">\\n      <div fxLayout=\\\"row\\\" class=\\\"welcome-message\\\" mat-button [matMenuTriggerFor]=\\\"enrollMenu\\\">\\n        <div class=\\\"widget-text\\\">\\n          <!-- Enroller Picture -->\\n          <div  class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n              <div>\\n                <a class=\\\"avtar\\\">\\n                <img style=\\\"height:45px;width:45px;\\\" [src]=\\\"userServiceModal.enrollerInfo.ImageUrl\\\" alt=\\\"companylogo\\\"\\n                  [default]=\\\"'assets/images/user.png'\\\">\\n               </a>\\n              </div>\\n              <div>\\n                <button mat-button class=\\\"p-5 c-white\\\">\\n                  <div class=\\\"shop_heading text-nonecase edb-space\\\" translate=\\\"you_r_shop_with\\\">\\n                  </div>\\n                  <span *ngIf=\\\"true\\\">\\n                  <span [ngStyle.lt-sm]=\\\"{'font-size.px': 12}\\\" class=\\\"text-uppercase f-500\\\" data-bind=\\\"label\\\">{{userServiceModal.enrollerInfo.FirstName}}\\n                    &nbsp;{{userServiceModal.enrollerInfo.LastName}}</span>\\n                    <mat-icon>arrow_drop_down</mat-icon>\\n                  </span>\\n              </button>\\n              </div>\\n          </div>\\n         \\n          <mat-menu #enrollMenu=\\\"matMenu\\\">\\n            <button  mat-menu-item routerLink=\\\"/contact\\\" >{{\\\"contact_\\\" | translate}}</button>\\n            <button *ngIf=\\\"!isLoggedIn()\\\" mat-menu-item (click)=\\\"navigateToChangeAffiliate();\\\">{{'market_change_affiliate'|\\n              translate}}</button>\\n          </mat-menu>\\n\\n        </div>\\n      </div>\\n      <div class=\\\"widgets-left\\\" fxLayout=\\\"row\\\">\\n        <div class=\\\"widget-text\\\" [matMenuTriggerFor]=\\\"menu\\\" *ngIf=\\\"!isLoggedIn()\\\">\\n          <button mat-button  class=\\\"c-white\\\">\\n            <div class=\\\"shop_heading text-nonecase edb-space\\\" translate=\\\"you_r_shopping_as\\\">\\n            </div>\\n            <span class=\\\"text-uppercase f-500 text-truncate customer_type\\\" [ngStyle.lt-sm]=\\\"{'font-size.px': 12}\\\" data-bind=\\\"label\\\">{{configService.commonSettings.CustomerTypes.Description}}</span>\\n              <mat-icon>arrow_drop_down</mat-icon>\\n          </button>\\n          <mat-menu #menu=\\\"matMenu\\\">\\n            <button *ngFor=\\\"let customerType of configService.commonSettings.CustomerTypes\\\" mat-menu-item\\n              (click)=\\\"changeCustomerType(customerType.ID)\\\">{{customerType.Description | translate}}</button>\\n          </mat-menu>\\n        </div>\\n        <div class=\\\"vl\\\"></div>\\n        <div class=\\\"widget-text m-t-10\\\" [matMenuTriggerFor]=\\\"langMenu\\\" #langMenuTrigger=\\\"matMenuTrigger\\\">\\n          <a class=\\\"flag-icon\\\" mat-button >\\n            <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+ configService.commonData.selectedCountry?.toLowerCase() +'.svg'\\\" width=\\\"18\\\">\\n            <span fxShow=\\\"false\\\" fxShow.gt-sm class=\\\"flag-menu-title c-white\\\">{{configService.commonData.selectedCountry | uppercase}} | {{configService.commonData.selectedLanguage | uppercase}}</span>\\n            <mat-icon class=\\\"mat-icon-sm caret cur-icon c-white\\\">arrow_drop_down</mat-icon>\\n          </a>\\n          <mat-menu #langMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\" class=\\\"app-dropdown\\\">\\n            <span *ngFor=\\\"let country of allowedCountries\\\">\\n              <button mat-menu-item (click)=\\\"updatecountry(country, lng.LanguageCode)\\\"\\n                *ngFor=\\\"let lng of country.CountryLanguages\\\">\\n                <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+country.CountryCode+'.svg'\\\"\\n                  width=\\\"18\\\"> {{country.CountryName}} | {{lng.LanguageName}}\\n              </button>\\n            </span>\\n          </mat-menu>\\n        </div>\\n      </div>\\n    </mat-toolbar-row>\\n  </mat-toolbar>\\n  <app-header (sildeMobileNavEvent)=\\\"sildeMobileNav($event)\\\" *ngIf=\\\"!utilityService.isShowSimplifiedheader\\\">\\n </app-header>\\n<router-outlet></router-outlet>\\n\\n  <app-footer></app-footer>\\n\\n</mat-sidenav-container>\";","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n  production: process.env.PRODUCTION,\n  apiUrl: process.env.API_URL,\n  productUrl: process.env.PRODUCT_URL,\n  imageUrl: process.env.IMAGE_URL,\n  clientExtensionAPI: process.env.CLIENT_EXTENSION_API,\n};\n// these are apis for live below\n// apiUrl: 'https://signupapi.thinkenergy.plus/',\n// productUrl: 'https://signupapi.thinkenergy.plus/',\n// imageUrl: 'https://energywell.corpadmin.directscale.com/CMS/Images/Inventory'\n\n//these are stage apis\n// apiUrl: 'https://energywellapi.ziplingo.com/',\n// productUrl: 'https://energywellapi.ziplingo.com/',\n// imageUrl: 'https://energywell.corpadmin.directscale.com/CMS/Images/Inventory'\n","import { Component, OnInit, ViewChild, Output, EventEmitter, AfterViewInit, OnDestroy } from '@angular/core';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CartService } from 'src/app/components/shared/services/cart.service';\nimport { SwiperDirective, SwiperConfigInterface } from 'ngx-swiper-wrapper';\n// import { ProductZoomComponent } from './product-zoom/product-zoom.component';\nimport { Cart1Service } from 'src/app/components/shared/services/cart1.service';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport * as _ from 'lodash';\nimport { ItemsListService } from 'src/app/components/shared/services/itemsList.service';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UtilityService } from 'src/app/components/shared/services/utility.service';\nimport { PersistentService } from 'src/app/components/shared/services/persistent.service';\nimport { AutoshipConfigurationService } from 'src/app/components/shared/services/autoshipConfiguration.service';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\nimport { environment } from 'src/environments/environment';\nimport { FlickityComponent } from 'src/app/components/pages/flickity/flickity.component';\nimport { ConfirmDialogComponent, ConfirmDialogModel } from 'src/app/components/shared/model/confirm-dialog/confirm-dialog.component';\n\n@Component({\n  selector: 'app-product-details',\n  templateUrl: './product-details.component.html',\n  styleUrls: ['./product-details.component.scss']\n})\nexport class ProductDetailsComponent implements OnInit, AfterViewInit, OnDestroy {\n  public config: SwiperConfigInterface = {};\n  @Output() onOpenProductDialog: EventEmitter<any> = new EventEmitter();\n\n  @ViewChild('zoomViewer', { static: true }) zoomViewer;\n  @ViewChild(SwiperDirective, { static: true }) directiveRef: SwiperDirective;\n\n  public product: any = {};\n  public products: any[] = [];\n  public allItems: { Category: any, CategoryId: any }[] = [];\n  public relatedProducts: any[] = [];\n  public orderOptions: any;\n  public image: any;\n  public zoomImage: any;\n  ezpModel: any = {};\n  event: any;\n  activeImage: any = '';\n  value: any = [];\n  defaultImage: any = {};\n  isOptionsSelected: boolean;\n  public counter: number = 1;\n  public OrderQuantityCount: any;\n  itemTypes: any = {};\n  index: number;\n  bigProductImageIndex = 0;\n  CartType: string;\n  itemType: string;\n  type: string;\n  ItemID: any;\n  isShowShareOptions: boolean;\n  panelOpenSpecification: boolean = false;\n  panelOpenAutoship: boolean = false;\n  healthBeautyProduct = [];\n  env: any;\n  constructor(\n    private titleService: Title,\n    private translate: TranslateService,\n    public configService: ConfigService,\n    private route: ActivatedRoute,\n    public productsService: ProductService,\n    public dialog: MatDialog,\n    private router: Router,\n    private cartService: CartService,\n    private cart1Service: Cart1Service,\n    public itemsService: ProductService,\n    public itemsListService: ItemsListService,\n    public activateroute: ActivatedRoute,\n    public utilityService: UtilityService,\n    public persistentService: PersistentService,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public companyService: CompanyService\n  ) {\n    // force route reload whenever params change;\n    this.route.params.subscribe(params => {\n      this.ItemID = +params['id'];\n      this.activateroute.queryParams.subscribe(queryparam => {\n        this.itemType = queryparam.itemtype || queryparam.itemType;\n        this.router.navigate(['.'], { relativeTo: this.route, queryParams: { itemtype: null, itemType: null }, replaceUrl: true });\n        window.scroll(0, 0);\n        this.productsService.getProduct(this.ItemID).subscribe(product => {\n          this.product = product ? [product] : [];\n          this.itemsService.selectedOrderItems.filter((x) =>{\n            if (x.ItemID == this.product[0].ItemID) {\n              this.product.Quantity = x.Quantity;\n            }\n          })\n          const dialogData = new ConfirmDialogModel(\n            this.translate.instant('update_product_title'),\n            this.translate.instant('update_product_text'),\n            this.product.length > 0 ? this.translate.instant('NO') : '',\n            this.product.length > 0 ? this.translate.instant('YES') : this.translate.instant('ok_btn')\n          );\n          if (this.product.length == 0) {\n            const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n              maxWidth: '400px',\n              data: dialogData\n            });\n            dialogRef.afterClosed().subscribe((dialogresult) => {\n              if (dialogresult) {\n                this.router.navigateByUrl('products/all');\n              }\n            })\n          }\n          this.OrderQuantityCount = product && product.Quantity ? product.Quantity : 1;\n          this.onItemsSucces(this.product);\n          this.setUpOrderOptions(this.product);\n        });\n      });\n      this.defaultImage = {\n        Path: 'assets/images/noimage.png',\n        Description: this.product ? this.product.Description : ''\n      };\n      this.CartType = this.itemType || 'order';\n      this.type = this.CartType;\n    });\n    this.itemTypes = {\n      pack: {\n        getItemsCall: 'GetEnrollmentKitItems',\n        itemQuantity: 'packQuantity',\n        cartItems: 'selectedPacks',\n        itemserviceCall: 'getPackItems'\n      },\n      order: {\n        getItemsCall: 'GetProducts',\n        itemQuantity: 'orderQuantity',\n        cartItems: 'selectedOrderItems',\n        itemserviceCall: 'getOrderItems'\n      },\n      autoship: {\n        getItemsCall: 'GetAutoshipItems',\n        itemQuantity: 'autoshipQuantity',\n        cartItems: 'selectedAutoOrderItems',\n        itemserviceCall: 'getAutoshipItems'\n      }\n    };\n    this.env = environment;\n  }\n\n  ngOnInit() {\n    // this.getAllProductsCategories();\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_productdetails') + ' | ' + text);\n    });\n    this.autoshipConfigurationService.init();\n    \n  }\n\n  ngAfterViewInit() {\n    this.config = {\n      observer: true,\n      direction: 'horizontal',\n      slidesPerView: 3,\n      spaceBetween: 10,\n      keyboard: true,\n      navigation: true,\n      pagination: false,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      breakpoints: {\n        480: {\n          slidesPerView: 1\n        },\n        740: {\n          slidesPerView: 2\n        },\n        960: {\n          slidesPerView: 3\n        },\n        1280: {\n          slidesPerView: 3\n        }\n      }\n    };\n  }\n\n  public onItemsSucces(result) {\n    this.itemType = this.type === 'order' ? 'order' : this.type == 'pack' ? 'pack' : 'autoship';\n    this.itemsService[this.itemType] = result.map((item) => {\n      item.Price = item.Price || item.Prices[0].Price;\n      return item;\n    });\n    this.itemsListService.products = this.itemsService[this.itemType];\n    this.itemsListService.type = this.type;\n    const selectedItem = this.product;\n    this.products = result.map((item) => {\n      item.Price = item.Price || item.Prices[0].Price;\n      return item;\n    });\n    if (selectedItem) {\n      this.products = _.filter(this.products, (product) => {\n        return product.ItemID != selectedItem.ItemID;\n      });\n    }\n    if (this.ItemID) {\n      let isItemExists = false;\n      _.each(result, (item) => {\n        if (item.HasOptions) {\n          _.each(item.OptionsMap, (value) => {\n            if (value.ItemId == this.ItemID) {\n              item.ItemID = this.ItemID;\n              return;\n            }\n          });\n        }\n        if (isNaN(this.ItemID) ? ((item.ProductName || '').toLowerCase().replace(/\\s/g, '') == this.ItemID.toLowerCase().replace(/\\s/g, '')) : (item.ItemID == this.ItemID)) {\n          isItemExists = true;\n          this.product = this.transformItem(item);\n          this.OrderQuantityCount = selectedItem ? (selectedItem.Quantity || 1) : 1;\n          item.Quantity = selectedItem ? (selectedItem.Quantity || 1) : 1;\n          localStorage.setItem('params.item', JSON.stringify(item));\n          localStorage.setItem('params.type', this.type);\n          localStorage.setItem('params.productList', JSON.stringify(this.products));\n        }\n      });\n      if (!isItemExists) {\n        this.router.navigate(['/Products']);\n      }\n    }\n  }\n  public transformItem(item) {\n    this.isShowShareOptions = false;\n    item.Price =\n      item.Price || item.Price === 0\n        ? item.Price\n        : item.Prices && item.Prices[0] && item.Prices[0].Price;\n    item.Images = item.Images || [];\n    if (item) {\n      Object.keys(item.Prices).forEach((p: any) => {\n        if (p.CurrencyCode && p.CurrencyCode.toLowerCase() === 'rwd' && p.Price > 0) {\n          item.UsePoints = true;\n        }\n      });\n    }\n    if (\n      item.LargeImageUrl &&\n      !_.find(item.Images, { Path: item.LargeImageUrl })\n    ) {\n      item.Images.unshift({\n        Description: item.Description,\n        Path: item.LargeImageUrl\n      });\n    } else if (item.Image && !_.find(item.Images, { Path: item.Image })) {\n      item.Images.unshift({\n        Description: item.Description,\n        Path: item.Image\n      });\n    }\n    this.isShowShareOptions = true;\n    return item;\n  }\n\n  public selectImage(index, image) {\n    this.bigProductImageIndex = index;\n  }\n\n  public increaseQuantity() {\n    if (this.OrderQuantityCount < 99) {\n      this.OrderQuantityCount++;\n    }\n  }\n\n  public decreaseQuantity() {\n    if (this.OrderQuantityCount > 1) {\n      this.OrderQuantityCount--;\n    }\n  }\n\n  getRelatedProducts(products) {\n    this.productsService.getRelatedProducts(products).subscribe((product: any[]) => {\n      this.relatedProducts = product['Data'];\n    });\n  }\n\n  // Add to cart\n  public addToCart(type, product: any) {\n    this.currentQuantity(type, product);\n    this.cart1Service.addToCart(\n      product,\n      true,\n      this.getItemCode(product), // product.Sku\n      type === 'autoship',\n      true,\n      type === 'pack',\n      false\n    );\n    this.product.Quantity = this.OrderQuantityCount;\n    localStorage.setItem('params.item', JSON.stringify(product));\n  }\n\n  public filterItemOptionID(type,product){\n    let optionMap = [];\n    product.OptionsMap.forEach((x) => {\n      optionMap.push(x.Key);\n    })\n    var selectoption = product.selectedOptions.replace('[', '').replace(']', '').split(',');\n    selectoption.forEach(element => {\n      optionMap.filter((x,index)=> {\n        if(!x.includes(element.trim())){\n          optionMap.splice(index,9999);\n        }\n      })\n    });\n    product.OptionsMap.filter((key)=>{\n      if (key.Key == optionMap[0]) {\n        // product.ItemID = key.ItemId;\n      }\n    })\n    this.addToCart(type,product);\n  }\n  // Add to cart\n  public buyNow(product: any, quantity) {\n    if (quantity > 0) {\n      this.cartService.addToCart(product, parseInt(quantity, 10));\n      this.router.navigate(['/checkout']);\n    }\n  }\n\n  public onMouseMove(e) {\n    if (window.innerWidth >= 1280) {\n      let image, offsetX, offsetY, x, y, zoomer;\n      image = e.currentTarget;\n      offsetX = e.offsetX;\n      offsetY = e.offsetY;\n      x = (offsetX / image.offsetWidth) * 100;\n      y = (offsetY / image.offsetHeight) * 100;\n      zoomer = this.zoomViewer.nativeElement.children[0];\n      if (zoomer) {\n        zoomer.style.backgroundPosition = x + '% ' + y + '%';\n        zoomer.style.display = 'block';\n        zoomer.style.height = image.height + 'px';\n        zoomer.style.width = image.width + 'px';\n      }\n    }\n  }\n\n  onMouseLeave(event) {\n    this.zoomViewer.nativeElement.children[0].style.display = 'none';\n  }\n\n  openZoomViewer() {\n   \n  }\n\n  getPrice(item, quantity) {\n    if (quantity < 1) {\n      this.OrderQuantityCount = 1;\n    }\n    return item ? (item.Price || (item.Prices && item.Prices[0].Price)) * quantity : 0;\n  }\n  checkOptions(option) {\n    let count = 0;\n    this.value.forEach((item) => {\n      if (item) {\n        count++;\n      }\n    });\n\n    this.isOptionsSelected = (count === option.length);\n  }\n  currentQuantity(type, item) {\n    type = type || this.itemType;\n    this.cart1Service[this.itemTypes[type].itemQuantity] =\n      this.cart1Service[this.itemTypes[type].itemQuantity] || {}; // TODO::check if needed\n    this.cart1Service[this.itemTypes[type].itemQuantity][this.getItemCode(item)] =\n      this.OrderQuantityCount;\n  }\n\n  setUpOrderOptions(item) {\n    if (!this.orderOptions) {\n      this.orderOptions = {};\n    }\n\n    const dict = this.orderOptions;\n\n    // If editing an item with selected customizations, find them and set the dropdowns\n    let optionsMap;\n    _.each(item.OptionsMap, (val) => {\n      val.OptionNames = val.Key.split('|');\n    });\n    if (item.selectedOptions) {\n      item.OptionsMap.some(optMap => {\n        if (optMap.ItemId === (item.KitCustomItemCode || item.ItemID)) {\n          optionsMap = optMap.OptionNames;\n          return true;\n        }\n        return false;\n      });\n    }\n\n    // Otherwise, default to the first options map\n    const optionMapNames = item.OptionsMap\n      ? item.OptionsMap.map(optMap => {\n        return optMap.OptionNames;\n      })\n      : [];\n\n    if (!item.selectedOptions || !optionsMap) {\n      optionsMap = optionMapNames[0];\n    }\n\n    // Loop through the OptionsMap\n    let optionVal;\n    let optionValues;\n    for (const index in optionsMap) {\n      if (optionsMap.hasOwnProperty(index)) {\n        optionVal = optionsMap[index];\n        // For each option in the OptionsMap, loop through the ItemOptions\n        for (const itemIndex in item.ItemOptions) {\n          // Get all the values of the ItemOption\n          if (item.ItemOptions.hasOwnProperty(itemIndex)) {\n            optionValues = item.ItemOptions[itemIndex].Values.map(\n              getOptionValueName\n            );\n            // If one of them is the value from the OptionsMap, use it\n            const option = item.ItemOptions[itemIndex];\n            if (\n              !!~optionValues.indexOf(optionVal) &&\n              !dict[this.getOrderOptionKey(item, option)]\n            ) {\n              dict[this.getOrderOptionKey(item, option)] = optionVal;\n              break;\n            }\n          }\n        }\n      }\n    }\n\n    function getOptionValueName(val) {\n      return val.Option;\n    }\n  }\n\n  // change active image\n  setActiveImage(image) {\n    this.ezpModel = {\n      small: image.Path || this.defaultImage.Path,\n      large: image.Path || this.defaultImage.Path\n    };\n    setTimeout(() => {\n      this.activeImage = image;\n    }, 1);\n  }\n\n  selectOption(item, option, value, isKitItem) {\n    option.selected = value.Option;\n    this.orderOptions[this.getOrderOptionKey(item, option)] = value.Option;\n    const tempOptData = [];\n    Object.keys(this.orderOptions).forEach(optdata => {\n      tempOptData.push(optdata);\n    }),\n      item.OptionsMap.forEach(itemOptdata => {\n        if (\n          JSON.stringify(tempOptData.sort()) ===\n          JSON.stringify(itemOptdata.OptionNames.sort())\n        ) {\n          let tempimgurl = item.SmallImageUrl;\n          if (itemOptdata.Image) {\n            tempimgurl = item.SmallImageUrl.substr(\n              0,\n              item.SmallImageUrl.lastIndexOf('/')\n            ).concat(itemOptdata.Image);\n          }\n          const tempimage = {\n            Path: tempimgurl\n          };\n          this.setActiveImage(tempimage);\n        }\n      });\n      // item.OptionsMap.filter((itemOptdata) => {\n        this.itemsService.selectedOrderItems.filter((item) =>{\n          item.ItemOptions.filter((i) => {\n            if (i.selected == option.selected) {\n              this.OrderQuantityCount = item.Quantity;\n            }\n          })\n        })\n      // })\n      \n    if (isKitItem) {\n      item.KitCustomItemCode = this.getItemCode(item);\n    }\n  }\n\n  setInitialItemOption(option, value) {\n    const defaultOption =\n      this.orderOptions[this.getOrderOptionKey(this.product, option)] ||\n      option.Option;\n    if (value.Option === defaultOption) {\n      option.selected = value.Option;\n    }\n  }\n\n  getOrderOptionKey(item, option) {\n    return item.ItemID + '__' + option.Option;\n  }\n\n  // Determine what values are available based on what's already been selected\n  getValidValues(item, option, values) {\n    // Get the already-selected option values (except this one and values from other items)\n    const currentOption = this.getOrderOptionKey(item, option);\n    const otherOptions = [];\n    for (const key in this.orderOptions) {\n      if (\n        key === currentOption ||\n        item.ItemID.toString() !== key.split('__')[0]\n      ) {\n        continue;\n      }\n      otherOptions.push(this.orderOptions[key]);\n    }\n    // Whittle down the OptionMaps to the ones that have all the already-selected options\n    const optionMapNames = item.OptionsMap\n      ? item.OptionsMap.map(optMap => {\n        return optMap.OptionNames;\n      })\n      : [];\n    const validOptionMaps = optionMapNames.filter(optNames => {\n      // For each OptionMap, ensure that it contains all the other selected options\n      let optionValue1;\n      for (const index in otherOptions) {\n        if (otherOptions.hasOwnProperty(index)) {\n          optionValue1 = otherOptions[index];\n          if (~optNames.indexOf(optionValue1)) {\n            continue;\n          }\n          return false;\n        }\n      }\n      return true;\n    });\n\n    // Union the validOptionMaps\n    const validOptionValues = validOptionMaps.reduce((arr, optMap) => {\n      let optionName;\n      for (const index in optMap) {\n        if (optMap.hasOwnProperty(index)) {\n          optionName = optMap[index];\n          if (!~arr.indexOf(optionName)) {\n            arr.push(optionName);\n          }\n        }\n      }\n      return arr;\n    }, []);\n\n    // Set `isAvailable: true` on each option that can be found in validOptionNames, and `isAvailable: false` on the others\n    let optionValue;\n    for (const index in values) {\n      if (values.hasOwnProperty(index)) {\n        optionValue = values[index];\n        optionValue.isAvailable = !!~validOptionValues.indexOf(\n          optionValue.Option\n        );\n      }\n    }\n\n    // return the original values\n    return values.filter(itm => {\n      return itm.isAvailable;\n    });\n  }\n\n  getOptionsText(optionValArray) {\n    return '[' + optionValArray.join(', ') + ']';\n  }\n\n  getItemCode(item) {\n    // If there are no customizations, just return the item code\n    if (!item.ItemOptions || !item.ItemOptions.length || !item.HasOptions) {\n      return this.product.ItemID;\n    }\n\n    // If there are customizations, find the right OptionsMap and use its code\n    const optionValues = [];\n    for (const key in this.orderOptions) {\n      if (\n        !this.orderOptions.hasOwnProperty(key) ||\n        item.ItemID.toString() !== key.split('__')[0]\n      ) {\n        continue;\n      }\n\n      optionValues.push(this.orderOptions[key]);\n    }\n\n    optionValues.sort();\n\n    item.selectedOptions = this.getOptionsText(optionValues);\n\n    if (item.HasKitOptions) {\n      item.KitGroups.forEach(kitGroup => {\n        kitGroup.Items.forEach(this.getItemCode);\n      });\n    }\n\n    let mapping;\n    for (const index in item.OptionsMap) {\n      if (item.OptionsMap.hasOwnProperty(index)){\n        mapping = item.OptionsMap[index];\n        mapping.OptionNames.sort();\n        if (_.isEqual(optionValues, mapping.OptionNames)) {\n          return mapping.ItemId;\n        }\n      }\n    }\n\n    throw new Error(\n      'Error: ' +\n      item.ProductName +\n      ' does not have a mapping for ' +\n      optionValues.toString() +\n      '.'\n    );\n  }\n\n  openSelect(event) {\n    this.event = event || this.event;\n    // this is due to select input fields are not consistant in some browser\n    if (window.screen.availWidth < 600 && !event) {\n      setTimeout(() => {\n       }, 100);\n    }\n  }\n\n  hideAddToCart(item, isAutoShip = false) {\n    if (!this.utilityService.isEmptyObject(item)) {\n      const itemId = this.getItemCode(item);\n      let isOrderAllow = false;\n      if (item.OptionsMap?.length > 0 && isAutoShip) {\n        _.each(item.OptionsMap, (value) => {\n          if (value.ItemId == itemId) {\n            if (isAutoShip) {\n              isOrderAllow = item.AllowAutoship; // ? value.AllowAutoship : false;\n            } else {\n              isOrderAllow = value.isAllowOrder;\n            }\n\n          }\n        });\n      } else if (isAutoShip) {\n        return item.AllowAutoship;\n      } else {\n        return item.isAllowOrder;\n      }\n      return isOrderAllow;\n    }\n  }\n  selectedCategory;\n  getAllProductsCategories() {\n    this.selectedCategory = { CategoryId: 'all' };\n    this.productsService.getProductByCategory(this.selectedCategory).subscribe(products => {\n      this.productsService.orders = products.map((item) => {\n        item.Price = item.Price || (item.Prices && item.Prices[0] && item.Prices[0].Price);\n        return item;\n      });\n\n      const uniqueItems = _.uniqBy(products, x => x.CategoryId);\n      let uniqueRequireProduct = [];\n      if(this.configService.localSettings.Global.CategoriesToFetch?.length > 0) {\n        uniqueItems.filter((x) => {\n          if (this.configService.localSettings.Global.CategoriesToFetch.indexOf(x.Category) > -1) {\n            uniqueRequireProduct.push(x);\n          }\n        })\n      }\n      else {\n        uniqueRequireProduct = [...uniqueItems];\n      }\n      this.itemsListService.selectedCategories = {};\n      if (this.selectedCategory.Category == 'all') {\n        this.itemsListService.selectedCategories['all'] = true;\n      }\n      this.itemsListService.categoryList = _.map(uniqueRequireProduct, (object) => {\n        return _.pick(object, ['CategoryId', 'Category']);\n      });\n      this.itemsListService.products = this.productsService.orders;\n      this.itemsListService.type = 'order';\n      this.itemsListService.getItemsByCategory(this.selectedCategory.Category);\n\n      this.products = this.itemsListService.productList.slice(0.8);\n      this.allItems = this.itemsListService.categoryList;\n      this.healthBeautyProducts();\n    });\n  }\n  healthBeautyProducts() {\n    this.itemsListService.getItemsByCategory(this.allItems[0].Category);\n    this.healthBeautyProduct = this.itemsListService.productList.slice(0, 3);\n  }\n  addProduct(item) {\n    if (item.ItemOptions.length > 0) {\n      this.router.navigate(['/product', item.ItemID]);\n    }else{\n      this.OrderQuantityCount = item && item.Quantity ? item.Quantity : 1;\n      if (this.cart1Service['orderQuantity'][item.ItemID] >= 1) {\n        this.increaseQuantiy('order', item)\n      } else {\n        this.cart1Service['orderQuantity'][item.ItemID] = this.OrderQuantityCount;\n        this.cart1Service.addToCart(item, true, item.ItemID, false, false, false, true);\n  \n      }\n    }\n  }\n  increaseQuantiy(type, item) {\n    this.cart1Service.increaseQuantiy(item, type == 'autoship', type == 'pack');\n    // this.updateQuantity(type, item, undefined);\n  }\n  mouseEnter(index) {\n    document.getElementById('btn' + index).classList.add(\"faded-in\")\n    document.getElementById('btn' + index).classList.remove(\"faded-out\")\n    setTimeout(() => {\n      document.getElementById('btn' + index).style.opacity = \"1\";\n      // document.getElementById('product'+index).style.opacity = \"0\"\n      // document.getElementById('products'+index).style.opacity = \"1\"\n    }, 590);\n\n  }\n  mouseOut(index) {\n    document.getElementById('btn' + index).classList.add(\"faded-out\")\n    //  document.getElementById('product'+index).classList.remove(\"productIn\")\n    // if (index < 3) {\n    //   (<HTMLImageElement>document.getElementById('product'+index)).src = this.productImages[index].url;\n    // } else if(index < 10){\n    //   (<HTMLImageElement>document.getElementById('product'+index)).src = this.mensProduct[(index-4)].url;\n    // }else{\n    //   (<HTMLImageElement>document.getElementById('product'+index)).src = this.newProduct[(index-10)].url;\n\n    // }\n    setTimeout(() => {\n      document.getElementById('btn' + index).style.opacity = \"0\";\n      // document.getElementById('products'+index).style.opacity = \"0\"\n      // document.getElementById('product'+index).style.opacity = \"1\"\n    }, 590);\n    document.getElementById('btn' + index).classList.remove(\"faded-in\")\n\n\n  }\n  goToShop(id) {\n    this.router.navigate(['/product', id]);\n    window.scroll(0, 0);\n  }\n  goToslider(id) {\n    this.dialog.open(FlickityComponent, {\n      data: { id: id },\n      disableClose: true,\n      panelClass: 'slider-dialog',\n    });\n    // this.router.navigate(['/item',id ]);\n  }\n  ngOnDestroy() {\n    this.OrderQuantityCount = 1;\n    this.cart1Service.resetItemQuantities();\n  }\n}\n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { Product } from 'src/app/modals/product.model';\nimport { UserService } from 'src/app/components/shared/services/user.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { UtilityService } from 'src/app/components/shared/services/utility.service';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\nimport { ShoppingCartService } from 'src/app/components/shared/services/shopping-cart.service';\n\n@Component({\n  selector: 'app-product-vertical',\n  templateUrl: './product-vertical.component.html',\n  styleUrls: ['./product-vertical.component.scss']\n})\nexport class ProductVerticalComponent implements OnInit {\n  contentLoaded = false;\n  userService: UserServiceModal;\n @Input() products: Array<DSProduct>;\n\n  constructor(\n    public configService: ConfigService,\n    private productService: ProductService,\n    public user: UserService,\n    public utilityService: UtilityService,\n    public companyService: CompanyService,\n    public shoppingCartService: ShoppingCartService\n    ) {\n    this.userService = user.userServiceModal;\n  }\n\n  ngOnInit() {\n    const request = {\n      CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n      LanguageCode: this.configService.commonData.selectedLanguage || 'en',\n      RegionID: 1,\n      PriceGroup: this.userService.customerTypeID,\n      StoreID: this.shoppingCartService.getShoppingCart(1)[0].StoreID,\n      CategoryId: 0\n    };\n    this.productService.getProducts(request)\n    .subscribe (product =>\n    this.products = product\n    );\n    setTimeout(() => {\n      this.contentLoaded = true;\n    }, 3000);\n  }\n  isEmptyObject(obj) {\n    return (obj && (Object.keys(obj).length === 0));\n  }\n\n}\n","export default \"<mat-card id=\\\"autoshipEditor\\\">\\n  <mat-card-content>\\n    <div fxLayout=\\\"column\\\">\\n      <div fxLayout=\\\"row\\\" fxLayout.lt-lg=\\\"column\\\" fxFlex=\\\"100\\\" class=\\\"main\\\">\\n        <div fxFlex=\\\"49\\\" fxLayout=\\\"column\\\" class=\\\"p-r-15\\\">\\n          <div fxLayout=\\\"row\\\" class=\\\"text-uppercase  borderBottom\\\">\\n            <div fxFlex=\\\"70\\\" class=\\\"color-f-s-14\\\">\\n              <span translate=\\\"autoshiip\\\"></span>\\n              <span [textContent]=\\\"''+persistentService?.retailData?.CurrentSelectedAutoOrder\\\"></span>\\n            </div>\\n            <div fxFlex=\\\"10\\\" class=\\\"text-center color-f-s-14\\\" translate=\\\"global_pv\\\"></div>\\n            <div fxFlex=\\\"20\\\" class=\\\"text-right color-f-s-14\\\" translate=\\\"price\\\"></div>\\n          </div>\\n          <div fxLayout=\\\"row\\\" class=\\\"items m-t-5 md-no-proxy mx-height-30 _md borderBottom1\\\"\\n            *ngFor=\\\"let item of itemsService.selectedAutoOrderItems, let i = index\\\">\\n            <div fxLayout=\\\"row\\\" fxFlex=\\\"70\\\">\\n              <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                <img class=\\\"img-avatar\\\"\\n                  [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + item.ImageUrl\\\"\\n                  [default]=\\\"'assets/images/noimage.png'\\\">\\n              </div>\\n              <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\" fxFlex=\\\"55\\\">\\n                <h3 class=\\\"product_detail_text itemName\\\" matTooltip=\\\"Ignite Plumping Lip Gloss\\\"\\n                  [textContent]=\\\"(item.ItemName || item.ProductName) | slice:0:40\\\"></h3>\\n                <span class=\\\"product_detail_text\\\" [textContent]=\\\"item.selectedOptions\\\"></span>\\n                <div fxLayout=\\\"row\\\" class=\\\"\\\">\\n                  <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon class=\\\"\\\" type=\\\"button\\\"\\n                        (click)=\\\"cart1Service.decreaseQuantiy(item,true,false)\\\">\\n                        <mat-icon class=\\\"c-gray\\\">remove</mat-icon>\\n                      </button>\\n                    </span>\\n                    <input type=\\\"text\\\" class=\\\"input-control\\\" maxlength=\\\"2\\\"\\n                      [(ngModel)]=\\\"getQuantityModel('autoship',item)[item.ItemID]\\\" validate inputonlynumber=\\\"true\\\"\\n                      (change)=\\\"checkQuantity('autoship', item)\\\"\\n                      (keyup)=\\\"($event.which === 38) ? cart1Service.increaseQuantiy(item, true, false) : 0\\\"\\n                      (keydown)=\\\"($event.which === 40) ? cart1Service.decreaseQuantiy(item, true, false) : 0\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon class=\\\"\\\" type=\\\"button\\\"\\n                        (click)=\\\"cart1Service.increaseQuantiy(item,true,false)\\\">\\n                        <mat-icon class=\\\"c-gray\\\">add</mat-icon>\\n                      </button>\\n                    </span>\\n                  </div>\\n                  <div fxLayout=\\\"row\\\" class=\\\"actionButton\\\">\\n                    <!-- Edit item -->\\n                    <button mat-button class=\\\"\\\" waves=\\\"circle\\\" type=\\\"button\\\"\\n                      (click)=\\\"cart1Service.showProductDetail(item, true, item.HasOptions, false, true)\\\">\\n                      <mat-icon class=\\\"c-gray\\\">edit</mat-icon>\\n                    </button>\\n                    <!-- Delete item -->\\n                    <button mat-button class=\\\"\\\" waves=\\\"circle\\\" type=\\\"button\\\" (click)=\\\"deleteItem(item)\\\">\\n                      <mat-icon class=\\\"c-gray\\\">delete</mat-icon>\\n                    </button>\\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n            <div fxFlex=\\\"10\\\" fxLayoutAlign=\\\"center start\\\">\\n              <span class=\\\"color-f-s-14\\\" [textContent]=\\\"item.Quantity * (item.BusinessVolume || item.PV || item.CV || 0)\\\"></span>\\n            </div>\\n            <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"end start\\\">\\n              <span class=\\\"color-f-s-14\\\" [textContent]=\\\"(item.Price | currency: companyService.selectedCurrency.CurrencyCode)\\\"></span>\\n            </div>\\n          </div>\\n          <div>\\n            <div class=\\\"p-t-10 p-b-10 borderBottom1\\\" fxFlex='100' fxLayout=\\\"row\\\">\\n              <div class=\\\"text-right\\\" fxFlex=\\\"60\\\"><span translate>sub_total</span>:</div>\\n              <div class=\\\"text-right\\\" fxFlex=\\\"20\\\">\\n                <strong>\\n                  <span class=\\\"m-r-15\\\" data-text=\\\"discount-total \\\"\\n                    [textContent]=\\\"orderService.autoorderBusinessVolume\\\"></span>\\n                </strong>\\n              </div>\\n              <div class=\\\"text-right\\\" fxFlex=\\\"20\\\">\\n                <strong>\\n                  <span data-text=\\\"taxtotal\\\"\\n                    [textContent]=\\\"(orderService.calculateAutoOrderResponse.SubTotal | currency: companyService.selectedCurrency.CurrencyCode)\\\"></span>\\n                </strong>\\n              </div>\\n            </div>\\n          </div>\\n          <div>\\n            <div class=\\\"p-t-10 p-b-10\\\" fxFlex='100' fxLayout=\\\"row\\\">\\n              <div class=\\\"text-right\\\" fxFlex=\\\"60\\\"> {{'global_total'|translate}} :</div>\\n              <div class=\\\"text-right\\\" fxFlex=\\\"40\\\">\\n                <strong>\\n                  <span data-text=\\\"subtotal\\\"\\n                    [textContent]=\\\"(orderService.calculateAutoOrderResponse.Total | currency: companyService.selectedCurrency.CurrencyCode)\\\"></span>\\n                </strong>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n        <div fxFlex=\\\"2\\\" class=\\\"borderLeft\\\">\\n        </div>\\n        <div fxFlex=\\\"49\\\" class=\\\"padding-t-20\\\">\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n            <div class=\\\"borderBottom\\\" fxFlex=\\\"5\\\">\\n              <span class=\\\"color-f-s-17\\\" translate=\\\"shipping_payment\\\"></span>\\n            </div>\\n            <div fxLayout=\\\"row\\\" class=\\\"borderBottom1\\\" fxFlex=\\\"95\\\">\\n              <div class=\\\"m-t-10\\\">\\n                <mat-icon class=\\\"c-gray\\\">access_time</mat-icon>\\n              </div>\\n              <div class=\\\"flex-grow p-l-15 m-t-10 m-b-10\\\">\\n                <div *ngIf=\\\"!IsMultipleFrequency\\\" class=\\\"f-s-12 c-black87 text-uppercase color-f-s-12\\\"\\n                  translate=\\\"frequency\\\"></div>\\n                <div *ngIf=\\\"IsMultipleFrequency\\\" class=\\\"f-s-12 c-black87 text-uppercase color-f-s-12\\\"\\n                  translate=\\\"Date Picker\\\"></div>\\n                  <!-- <div [textContent]=\\\"getAutoshipStartDate() | date: 'MMMM d, yyyy'\\\"><span><mat-icon class=\\\"c-gray\\\">edit</mat-icon></span>\\n                  </div> -->\\n                  <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"start center\\\">\\n                    <div [textContent]=\\\"getAutoshipStartDate() | date: 'MMMM d, yyyy'\\\">\\n                    </div>\\n                    <div>\\n                      <mat-icon class=\\\"c-gray cursor-pointer\\\" (click)=\\\"picker.open()\\\">edit</mat-icon>\\n                    </div>\\n                  </div>  \\n                <div *ngIf=\\\"!IsMultipleFrequency\\\" [textContent]=\\\"getAutoshipFrequency() | translate\\\"></div>\\n                <!-- Multiple Frequency -->\\n                <div fxLayout=\\\"row\\\">\\n                  <div class=\\\"p-0\\\" *ngIf=\\\"IsMultipleFrequency\\\">\\n                    <div class=\\\"f-s-12 c-black87 text-uppercase p-0 color-f-s-12\\\" translate=\\\"frequency\\\"></div>\\n                    <div class=\\\"p-0\\\">\\n                      <mat-form-field fxFlex=\\\"100\\\">\\n                        <mat-select frequencychecksection=\\\"true\\\" [(ngModel)]=\\\"frequencyTypeID\\\"\\n                          (selectionChange)=\\\"setFrequency(frequencyTypeID);\\\" aria-label=\\\"frequency\\\">\\n                          <mat-option *ngFor=\\\"let freq of commonData.FrequencyTypes\\\" [value]=\\\"freq.ID\\\" translate=\\\"\\\">\\n                            {{freq.Description | translate}} </mat-option>\\n                        </mat-select>\\n                      </mat-form-field>\\n                    </div>\\n                  </div>\\n                  <div fxLayoutAlign=\\\"center center\\\">\\n                    <mat-form-field appearance=\\\"none\\\" fxFlex>\\n                       <!-- <mat-label fxHide>Choose a date</mat-label> -->\\n                       <input matInput [matDatepicker]=\\\"picker\\\" [(ngModel)]=\\\"autoshipConfigurationService.autoshipDate\\\" [min]=\\\"AutoshipMinDate\\\"\\n                         [max]=\\\"AutoshipMaxDate\\\" disabled (dateChange)=\\\"editAutoshipFrequency($event);\\\" fxHide>\\n                       <mat-datepicker-toggle style=\\\"display: none;\\\" matSuffix [for]=\\\"picker\\\">\\n                         <mat-icon class=\\\"c-gray\\\" matDatepickerToggleIcon fxHide>keyboard_arrow_down </mat-icon>\\n                       </mat-datepicker-toggle>\\n                       <mat-datepicker #picker disabled=\\\"false\\\" [startAt]=\\\"autoshipConfigurationService.autoshipDate\\\"></mat-datepicker>\\n                     </mat-form-field>\\n                 </div>\\n                </div>\\n              </div>\\n            </div>\\n            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"borderBottom1\\\">\\n              <div class=\\\"m-t-10\\\" fxFlex=\\\"5\\\">\\n                <mat-icon class=\\\"c-gray\\\">local_shipping</mat-icon>\\n              </div>\\n              <div class=\\\"flex-grow p-l-15 m-t-10 m-b-10\\\" fxFlex=\\\"50\\\">\\n                <div id=\\\"shipmethods\\\">\\n                  <div class=\\\"f-s-12 c-black87 text-uppercase color-f-s-12\\\" translate=\\\"shipping_method\\\"></div>\\n                  <div [textContent]=\\\"getShipMethodName()\\\" translate></div>\\n                </div>\\n              </div>\\n              <!-- Edit shipping frequency -->\\n              <div class=\\\"editButton\\\" fxLayoutAlign=\\\"end start\\\" fxFlex=\\\"45\\\">\\n                <a class=\\\"text-uppercase c-color1 m-t-10\\\" (click)=\\\"editAutoshipShippingMethod()\\\"\\n                  translate=\\\"global_edit\\\"></a>\\n              </div>\\n            </div>\\n            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"borderBottom1\\\">\\n              <div class=\\\"m-t-10\\\" fxFlex=\\\"5\\\">\\n                <mat-icon class=\\\"c-gray\\\"> location_on</mat-icon>\\n              </div>\\n              <div class=\\\"flex-grow p-l-15 m-t-10 m-b-10\\\" fxFlex=\\\"50\\\">\\n                <h5 class=\\\"f-s-12 c-black87 text-uppercase p-0 color-f-s-12\\\" translate=\\\"shipping_address_lower\\\"></h5>\\n                <div class=\\\"view-shippingaddress\\\" flex fxLayout=\\\"row\\\">\\n                  <address class=\\\"color-f-s-14\\\"\\n                    *ngIf=\\\"!isStateRestrict && !utilityService.isEmptyObject(userService.shippingAddress)\\\">\\n                    <span [textContent]=\\\"userService.shippingAddress.Street1\\\"></span>\\n                    <br>\\n                    <span [textContent]=\\\"userService.shippingAddress.Street2\\\"></span>\\n                    <br>\\n                    <span [textContent]=\\\"userService.shippingAddress.City\\\"></span>\\n                    <span [textContent]=\\\"userService.shippingAddress.Region\\\"></span>\\n                    <span [textContent]=\\\"userService.shippingAddress.PostalCode\\\"></span>\\n                  </address>\\n                </div>\\n              </div>\\n              <!-- Edit shipping frequency -->\\n              <div class=\\\"editButton\\\" fxLayoutAlign=\\\"end start\\\" fxFlex=\\\"45\\\">\\n                <button *ngIf=\\\"isStateRestrict || utilityService.isEmptyObject(userService.shippingAddress)\\\"\\n                  class=\\\"btn bgm-color2 m-l-0 text-uppercase c-color1 m-t-10\\\" mat-button\\n                  (click)=\\\"editAutoshipShippingAddress()\\\">{{'add_address' | translate}}</button>\\n                <a class=\\\"text-uppercase c-color1 m-t-10\\\"\\n                  *ngIf=\\\"!isStateRestrict && !utilityService.isEmptyObject(userService.shippingAddress)\\\"\\n                  (click)=\\\"editAutoshipShippingAddress()\\\" translate=\\\"global_edit\\\"></a>\\n              </div>\\n            </div>\\n            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n              <div fxFlex=\\\"5\\\" class=\\\"m-t-10\\\">\\n                <mat-icon class=\\\"c-gray\\\">credit_card</mat-icon>\\n              </div>\\n              <div fxFlex=\\\"95\\\" fxLayout=\\\"column\\\" class=\\\"flex-grow p-l-15 m-t-10 m-b-10\\\">\\n                <div>\\n                  <span class=\\\"\\\" translate=\\\"shop_payment_new\\\"></span>\\n                </div>\\n                <div>\\n                  <mat-form-field fxFlex>\\n                    <mat-label *ngIf=\\\"userService.paymentMethods.length > 0 && !userService.isPaymentChanged\\\"\\n                      [textContent]=\\\"getDisplayValue()\\\">\\n                    </mat-label>\\n                    <mat-label *ngIf=\\\"userService.paymentMethods.length == 0\\\" translate=\\\"unified_add_payment_method\\\">\\n                    </mat-label>\\n                    <mat-select>\\n                      <mat-select-trigger>\\n                        <span *ngIf=\\\"userService.paymentMethods.length > 0\\\" [textContent]=\\\"getDisplayValue()\\\"></span>\\n                      </mat-select-trigger>\\n                      <ng-container *ngIf=\\\"paymentService.PaymentTypeResponse['SaveMethods']\\\">\\n                        <mat-option *ngFor=\\\"let paymentMethod of paymentService.PaymentTypeResponse['SaveMethods']\\\"\\n                          value=\\\"Credit Card\\\" (click)=\\\"addSavePayment(paymentMethod);\\\" class=\\\"c-color1\\\"\\n                          [attr.merchant_id]=\\\"paymentMethod.MerchantId\\\" translate>\\n                          <mat-icon class=\\\"p-r-10\\\">credit_card</mat-icon>\\n                          <span style=\\\"cursor: pointer\\\">\\n                            <span [textContent]=\\\"getPaymentDescription(paymentMethod)\\\"></span>\\n                            <span> {{'_exp'|translate}}&nbsp;&nbsp; <span\\n                                [textContent]=\\\"paymentMethod.Expires | date:'MM/yyyy'\\\"></span>\\n                            </span>\\n                          </span>\\n                          <span class=\\\"multipay__dropdown-list__filler\\\"></span>\\n                          <button mat-icon-button class=\\\"btn-icon btn-icon--small btn-link\\\" (click)=\\\"removeCardDetail(paymentMethod);\\\">\\n                            <mat-icon class=\\\"p-r-10\\\">delete</mat-icon>\\n                          </button>\\n                        </mat-option>\\n                      </ng-container>\\n                      <ng-container *ngIf=\\\"paymentService.PaymentTypeResponse['AllowedMethods']\\\">\\n                        <mat-option *ngFor=\\\"let addpayments of paymentService.PaymentTypeResponse['AllowedMethods']\\\"\\n                          value=\\\"Credit Card\\\" (click)=\\\"addSavePayment(addpayments);\\\" class=\\\"c-color1\\\"\\n                          [attr.merchant_id]=\\\"addpayments.MerchantId\\\"\\n                          [innerHTML]=\\\"addpayments.DisplayName | paymentTranslate:addpayments.DisplayName\\\" translate>\\n                        </mat-option>\\n                      </ng-container>\\n                    </mat-select>\\n                  </mat-form-field>\\n                </div>\\n                <div class=\\\"ds-row__item clearfix m-l-0\\\"\\n                  *ngIf=\\\"(paymentService.SelectedPaymentTypes.CanSavePayments == false || paymentService.SelectedPaymentTypes.CanSavePayments == 'false')\\\">\\n                  <span class=\\\"ds-row__item clearfix\\\" *ngIf=\\\"!userService.paymentMethods[0].Redirect\\\"\\n                    [innerHTML]=\\\"('order_pending') | translate\\\" translate></span>\\n                  <span class=\\\"ds-row__item clearfix\\\" *ngIf=\\\"userService.paymentMethods[0].Redirect\\\"\\n                    [innerHTML]=\\\"('order_needs_redirect') | translate\\\" translate></span>\\n                  <span [innerHTML]=\\\"('click_here_payment_inst') | translate\\\">\\n                  </span>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div fxLayout=\\\"row\\\" fxLayout.lt-md=\\\"column\\\" class=\\\"footerBottom\\\" fxFlex='100' fxLayoutAlign.lt-sm=\\\"center center\\\"\\n        fxLayoutAlign.sm=\\\"start stretch\\\">\\n        <div fxLayoutAlign=\\\"start center\\\" fxFlex='50'>\\n          <button mat-raised-button (click)=\\\"addAutoshipItem()\\\">{{'add_more_items' | translate}}</button>\\n        </div>\\n        <div fxFlex='50'>\\n          <div fxLayout=\\\"row\\\" fxLayoutAlign.gt-sm=\\\"end end\\\" class=\\\"m-t-12\\\">\\n            <button mat-button (click)=\\\"cancelAutoship()\\\"\\n              *ngIf=\\\"this.utilityService.getAutoshipEditFlag()\\\">{{'cancel_autoship' | translate}}</button>\\n            <button mat-button [attr.disabled]=\\\"isDisabledCreateOrder\\\" *ngIf=\\\"autoshipChanged()\\\"\\n              (click)=\\\"updateAutoOrder()\\\">{{'save_' | translate}}</button>\\n            <button mat-button\\n              *ngIf=\\\"AutoshipSetting['IsShowDeleteAutoship'] && this.utilityService.getAutoshipEditFlag()\\\"\\n              (click)=\\\"deleteAutoship();\\\">\\n              <mat-icon>delete</mat-icon>{{\\\"delete_\\\" | translate}}\\n            </button>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </mat-card-content>\\n</mat-card>\";","import { Component, OnInit } from \"@angular/core\";\nimport { DomSanitizer, Title } from \"@angular/platform-browser\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { NotificationService } from \"../../shared/services/notification.service\";\nimport { RestApiService } from \"../../shared/services/restapi.service\";\nimport { UserService } from \"../../shared/services/user.service\";\nimport $ from 'jquery';\n@Component({\n  selector: 'app-contacts',\n  templateUrl: './contacts.component.html',\n  styleUrls: ['./contacts.component.scss']\n})\nexport class ContactComponent implements OnInit {\n  captchaError = true;\n  contact: any = {};\n  public a: number;\n  captchaRequired: boolean = false;\n  public userService: any={};\n  public b: number;\n  constructor(\n    private domSanitizer:DomSanitizer,public apiService: RestApiService, public notificationService: NotificationService, private titleService: Title, public translate: TranslateService, public user: UserService\n  ) {\n   \n  }\n\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle('ContactUS' + ' | ' + text);\n    });\n    this.getCustomerSite();\n  }\n\n  getRandom(reloadCaptcha) {\n    if (reloadCaptcha) {\n      $('#answer').val(null);\n      this.captchaRequired = true;\n      this.captchaError = true;\n    }\n    var numbers = new Array();\n    for (var i = 1; i < 100; i++) {\n      numbers.push(i);\n    }\n    this.a = numbers[Math.floor(Math.random() * numbers.length)];\n    this.b = numbers[Math.floor(Math.random() * numbers.length)];\n    setTimeout(() => {\n      if (document.getElementById('captchaQuestion')) {\n        \n        document.getElementById('captchaQuestion').innerHTML = this.a + '+' + this.b;\n      }\n    }, 1000);\n\n\n  }\n  checkCaptch() {\n\n    if (Number(this.contact.result) == (Number(this.a) + Number(this.b))) {\n      this.captchaError = true;\n    } else {\n      if (this.contact.result == '') {\n        this.captchaError = true;\n      } else {\n        this.captchaError = false;\n      }\n\n\n    }\n  }\n  getCustomerSite() {\n    var req = this.user.userServiceModal.WebAlias || this.user.userServiceModal.enrollerInfo.WebAlias;\n    this.apiService.getWebsiteInformation(req).subscribe((result) =>{\n        try {\n            if ((Number(result.Status) === 0) && result.Data) {\n                this.userService = result.Data;\n                this.getRandom(false);\n            }\n        } catch (ex) {\n\n        }\n    });\n};\n  contactUser() {\n    if (this.captchaError) {\n      var request = {\n        NewProspect : {\n              \"ID\": 0,\n              \"AssociateID\": 0,\n              \"Rating\": 0,\n              \"StageID\": 0,\n              \"BackOfficeID\": \"\",\n              \"FirstName\": this.contact.FirstName,\n              \"LastName\": this.contact.LastName,\n              \"Email\": this.contact.Email,\n              \"MobilePhone\":this.contact.MobilePhone,\n              \"HomePhone\": \"\",\n              \"WorkPhone\": \"\",\n              \"Address\": \"\",\n              \"City\": \"\",\n              \"State\": \"\",\n              \"Country\": \"\",\n              \"Zip\": \"\",\n              \"Notes\": this.contact.Message,\n              \"ImgUrl\": \"\",\n              \"CreatedDate\": \"\",\n              \"LastUpdatedDate\": \"\"\n        },\n        CommandKey: \"\"\n      };\n      this.apiService.createProspect(request).subscribe((result)=> {\n        if (result) {\n          this.contact = {};\n          this.notificationService.success('Success', this.translate.instant('contact_info_added'));\n\n        } else {\n          this.notificationService.error('Error', this.translate.instant('some_error_occur_try_again'));\n        }\n      });\n    }else{\n      this.notificationService.error('Error', this.translate.instant('Please enter valid captcha'));\n    }\n\n  };\n  trustHtml(html) {\n    return this.domSanitizer.bypassSecurityTrustHtml(html);\n  }\n\n}\n","export default \".card-size {\\n  width: 150px !important;\\n  margin-right: 16px !important;\\n}\\n\\n.card-height {\\n  height: 60px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2stY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSx1QkFBQTtFQUNBLDZCQUFBO0FBQUo7O0FBR0E7RUFDSSxZQUFBO0FBQUoiLCJmaWxlIjoicGFjay1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLmNhcmQtc2l6ZXtcbiAgICB3aWR0aDogMTUwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLmNhcmQtaGVpZ2h0e1xuICAgIGhlaWdodDogNjBweDtcbn0iXX0= */\";","export function getBaseLocation() {\n    let registerRoute = ['/home', '/login', '/signup', '/products/[a-zA-Z0-9]', '/product/[a-zA-Z0-9]', '/product-detail/[a-zA-Z0-9]', '/application','/join',\n        '/pages/[A-Za-z]', '/complete', '/main', '/about', '/checkout', '/faq', '/orderhistory', '/manageautoship', '/autoorderhistory', '/complete', '/404', '/order-success', '/signup', '/orderinvoice', '/forgotpassword', 'shipping'];\n    if (registerRoute.includes(location.pathname)) {\n        return '/thinkenergy';\n    }\n    if (location.pathname.includes('pages/') && location.pathname.includes('checkout/')) {\n        let routeMatch = registerRoute.some((item) => {\n            return new RegExp(item).test(location.pathname);\n        });\n        if (routeMatch) {\n            return '/thinkenergy';\n        }\n    }\n    let paths: string[] = location.pathname.split('/').splice(1, 1);\n    let basePath: string = (paths && paths[0]) || 'thinkenergy';\n    return '/' + basePath;\n}\n","export default \"<p>\\n  products works!\\n</p>\\n\";","import { Injectable } from '@angular/core';\nimport * as _ from 'lodash';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n    MatDialog,\n    MatDialogRef,\n    MAT_DIALOG_DATA\n} from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\n@Injectable({\n    providedIn: 'root'\n})\nexport class NotificationService {\n    constructor(\n        private readonly snackBar: MatSnackBar,\n        public dialog: MatDialog,\n        private translate:TranslateService\n    ) { }\n    public service = {};\n    /**\n* Notification\n* @method  Notification\n* @param {string}  title    Notification title\n* @param {string}  message  Notification message\n* @param {string}  type    Notification type\n* @param {string}  from     Notification position \n* @param {string}  align    Notification alignment\n* @param {object}  icon  Notification icon\n* @param {boolean}  animIn    Notification animation in  \n* @param {boolean}  animOut     Notification animation out\n* @param {number}  delay    Notification delay \n*/\n\n    private showSnackBar(title, message, className, from, align, icon, animIn, animOut, delay): void {\n        this.openSnackBar(message, 'X', className, delay);\n\n    }\n    openSnackBar(message: string,action: string,className = '',delay){\n        this.snackBar.open(this.translate.instant(message), action, {\n            duration: delay ? delay:1500,\n            verticalPosition: 'top',\n            horizontalPosition:'right',\n            panelClass: [className]\n        });\n    }\n\n    /**\n* Success Notification\n* @method  success\n* @param {string}  title    Notification title\n* @param {string}  message  Notification message\n* @param {string}  type    Notification type\n* @param {string}  from     Notification position \n* @param {string}  align    Notification alignment\n* @param {object}  icon  Notification icon\n* @param {boolean}  animIn    Notification animation in  \n* @param {boolean}  animOut     Notification animation out\n* @param {number}  delay    Notification delay \n*/\npublic success(title:string, message:string, from?:string, align?:string, icon?:string, animIn?:string, animOut?:string, delay?:number) {\n        this.showSnackBar(title, message, 'success', from, align, icon, animIn, animOut, delay);\n    }\n    /**\n* Error Notification\n* @method  error\n* @param {string}  title    Notification title\n* @param {string}  message  Notification message\n* @param {string}  type    Notification type\n* @param {string}  from     Notification position \n* @param {string}  align    Notification alignment\n* @param {object}  icon  Notification icon\n* @param {boolean}  animIn    Notification animation in  \n* @param {boolean}  animOut     Notification animation out\n* @param {number}  delay    Notification delay \n*/\npublic error(title:string, message:string, from?:string, align?:string, icon?:string, animIn?:string, animOut?:string, delay?:number) {\n        this.showSnackBar(title, message, 'error', from, align, icon, animIn, animOut, delay);\n    }\n    /**\n* Warning Notification\n* @method  warning\n* @param {string}  title    Notification title\n* @param {string}  message  Notification message\n* @param {string}  type    Notification type\n* @param {string}  from     Notification position \n* @param {string}  align    Notification alignment\n* @param {object}  icon  Notification icon\n* @param {boolean}  animIn    Notification animation in  \n* @param {boolean}  animOut     Notification animation out\n* @param {number}  delay    Notification delay \n*/\npublic warning(title, message, from?:string, align?:string, icon?:string, animIn?:string, animOut?:string, delay?:number) {\n        this.showSnackBar(title, message, 'warning', from, align, icon, animIn, animOut, delay);\n    }\n    /**\n* Info Notification\n* @method  info\n* @param {string}  title    Notification title\n* @param {string}  message  Notification message\n* @param {string}  type    Notification type\n* @param {string}  from     Notification position \n* @param {string}  align    Notification alignment\n* @param {object}  icon  Notification icon\n* @param {boolean}  animIn    Notification animation in  \n* @param {boolean}  animOut     Notification animation out\n* @param {number}  delay    Notification delay \n*/\n    public info(title:string, message:string, from?:string, align?:string, icon?:string, animIn?:string, animOut?:string, delay?:number) {\n        this.showSnackBar(title, message, 'info', from, align, icon, animIn, animOut, delay);\n    }\n}","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport {  SwiperDirective } from 'ngx-swiper-wrapper';\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { CartService } from 'src/app/components/shared/services/cart.service';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { ProductDialogComponent } from 'src/app/components/shop/products/product-dialog/product-dialog.component';\nimport { Cart1Service } from '../services/cart1.service';\n\n@Component({\n  selector: 'app-pack-carousel',\n  templateUrl: './pack-carousel.component.html',\n  styleUrls: ['./pack-carousel.component.scss']\n})\nexport class PackCarouselComponent implements OnInit {\n  @Output() onOpenProductDialog: EventEmitter<any> = new EventEmitter();\n  @Input('products') products: Array<any>;\n  public config: SwiperConfigInterface = {};\n  contentLoaded = false;\n  constructor(\n    public configService: ConfigService,\n    private dialog: MatDialog,\n    private router: Router,\n    public cart1Service: Cart1Service,\n    private productService: ProductService\n    ) {}\n\n  ngOnInit() {\n    setTimeout(() => {\n      this.contentLoaded = true;\n    }, 3000);\n  }\n  ngAfterViewInit(){\n    this.config = {\n      observer: true,\n      slidesPerView: 5,\n      spaceBetween: 16,\n      keyboard: true,\n      navigation: true,\n      pagination: false,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      breakpoints: {\n        480: {\n          slidesPerView: 1\n        },\n        740: {\n          slidesPerView: 2,\n        },\n        960: {\n          slidesPerView: 3,\n        },\n        1280: {\n          slidesPerView: 4,\n        },\n\n\n      }\n    };\n  }\n\n\nopenProductDialog(product){\n    this.dialog.open(ProductDialogComponent, {\n        data:{data: product,\n        service: this.cart1Service},\n        panelClass: 'product-dialog',\n        autoFocus:false\n    });\n  }\n\n   // Add to cart\n   public addToCart(product: any) {\n    this.cart1Service.addToCart(product, true, '', false, false, true, true);\n  }\n}\n\n\n\n\n","import { ShoppingCartService } from './../../shared/services/shopping-cart.service';\nimport { Custom } from './../../../modals/createorderautoorder.modal';\nimport { cloneDeep } from 'lodash';\nimport { Component, OnInit } from '@angular/core';\nimport { CartService } from '../../shared/services/cart.service';\nimport { Observable, of, pipe } from 'rxjs';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { ProductService } from '../../shared/services/product.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Title } from '@angular/platform-browser';\nimport { Cart1Service } from '../../shared/services/cart1.service';\nimport { OrderService } from '../../shared/services/order.service';\nimport { PaymentService } from '../../shared/services/payment.service';\nimport { UserService } from '../../shared/services/user.service';\nimport { CouponInfo, UserServiceModal } from 'src/app/modals/userservice.modal';\nimport * as _ from 'lodash';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport * as moment from 'moment';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { CreateAutoOrder, CreateOrder, CreateOrderAndAutoShip, Item, OrderShippingAddress, Payment, ShippingAddress } from 'src/app/modals/createorderautoorder.modal';\nimport { ShipAddress } from 'src/app/modals/autoship.modal';\nimport { OrderCreditCard } from 'src/app/modals/enrollment.model';\nimport { OrderPipe } from 'ngx-order-pipe';\nimport { ConfirmDialogComponent } from '../../shared/model/confirm-dialog/confirm-dialog.component';\nimport { Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AddSymbolWithNumberPipe } from '../../shared/pipes/add-symbol-with-number.pipe';\nimport { ItemsListService } from '../../shared/services/itemsList.service';\nimport { PersistentService } from '../../shared/services/persistent.service';\nimport { AccountService } from '../../shared/services/account.service';\nimport { AllowCvvComponent } from '../../shared/model/allow-cvv/allow-cvv.component';\nimport { AutoshipConfigurationService } from '../../shared/services/autoshipConfiguration.service';\nimport { CompanyService } from '../../shared/services/company.service';\n@Component({\n  selector: 'app-checkout',\n  templateUrl: './checkout.component.html',\n  styleUrls: ['./checkout.component.scss']\n})\nexport class CheckoutComponent implements OnInit {\n\n  public cartItems: Observable<CartItem[]> = of([]);\n  public buyProducts: CartItem[] = [];\n  public commonData: any;\n  removable = true;\n  amount: number;\n  payments: string[] = ['Create an Account?', 'Flat Rate'];\n  paymantWay: string[] = ['Direct Bank Transfer', 'PayPal'];\n  OrderQuantityCount: number = 10;\n  public AutoOrdersData: any[] = [];\n  selectedAutoship: any;\n  AutoshipEditFlag: boolean = false;\n  createOrderRequest: CreateOrderAndAutoShip;\n  userService: UserServiceModal;\n  selectedshipmethod: any = 1;\n  isStateRestrict: boolean = false;\n  isDisabledCreateOrder: boolean = false;\n  constructor(\n    public notificationService: NotificationService,\n    public user: UserService,\n    private titleService: Title,\n    public paymentService: PaymentService,\n    public translate: TranslateService,\n    public cart1Service: Cart1Service,\n    public orderService: OrderService,\n    private cartService1: CartService,\n    public itemsService: ProductService,\n    public apiService: RestApiService,\n    public utilityService: UtilityService,\n    public configService: ConfigService,\n    private dialog: MatDialog,\n    private router: Router,\n    private orderPipe: OrderPipe,\n    public itemsListService: ItemsListService,\n    public persistentService: PersistentService,\n    public accountService: AccountService,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public companyService: CompanyService,\n    public shoppingCartService: ShoppingCartService\n  ) {\n    this.userService = this.user.userServiceModal;\n    this.commonData = this.configService.getConfig();\n  }\n\n  ngOnInit() {\n    sessionStorage.setItem('IsEnrollment', null);\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_checkout') + ' | ' + text);\n    });\n    this.cartItems = this.cartService1.getItems();\n    this.cartItems.subscribe(products => this.buyProducts = products);\n    this.getTotal().subscribe(amount => this.amount = amount);\n    this.persistentService.retailData.isNewAutoship = this.persistentService.retailData.isNewAutoship || false;\n    this.selectedAutoship = this.persistentService.retailData.CurrentSelectedAutoOrder;\n    if ((this.itemsService.selectedPacks.length + this.itemsService.selectedOrderItems.length + this.itemsService.selectedAutoOrderItems.length <= 0) && (!this.utilityService.getAutoshipEditFlag())) {\n      this.notificationService.error('message_', 'your_order_cart_empty_select_atleast_one_item');\n      this.router.navigate(['/products/all']);\n    }\n\n    if (this.userService.customerData.DefaultShippingAddress && !this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)) {\n      this.user.setShippingAddress();\n      if (this.utilityService.getAutoshipEditFlag()) {\n        this.updateAddressWithAutoshipAddress();\n      }\n    }\n\n    if (this.userService.isAddressChanged && this.userService.newshippingAddress && this.userService.newshippingAddress.Address && this.userService.newshippingAddress.ZipCode) {\n      if (this.utilityService.getAutoshipEditFlag()) {\n        if (this.userService.isEditAutoshipAddressChanged) {\n          this.userService.newshippingAddress.FullName = this.userService.newshippingAddress.FirstName + ' ' + this.userService.newshippingAddress.LastName;\n          this.userService.shippingAddress = cloneDeep(this.userService.newshippingAddress);\n        } else {\n          this.updateAddressWithAutoshipAddress();\n        }\n      } else {\n        this.userService.newshippingAddress.FullName = this.userService.newshippingAddress.FirstName + ' ' + this.userService.newshippingAddress.LastName;\n        this.userService.shippingAddress = cloneDeep(this.userService.newshippingAddress);\n      }\n    }\n\n    if (this.userService.shippingMethods?.length > 0) {\n      this.checkItems().then(() => {\n      });\n    } else {\n      if (this.itemsService.selectedOrderItems.length) {\n        this.checkItems().then(() => {\n          this.orderService.calculateOrder().then(() => {\n          });\n        });\n      }\n      if (this.itemsService.selectedAutoOrderItems.length) {\n        this.checkItems().then(() => {\n          this.orderService.calculateAutoOrder().then(() => {\n          });\n        });\n      }\n    }\n\n    if (this.utilityService.getAutoshipEditFlag()) {\n      if (this.persistentService.retailData.SelectedAutoshipPayment) {\n        const autoshipPayment = this.getPaymentByDisplayText(\n          this.persistentService.retailData.SelectedAutoshipPayment.PaymentDisplay,\n          this.persistentService.retailData.SelectedAutoshipPayment.PaymentTypeID\n        );\n        this.userService.paymentMethods = autoshipPayment ? [autoshipPayment] : [];\n        if (this.userService.paymentMethods.length > 0) {\n          this.userService.paymentMethods[0].CardType = this.userService.paymentMethods[0].Name,\n            this.userService.paymentMethods[0].Last4 = this.userService.paymentMethods[0].Ending,\n            this.userService.paymentMethods[0].ExpireMonth = this.persistentService.retailData.SelectedAutoshipPayment.ExpireMonth,\n            this.userService.paymentMethods[0].ExpireYear = this.persistentService.retailData.SelectedAutoshipPayment.ExpireYear,\n            this.userService.paymentMethods[0].Token = this.userService.paymentMethods[0].PaymentMethodID,\n            this.userService.paymentMethods[0].BillingAddress = this.persistentService.retailData.SelectedAutoshipPayment.BillingAddress,\n            this.userService.paymentMethods[0].BillingAddress2 = this.persistentService.retailData.SelectedAutoshipPayment.BillingAddress2,\n            this.userService.paymentMethods[0].BillingCity = this.persistentService.retailData.SelectedAutoshipPayment.BillingCity,\n            this.userService.paymentMethods[0].BillingCountry = this.persistentService.retailData.SelectedAutoshipPayment.BillingCountry,\n            this.userService.paymentMethods[0].BillingState = this.persistentService.retailData.SelectedAutoshipPayment.BillingState,\n            this.userService.paymentMethods[0].BillingZip = this.persistentService.retailData.SelectedAutoshipPayment.BillingZip;\n        }\n      }\n      if (this.userService.paymentMethods.length == 0) {\n        this.setDefaultPayment();\n      }\n      if (this.userService.paymentMethods.length > 0) {\n        this.paymentService.selectedPaymentTypeName = this.userService.paymentMethods[0].CardType + ' ' + this.userService.paymentMethods[0].Last4;\n      }\n      localStorage.setItem('userService', JSON.stringify(this.userService));\n    } else {\n      this.setDefaultPayment();\n    }\n\n    if (Object.keys(this.userService.customerData).length && this.itemsService.selectedAutoOrderItems.length > 0) {\n      this.getAutoOrders();\n    }\n    this.userService.isPaymentChanged = false;\n    this.getfrequencyName();\n  }\n\n  public updateAddressWithAutoshipAddress() {\n    this.userService.shippingAddress.FirstName = this.persistentService.retailData.AutoOrderShippingAddress.FirstName;\n    this.userService.shippingAddress.LastName = this.persistentService.retailData.AutoOrderShippingAddress.LastName;\n    this.userService.shippingAddress.Street1 = this.persistentService.retailData.AutoOrderShippingAddress.Address;\n    this.userService.shippingAddress.Street2 = this.persistentService.retailData.AutoOrderShippingAddress.Address2;\n    this.userService.shippingAddress.City = this.persistentService.retailData.AutoOrderShippingAddress.City;\n    this.userService.shippingAddress.CountryCode = this.persistentService.retailData.AutoOrderShippingAddress.Country;\n    this.userService.shippingAddress.Region = this.persistentService.retailData.AutoOrderShippingAddress.State;\n    this.userService.shippingAddress.PostalCode = this.persistentService.retailData.AutoOrderShippingAddress.ZipCode;\n  }\n\n  setDefaultPayment() {\n    this.paymentService.getPaymentType().then(() => {\n      if (this.paymentService.PaymentTypeResponse['SaveMethods'] && this.paymentService.PaymentTypeResponse['SaveMethods'][0]) {\n        this.addSavePayment(this.paymentService.PaymentTypeResponse['SaveMethods'][0]);\n      }\n    });\n  }\n\n  getPaymentByDisplayText(text, paymentmethodid) {\n    let matchingPayment = null;\n    this.paymentService.PaymentTypeResponse['SaveMethods'].some((method) => {\n      try {\n        let ending = method.Ending || method.CreditCardNumberDisplay || method.Last4 || method.Name;\n\n        if (ending) {\n          ending = ending.replace(/\\*/g, '');\n        }\n        if (paymentmethodid == method.PaymentMethodID) {\n          matchingPayment = method;\n          return true;\n        }\n        if (!method.PaymentMethodID && ~text.indexOf(ending)) {\n          matchingPayment = method;\n          return true;\n        }\n      } catch (e) {\n        console.error('Message', e);\n        return true;\n      }\n    });\n    return matchingPayment;\n  }\n\n  public getTotal(): Observable<number> {\n    return this.cartService1.getTotalAmount();\n  }\n  getQuantityModel(type, item): any {\n    return this.cart1Service[type == 'pack' ? 'packQuantity' : (type == 'autoship' ? 'autoshipQuantity' : ((item && item.UsePoints) ? 'orderRewardQuantity' : 'orderQuantity'))];\n  }\n  // Payment Section\n  addSavePayment(paymentData) {\n    if (!this.utilityService.isEmptyObject(this.paymentService.SelectedPaymentTypes) && (this.paymentService.SelectedPaymentTypes.MerchantId !== paymentData.MerchantId)) {\n      this.userService.paymentMethods = [];\n      this.userService.isPaymentChanged = true;\n    }\n    this.paymentService.SelectedPaymentTypes = paymentData;\n    this.paymentService.selectedPaymentTypeName = this.paymentService.SelectedPaymentTypes.DisplayName;\n    if (this.paymentService.SelectedPaymentTypes.CanSavePayments) {\n      this.paymentService.OldSelectedPaymentType = this.paymentService.SelectedPaymentTypes;\n      this.paymentService.getPaymentData(paymentData);\n    } else {\n      this.paymentService.oldSelectedPaymentTypeName = this.paymentService.selectedPaymentTypeName;\n      this.userService.paymentMethods = [];\n      const selectpay = {\n        CardType: this.paymentService.SelectedPaymentTypes.CardType || this.paymentService.SelectedPaymentTypes.Name,\n        Last4: this.paymentService.SelectedPaymentTypes.Ending,\n        ExpireMonth: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('M') : 0,\n        ExpireYear: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('YYYY') : 0,\n        Token: this.paymentService.SelectedPaymentTypes.PaymentMethodId ? this.paymentService.SelectedPaymentTypes.PaymentMethodId : '',\n        MerchantId: this.paymentService.SelectedPaymentTypes.MerchantId\n      };\n      this.userService.paymentMethods.push(selectpay);\n    }\n    localStorage.setItem('userService', JSON.stringify(this.userService));\n\n  }\n\n  getPaymentDescription(payment) {\n    if (!payment) {\n      return '';\n    }\n    if (payment.CreditCardTypeDescription === 'Unknown') {\n      return payment.CreditCardTypeDescription;\n    }\n    const type = payment.CreditCardTypeDescription || payment.Name || payment.CardType;\n    const numb = payment.CreditCardNumberDisplay || new AddSymbolWithNumberPipe().transform(payment.Ending, '*', 4, 11) ||\n      new AddSymbolWithNumberPipe().transform(payment.Last4, '*', 4, 11);\n    return type + ' ' + numb;\n  }\n\n  removeCardDetail(payment) {\n    const messageText = this.translate.instant('confirm_delete_payment_info') + ' ' + this.getPaymentDescription(payment) + '?';\n    const dialogRef1 = this.dialog.open(ConfirmDialogComponent, {\n      maxWidth: '400px',\n      data: {\n        title: '',\n        message: messageText,\n        takeaction: this.translate.instant('Delete'),\n        noaction: this.translate.instant('cancel'),\n      },\n      panelClass: '',\n      disableClose: true\n\n    });\n    dialogRef1.afterClosed().subscribe(dialogResult => {\n      if (dialogResult) {\n        this.deleteCreditCard(payment);\n      }\n    });\n  }\n\n  deleteCreditCard(payment) {\n    const DeleteCreditCardRequest = {\n      customerId: 0,\n      merchantid: payment.MerchantId,\n      paymentmethodid: payment.PaymentMethodId\n    };\n    this.apiService\n      .deletePaymentMethod(DeleteCreditCardRequest).subscribe((result) => {\n        try {\n          if (parseInt(result.Status, 10) === 0) {\n            if (this.paymentService.selectedPaymentTypeName == (payment.Name + ' ' + payment.Ending)) {\n              this.paymentService.SelectedPaymentTypes = {};\n              this.userService.paymentMethods = [];\n              this.paymentService.selectedPaymentTypeName = '';\n              this.paymentService.selectedPaymentTypeName = this.translate.instant('Add_Payment_Method');\n            }\n            this.notificationService.success('Success', this.translate.instant('successfully_deleted'));\n            this.paymentService.getPaymentType();\n          } else {\n            this.notificationService.error('Error', (result.Message ? result.Message : this.translate.instant('not_remove')));\n          }\n        } catch (ex) {\n          console.error('ex', ex);\n        }\n      }, (error) => {\n        this.notificationService.error('Error', this.translate.instant('not_remove'));\n      },\n        () => {\n        });\n  }\n\n  getCvv(result) {\n    if (result) {\n      this.placeOrder(result);\n    } else {\n      this.isDisabledCreateOrder = false;\n\n    }\n  }\n\n  checkPlaceOrder() {\n    if (this.user.checkIfUserAuthenticatedOrNot()) {\n      const showCvv = '99'.split(',').filter((item) => {\n        return item && item == this.paymentService.SelectedPaymentTypes.MerchantId;\n    }).length;\n      if (this.paymentService.SelectedPaymentTypes && Object.keys(this.paymentService.SelectedPaymentTypes).length &&\n      this.userService.paymentMethods.length && (!this.isStateRestrict && (Object.keys(this.userService.shippingAddress).length > 0)) && (showCvv)) {\n        // SHow Allow CVV Model Popup\n        const dialogData = this.dialog.open(AllowCvvComponent, {\n          disableClose: true,\n          panelClass: 'allowCvvModel-dialog'\n        });\n        dialogData.afterClosed().subscribe((dialogResult) => {\n          if (dialogResult){\n            this.getCvv(dialogResult);\n          }\n        });\n      } else {\n        this.placeOrder();\n      }\n    }\n    else {\n      // Logout and go to login\n      this.accountService.logout();\n      this.router.navigate(['/login']);\n    }\n  }\n\n\n  placeOrder(dataCvvCode?: any) {\n    const placeOrderPromise = new Promise((resolve, reject) => {\n      if (this.itemsService.selectedAutoOrderItems.length > 0 && false) {\n        this.notificationService.error('error_', 'choose_frequency_sidecart');\n        this.isDisabledCreateOrder = false;\n        return;\n      }\n\n      if (this.userService.newUser && this.itemsService.selectedAutoOrderItems.length == 0) {\n        this.notificationService.error('error_', 'autoship_required_msg');\n        this.isDisabledCreateOrder = false;\n        return;\n      }\n      if (this.userService.paymentMethods.length > 0) {\n        if (this.userService.paymentMethods[0].Last4 || this.userService.paymentMethods[0].Last4 === undefined) {\n        } else {\n          this.notificationService.error('error_', 'shop_please_add_payment');\n          this.isDisabledCreateOrder = false;\n          return;\n        }\n      } else {\n        this.notificationService.error('error_', 'shop_please_add_payment');\n        this.isDisabledCreateOrder = false;\n        return;\n      }\n\n      if (this.isStateRestrict || (!Object.keys(this.userService.shippingAddress).length) || (!this.userService.shippingAddress.FirstName || !this.userService.shippingAddress.LastName || !this.userService.shippingAddress.Street1 || !this.userService.shippingAddress.PostalCode)) {\n        this.notificationService.error('error_', 'please_add_address');\n        this.isDisabledCreateOrder = false;\n        return;\n      }\n      const productdetails: Array<Item> = [];\n      _.each(this.itemsService.selectedOrderItems, (item) => {\n        productdetails.push({\n          ItemId: item.ItemID,\n          IsReward: false,\n          Quantity: !item.UsePoints ? item.Quantity : item.rewardQuantity\n        });\n      });\n\n      const autoshipproductdetails: Array<Item> = [];\n      _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n        if (parseInt(item.Quantity, 10) > 0) {\n          autoshipproductdetails.push({\n            ItemId: item.ItemID,\n            IsReward: false,\n            Quantity: item.Quantity\n          });\n        }\n      });\n      this.createOrderRequest = {\n        customerId: 0,\n        createOrder: {\n          ShippingAddress: {\n            Line1: this.userService.shippingAddress.Street1 || '',\n            Line2: this.userService.shippingAddress.Street2 || '',\n            State: this.userService.shippingAddress.Region || '',\n            City: this.userService.shippingAddress.City || '',\n            Zip: this.userService.shippingAddress.PostalCode || '',\n            CountryCode: this.userService.shippingAddress.CountryCode || 'US'\n          } as OrderShippingAddress,\n          CountryCode: this.userService.shippingAddress.CountryCode,\n          Attention: 'No Attention Needed',\n          CouponCodes: null,\n          CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n          FirstName: this.userService.shippingAddress.FirstName,\n          Items: productdetails,\n          LastName: this.userService.shippingAddress.LastName,\n          OrderType: 1,\n          PartyId: 0,\n          Payments: [{\n            CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n            MerchantId: this.userService.paymentMethods[0].MerchantId,\n            OnFileCard: '',\n            OrderCreditCard: {\n              CardToken: this.userService.paymentMethods[0].Token,\n              NameOnCard: this.userService.paymentMethods[0].billingInfo && this.userService.paymentMethods[0].billingInfo.fullName || '',\n              Last4: this.userService.paymentMethods[0].Last4,\n              CardType: this.userService.paymentMethods[0].CardType,\n              ExpirationMonth: this.userService.paymentMethods[0].ExpireMonth || 1,\n              ExpirationYear: this.userService.paymentMethods[0].ExpireYear,\n            } as OrderCreditCard,\n            SavePayment: true,\n            SavePaymentMethodId: this.userService.paymentMethods[0].Token,\n          }] as Array<Payment>,\n          Phone: this.userService.shippingAddress.Phone,\n          PriceGroup: this.userService.customerTypeID,\n          ShipMethodId: this.userService.selectedShippingMethod || 1,\n          SpecialInstructions: 'No Instruction',\n          StoreId: this.shoppingCartService.getShoppingCart(1)[0].StoreID,\n          Custom: null\n        } as CreateOrder,\n      } as CreateOrderAndAutoShip;\n\n      if (autoshipproductdetails.length > 0) {\n        this.createOrderRequest.createAutoOrder = {\n          ShipMethodId: this.userService.selectedShippingMethod || 1,\n          Frequency: this.persistentService.retailData.Autoship.FrequencyTypeDescription || 'Monthly',\n          Items: autoshipproductdetails,\n          MerchantId: this.userService.paymentMethods[0].MerchantId,\n          PaymentMerchantId: this.userService.paymentMethods[0].MerchantId,\n          PaymentMethodId: this.userService.paymentMethods[0].Token,\n          ShipAddress: {\n            Street1: this.userService.shippingAddress.Street1 || '',\n            Street2: this.userService.shippingAddress.Street2 || '',\n            Region: this.userService.shippingAddress.Region || '',\n            City: this.userService.shippingAddress.City || '',\n            PostalCode: this.userService.shippingAddress.PostalCode || '',\n            CountryCode: this.userService.shippingAddress.CountryCode || 'US'\n          } as ShipAddress,\n          ShippingAddress: {\n            Street1: this.userService.shippingAddress.Street1 || '',\n            Street2: this.userService.shippingAddress.Street2 || '',\n            Region: this.userService.shippingAddress.Region || '',\n            City: this.userService.shippingAddress.City || '',\n            PostalCode: this.userService.shippingAddress.PostalCode || '',\n            CountryCode: this.userService.shippingAddress.CountryCode || 'US'\n          } as ShipAddress,\n          StartDate: this.autoshipConfigurationService.autoshipDate,\n        } as CreateAutoOrder;\n\n        if (!this.persistentService.retailData.isNewAutoship) {\n          this.createOrderRequest.createAutoOrder.Custom = {\n            AutoShipId : this.selectedAutoship || 0\n          } as Custom;\n        }\n      }\n      this.createOrderRequest.createOrder.PartyId = this.utilityService.getQueryParam('partyid') || localStorage.getItem('partyId') || 0;\n      this.apiService.createCustomerOrderAndAutoship(this.createOrderRequest).subscribe((result) => {\n        this.isDisabledCreateOrder = false;\n        if (result.ErrorMessage === 'CreateOrder_Failed') {\n          const whichCard = result.Index === '0' ? 'First' : 'Second';\n          const message = whichCard + ' Card failed with Amount: ' + result.Amount;\n          this.notificationService.error('error_', this.translate.instant(message));\n          reject(this.translate.instant(message));\n          return;\n        }\n\n        if (result.ErrorMessage === 'invalid_credit_card') {\n          this.notificationService.error('error_', this.translate.instant(result.ErrorMessage));\n          reject(this.translate.instant(result.ErrorMessage));\n          return;\n        }\n\n        if (!result.Order?.OrderId && !result.AutoOrder?.AutoorderId) {\n          this.notificationService.error('error_', this.translate.instant(result.ErrorMessage));\n          reject(this.translate.instant(result.ErrorMessage));\n          return;\n        }\n\n        result.OrderID = (result.Order?.OrderID || result.Order?.OrderId);\n        result.AutoOrderId = (result.AutoOrder?.AutoOrderID || result.AutoOrder?.AutoorderId);\n        if (result.OrderID > 0 || result.AutoOrderId > 0) {\n          this.userService.newUser = false;\n          try {\n           \n          }\n          catch (ex) {\n            console.warn('ex', ex);\n          }\n          localStorage.setItem('SubmitApplication', JSON.stringify(result));\n          this.utilityService.setAutoshipEditFlag(false);\n          this.persistentService.retailData.isChanged = true;\n          this.userService.isAddressChanged = false;\n          this.userService.isPaymentChanged = false;\n          this.userService.isShipMethodChanged = false;\n          this.persistentService.retailData.isNewAutoship = false;\n          this.persistentService.retailData.editAutoshipItems = [];\n          if (result.Order?.Redirect && result.Order.RedirectUrl && result.Order.RedirectUrl.length > 0) {\n            window.location = result.Order.RedirectUrl;\n          }\n          if (result.AutoOrder?.Redirect && result.AutoOrder.RedirectUrl && result.AutoOrder.RedirectUrl.length > 0) {\n            window.location = result.AutoOrder.RedirectUrl;\n          }\n          this.router.navigate(['/complete']);\n        }\n        resolve(result);\n      }, (error) => {\n        reject(this.translate.instant('some_error_occur_try_again'));\n        this.isDisabledCreateOrder = false;\n        this.notificationService.error('error_', this.translate.instant('some_error_occur_try_again'));\n      }, () => { });\n    });\n    return placeOrderPromise;\n  }\n\n  showBirthWarnings() {\n    const orderItem = this.itemsService.selectedOrderItems.some((item) => {\n      return item.FlagCancer || item.FlagBirthDefects;\n    });\n    const autoshipItem = this.itemsService.selectedAutoOrderItems.some((item) => {\n      return item.FlagCancer || item.FlagBirthDefects;\n    });\n    if ((orderItem || autoshipItem) && this.configService.localSettings.Global.ShowBirthWarning) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n  showCancerWarnings() {\n    const orderItem = this.itemsService.selectedOrderItems.some((item) => {\n      return item.FlagCancer || item.FlagBirthDefects;\n    });\n    const autoshipItem = this.itemsService.selectedAutoOrderItems.some((item) => {\n      return item.FlagCancer || item.FlagBirthDefects;\n    });\n    if ((orderItem || autoshipItem) && this.configService.localSettings.Global.ShowCancerWarning) {\n      return true;\n    } else {\n      return false;\n    }\n\n  }\n\n  checkQuantity(type, item) {\n    const quantity = this.getQuantityModel(type, item)[item.ItemID];\n    if (!Number(quantity)) {\n      this.cart1Service.removeFromCart(item, type == 'autoship', type == 'pack', true);\n    } else {\n      if (!item.UsePoints) {\n        item.Quantity = quantity;\n      }\n      else if (item.UsePoints) {\n        item.rewardQuantity = quantity;\n      }\n      if (type == 'autoship') {\n        localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n        this.orderService.calculateAutoOrder();\n      } else {\n        localStorage.setItem((type == 'pack' ? 'cart.packs' : 'cart.order'),\n          JSON.stringify(type == 'pack' ? this.itemsService.selectedPacks : this.itemsService.selectedOrderItems));\n        this.orderService.calculateOrder();\n      }\n    }\n    if (!this.utilityService.getAutoshipEditFlag()) {\n    }\n  }\n  getAutoOrders() {\n    this.apiService.getCustomerAutoships(this.userService.customerData.CustomerId).subscribe((result: any) => {\n      try {\n        if (Number(result.Status) === 0) {\n          if (result.Data && result.Data.length > 0) {\n            this.AutoOrdersData = this.orderPipe.transform(result.Data, 'AutoShipID', true);\n            // Show selected Autoship in dropdown\n            this.selectedAutoship = this.persistentService.retailData.CurrentSelectedAutoOrder || this.AutoOrdersData[0].AutoShipID;\n          }\n        }\n      } catch (ex) {\n        console.error('ex', ex);\n      }\n    }, (error) => {\n      this.AutoOrdersData = [];\n    }, () => { });\n  }\n\n  changeSelectedAutosipId(id: any) {\n    this.selectedAutoship = id;\n  }\n\n  backStep() {\n    this.router.navigate(['/products/all']);\n  }\n\n  isAutoshipChanged() {\n    if (!moment(this.autoshipConfigurationService.autoshipDate).isSame(this.autoshipConfigurationService.autoshipDate, 'day')) {\n      return true;\n    }\n    if (this.persistentService.retailData.Autoship && this.commonData.FrequencyTypes[0].ID != this.persistentService.retailData.Autoship.FrequencyTypeID) {\n      return true;\n    }\n    if (this.userService.isAddressChanged || this.userService.isPaymentChanged || this.userService.isShipMethodChanged) {\n      return true;\n    }\n\n    if (this.utilityService.getAutoshipEditFlag()) {\n      if (this.persistentService.retailData.isChanged) {\n        if (_.isEqual(this.persistentService.retailData.editAutoshipItems, this.itemsService.selectedAutoOrderItems) && this.itemsService.selectedOrderItems.length == 0) {\n          return false;\n        }\n        return true;\n      }\n      return false;\n    }\n    return true;\n  }\n\n  validatePromoCode() {\n    if (this.userService.couponInfo.promoCode) {\n      if (this.userService.couponInfo.availableRewards.length > 0) {\n        _.each(this.userService.couponInfo.availableRewards, (avlreward) => {\n          if (avlreward.Code.toLowerCase() == this.userService.couponInfo.promoCode.toLowerCase()) {\n            this.userService.couponInfo.RewardsForUse.push(avlreward);\n          }\n        });\n      }\n    }\n    this.userService.couponInfo.IsAppliedcode = true;\n    this.orderService.calculateOrder().then((result: any) => {\n      if (result && this.userService.couponInfo.promoCode) {\n        _.each(this.orderService.calculateOrderResponse.CouponResults, (item) => {\n          const isInCart = this.userService.couponInfo.Allcoupons.some((code) => {\n            if (code.toLowerCase() == item.Code.toLowerCase()) {\n              return true;\n            }\n            return false;\n          });\n\n          if (item.IsValid) {\n            if (!isInCart) {\n              this.userService.couponInfo.Allcoupons.push(item.Code);\n            }\n            if (this.userService.couponInfo.promoCode == item.Code) {\n              this.notificationService.success('success', 'coupon_added_success');\n            }\n            this.userService.couponInfo.promoCodeValid = true;\n            this.userService.couponInfo.promoCode = '';\n          } else {\n            this.userService.couponInfo.promoCodeValid = false;\n            this.userService.couponInfo.IsAppliedcode = false;\n            this.userService.couponInfo.promoCode = '';\n            if (isInCart && this.itemsService.selectedOrderItems.length) {\n              this.userService.couponInfo.Allcoupons = this.userService.couponInfo.Allcoupons.filter((code) => {\n                return code.toLowerCase() != item.Code.toLowerCase();\n              });\n              this.userService.couponInfo.RewardsForUse = this.userService.couponInfo.RewardsForUse.filter((e) => {\n                return e.Code.toLowerCase() != item.Code.toLowerCase();\n              });\n            }\n          }\n        });\n      }\n    });\n  }\n\n  promoShowHide() {\n    let isExitCoupon = [];\n    if (this.orderService.calculateOrderResponse.CouponResults != null) {\n      isExitCoupon = this.orderService.calculateOrderResponse.CouponResults.filter((Coupon: any) => {\n        if (Coupon.Code === 'NewCustomerPromo_' + this.userService.customerData.BackOfficeId) {\n          return Coupon.Code;\n        } else if (Coupon.IsValid && (Coupon.Code === this.userService.DynamicCouponCode.promoCode)) {\n          return Coupon.Code;\n        }\n      });\n    }\n    if (isExitCoupon.length > 0) {\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  removePromo(code) {\n    this.userService.couponInfo.RewardsForUse = _.reject(this.userService.couponInfo.RewardsForUse, (e) => {\n      return e.Code.toLowerCase() == code.toLowerCase();\n    });\n    this.userService.couponInfo.promoCode = '';\n    this.userService.couponInfo.promoCodeValid = true;\n    this.userService.couponInfo.IsAppliedcode = false;\n    this.userService.couponInfo.Allcoupons = _.without(this.userService.couponInfo.Allcoupons, code);\n    this.orderService.calculateOrder();\n  }\n\n  isCouponCode(Coupon) {\n    const NewCustomerPromo = 'NewCustomerPromo_' + this.userService.customerData.BackOfficeId;\n    if (Coupon.Code === NewCustomerPromo) {\n      return false;\n    } else if (Coupon.Code === this.userService.DynamicCouponCode.promoCode) {\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  updateShipmethod(shipmethodID) {\n    this.userService.selectedShippingMethod = shipmethodID;\n    if (this.itemsService.selectedOrderItems.length > 0) {\n      this.orderService.calculateOrder();\n    }\n    if (this.itemsService.selectedAutoOrderItems.length) {\n      this.orderService.calculateAutoOrder();\n    }\n  }\n\n  checkItems() {\n    const promise = new Promise((resolve, reject) => {\n      if (this.userService.checkItems) {\n        this.itemsListService.checkRestrictedState('', '', true, true, 0, false, '', true, false).then(() => {\n          if (this.userService.shippingAddress.Region) {\n            _.each(this.userService.restrictedStates, (state) => {\n              if ((state).toLowerCase() === (this.userService.shippingAddress.Region).toLowerCase()) {\n                this.isStateRestrict = true;\n              }\n            });\n          }\n          resolve(true);\n        });\n      } else {\n        if (this.userService.shippingAddress.Region) {\n          _.each(this.userService.restrictedStates, (state) => {\n            if ((state).toLowerCase() === (this.userService.shippingAddress.Region).toLowerCase()) {\n              this.isStateRestrict = true;\n            }\n          });\n        }\n        if (this.itemsService.selectedOrderItems.length) {\n          this.orderService.calculateOrder();\n        }\n        if (this.itemsService.selectedAutoOrderItems.length) {\n          this.orderService.calculateAutoOrder();\n        }\n      }\n    });\n    return promise;\n  }\n\n  getfrequencyName(){\n    return { frequency: this.persistentService.retailData.Autoship.FrequencyTypeDescription};\n  }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-breadcrumb',\n  templateUrl: './breadcrumb.component.html',\n  styleUrls: ['./breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent implements OnInit {\n  @Input() title : string;\n  @Input() breadcrumb : string;\n  constructor() { }\n\n  ngOnInit(): void {\n  }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n  selector: 'app-about-us',\n  templateUrl: './about-us.component.html',\n  styleUrls: ['./about-us.component.scss']\n})\nexport class AboutUsComponent implements OnInit {\n\n  constructor(public translate:TranslateService,private titleService: Title) { }\n\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle('AboutUs' + '|' + text);\n    });\n  }\n\n}\n","export default \"<div id=\\\"complete\\\">\\n    <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n        <div fxFlex.gt-sm=\\\"10\\\"></div>\\n        <div fxFlex.gt-sm=\\\"80\\\" fxFlex=\\\"100\\\" class=\\\"completeBox\\\">\\n            <mat-card>\\n                <mat-card-header class=\\\"bg-color\\\">\\n                    <mat-card-title class=\\\"p-16\\\">\\n                        <span class=\\\"color-f-s-20 c-white\\\" translate=\\\"thank_for_order\\\"></span>\\n                    </mat-card-title>\\n                </mat-card-header>\\n                <mat-card-content>\\n                    <div fxLayout=\\\"column\\\" class=\\\"p-16\\\">\\n                        <div fxLayout=\\\"row\\\" class=\\\"m-b-15\\\">\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\" translate=\\\"your_memberid\\\"></mat-label>\\n                            </div>\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\"\\n                                    [textContent]=\\\"userService.customerData.BackOfficeId\\\"></mat-label>\\n                                <mat-label class=\\\"color-f-s-14\\\"\\n                                    *ngIf=\\\"userEnrollmentDetail?.AssociateID && !userService.customerData.BackOfficeId\\\"\\n                                    [textContent]=\\\"userEnrollmentDetail?.AssociateID\\\"></mat-label>\\n                            </div>\\n                        </div>\\n\\n                        <div fxLayout=\\\"row\\\" class=\\\"m-b-15\\\" *ngIf=\\\"!guest && userService.webOffice?.UserName\\\">\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\" translate=\\\"your_user_name\\\">\\n                                </mat-label>:\\n                            </div>\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\"\\n                                    [textContent]=\\\"userService.webOffice?.UserName\\\"></mat-label>\\n                            </div>\\n                        </div>\\n                        <div fxLayout=\\\"row\\\" class=\\\"m-b-15\\\" *ngIf=\\\"userService.webOffice?.Password\\\">\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\" translate=\\\"Password\\\">\\n                                </mat-label>:\\n                            </div>\\n                            <div fxFlex=\\\"50\\\" (ngInit)=\\\"isShowPassword=false\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\" [textContent]=\\\"userService.webOffice?.Password\\\"\\n                                    *ngIf=\\\"isShowPassword\\\"></mat-label>\\n                                <mat-label class=\\\"color-f-s-14\\\" *ngIf=\\\"!isShowPassword\\\">\\n                                    <span *ngFor=\\\"let a of passwordLength\\\">*</span></mat-label>\\n                                <mat-label class=\\\"cursor-pointer color-f-s-14\\\" (click)=\\\"isShowPassword=true\\\"\\n                                    *ngIf=\\\"!isShowPassword\\\"><mat-icon>visibility</mat-icon></mat-label>\\n                                <mat-label class=\\\"cursor-pointer color-f-s-14\\\" (click)=\\\"isShowPassword=!isShowPassword\\\"\\n                                    *ngIf=\\\"isShowPassword\\\"><mat-icon>visibility_off</mat-icon></mat-label>\\n                            </div>\\n                        </div>\\n                        <div fxLayout=\\\"row\\\" class=\\\"m-b-15\\\" *ngIf=\\\"IsApplication\\\">\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\" translate=\\\"your_email_id\\\">\\n                                </mat-label>:\\n                            </div>\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14 word-wrap\\\"\\n                                    [textContent]=\\\"userService.personalInfo?.Email\\\"></mat-label>\\n                            </div>\\n                        </div>\\n                        <div fxLayout=\\\"row\\\" class=\\\"m-b-15\\\" *ngIf=\\\"SubmitApplicationResponse?.OrderID > 0\\\">\\n                            <div fxFlex=\\\"50\\\">\\n                                <mat-label class=\\\"color-f-s-14\\\" translate=\\\"your_orderid\\\">\\n                                </mat-label>\\n                            </div>\\n                            <div fxFlex=\\\"50\\\">\\n                                <a class=\\\"cursor-pointer color-f-s-14 c-blue text-underline\\\"\\n                                    (click)=\\\"showOrderInvoice(SubmitApplicationResponse?.OrderID)\\\"\\n                                    [textContent]=\\\"SubmitApplicationResponse?.OrderID\\\"></a>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"clearfix\\\"></div>\\n                    </div>\\n                </mat-card-content>\\n                <mat-card-actions>\\n                    <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                        <div class=\\\"m-8\\\">\\n                            <button mat-raised-button color=\\\"primary\\\" class=\\\"m-r-10\\\" (click)=\\\"goToProduct()\\\"\\n                                translate=\\\"\\\" aria-mat-label=\\\"KeepShopping\\\">{{'keep_shopping' | translate}}</button>\\n                        </div>\\n                    </div>\\n                </mat-card-actions>\\n            </mat-card>\\n        </div>\\n        <div fxFlex.gt-sm=\\\"10\\\"></div>\\n    </div>\\n</div>\";","export default \".shippingAddressDialog .dialog-title {\\n  color: #FFFFFF;\\n  font-size: 21px;\\n}\\n.shippingAddressDialog .header {\\n  background-color: var(--theme-deafult-secondary);\\n}\\n.shippingAddressDialog .header-tab-action {\\n  background: #00000026 !important;\\n  margin: 0px 5px;\\n  border-radius: 10px;\\n  color: #FFFFFF;\\n}\\n.shippingAddressDialog .mat-dialog-content {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.shippingAddressDialog .mat-dialog-content .borderBox {\\n  border: 1px solid #e0e0e0;\\n}\\n.shippingAddressDialog .mat-dialog-content .p-15 {\\n  padding: 15px !important;\\n}\\n.shippingAddressDialog .mat-dialog-actions {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.shippingAddressDialog .mat-dialog-actions .updateButton {\\n  background-color: var(--theme-deafult);\\n  color: #FFFFFF;\\n}\\n.shippingAddressDialog ::ng-deep .mat-radio-label-content {\\n  white-space: normal !important;\\n  color: #000000DE;\\n  font-size: 14px;\\n}\\n.c-1 {\\n  color: var(--theme-deafult);\\n}\\n::ng-deep .shippingAddressDialog .mat-dialog-container {\\n  margin: 0px;\\n  padding: 0px !important;\\n}\\n.material-icons.color_white {\\n  color: #ffffff;\\n}\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n::ng-deep .shippingAddressDialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n::ng-deep .shippingAddressDialog .mat-dialog-container {\\n  overflow: unset;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoaXBwaW5nLWFkZHJlc3MtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVJO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QUFEUjtBQUdJO0VBQ0ksZ0RBQUE7QUFEUjtBQUdJO0VBQ0ksZ0NBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0FBRFI7QUFHSTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtBQURSO0FBRVE7RUFDSSx5QkFBQTtBQUFaO0FBRVE7RUFDSSx3QkFBQTtBQUFaO0FBR0k7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7QUFEUjtBQUVRO0VBQ0ksc0NBQUE7RUFDQSxjQUFBO0FBQVo7QUFJSTtFQUNJLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0FBRlI7QUFLQTtFQUNJLDJCQUFBO0FBRko7QUFLQTtFQUVJLFdBQUE7RUFDQSx1QkFBQTtBQUhKO0FBS0E7RUFBNkIsY0FBQTtBQUQ3QjtBQUVBO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FBQ0Y7QUFDQTtFQUNFLDBCQUFBO0FBRUY7QUFDQTtFQUNFLHlCQUFBO0FBRUY7QUFDQTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBQUVGO0FBQ0E7RUFDQyxlQUFBO0FBRUQiLCJmaWxlIjoic2hpcHBpbmctYWRkcmVzcy1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2hpcHBpbmdBZGRyZXNzRGlhbG9nIHtcblxuICAgIC5kaWFsb2ctdGl0bGUge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICAgIH1cbiAgICAuaGVhZGVyLXRhYi1hY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwMjYgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwcHggNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgLm1hdC1kaWFsb2ctY29udGVudCB7IFxuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMjNweCAyNXB4O1xuICAgICAgICAuYm9yZGVyQm94IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICAgIH1cbiAgICAgICAgLnAtMTUge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfSAgXG4gICAgLm1hdC1kaWFsb2ctYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAyM3B4IDI1cHg7XG4gICAgICAgIC51cGRhdGVCdXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdCk7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICA6Om5nLWRlZXAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMDAwMERFO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG59ICBcbi5jLTEge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0KTtcbn1cblxuOjpuZy1kZWVwIC5zaGlwcGluZ0FkZHJlc3NEaWFsb2cgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG4ubWF0ZXJpYWwtaWNvbnMuY29sb3Jfd2hpdGUge2NvbG9yOiAjZmZmZmZmO31cbi5jbG9zZS1idXR0b257XG4gIGZsb2F0OiByaWdodDtcbiAgdG9wOi0yNHB4O1xuICByaWdodDotMjRweDtcbn1cbi5jbG9zZS1pY29uIHtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jbG9zZS1pY29uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuOjpuZy1kZWVwIC5zaGlwcGluZ0FkZHJlc3NEaWFsb2cgLmNsb3NlLWJ1dHRvbntcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0b3A6LTUycHg7XG4gIHJpZ2h0Oi01MnB4O1xufVxuXG46Om5nLWRlZXAgLnNoaXBwaW5nQWRkcmVzc0RpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuIG92ZXJmbG93OiB1bnNldFxufSJdfQ== */\";","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\nimport * as moment from 'moment';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { Cart1Service } from '../services/cart1.service';\nimport { ConfigService } from '../services/config.service';\nimport { NotificationService } from '../services/notification.service';\nimport { OrderService } from '../services/order.service';\nimport { PaymentService } from '../services/payment.service';\nimport { ProductService } from '../services/product.service';\nimport { UserService } from '../services/user.service';\nimport { UtilityService } from '../services/utility.service';\nimport { PersistentService } from '../services/persistent.service';\nimport { Router } from '@angular/router';\nimport { Item, CreateAutoOrder } from 'src/app/modals/createorderautoorder.modal';\nimport { ShipAddress } from 'src/app/modals/autoship.modal';\nimport { AccountService } from '../services/account.service';\nimport { AutoshipConfigurationService } from '../services/autoshipConfiguration.service';\nimport { RestApiService } from '../services/restapi.service';\nimport { ConfirmDialogComponent } from '../model/confirm-dialog/confirm-dialog.component';\nimport { ShipMethodsComponent } from '../model/ship-methods/ship-methods.component';\nimport { ShippingAddressDialogComponent } from '../model/shipping-address-dialog/shipping-address-dialog.component';\nimport { AllowCvvComponent } from '../model/allow-cvv/allow-cvv.component';\nimport { AddSymbolWithNumberPipe } from '../pipes/add-symbol-with-number.pipe';\nimport { CompanyService } from '../services/company.service';\n\n@Component({\n  selector: 'app-autoship-edit',\n  templateUrl: './autoship-edit.component.html',\n  styleUrls: ['./autoship-edit.component.scss']\n})\nexport class AutoshipEditComponent implements OnInit {\n  userService: UserServiceModal;\n  AutoOrderShippingAddress: any = {};\n  editingAutoship: any = {};\n  autoshipDate: any;\n  autoShipId: number = 0;\n  SelectedAutoshipPayment: any = {};\n  selectedAutoship: any;\n  autoshipDetail: any = {};\n  IsMultipleFrequency: boolean = true;\n  isStateRestrict: boolean = false;\n  commonData: any = {};\n  autoshipConfiguration: any = {\n    setting: {\n      disableEdit: false\n    }\n  };\n  frequencyTypeID: number = 1;\n  isDisabledCreateOrder: boolean = false;\n  @Output() onAutoshipCancel = new EventEmitter<any>();\n  item: any = {};\n  getAutoshipOrderDetail: any;\n  AutoshipSetting = [];\n  lastQuantity: any;\n  address: any;\n  addressChanged: boolean;\n  selectedShipMethodName: string;\n  updateAutoOrderRequest: CreateAutoOrder;\n  public AutoshipMinDate: Date;\n  public AutoshipMaxDate: Date;\n  constructor(\n    public dialog: MatDialog,\n    public configService: ConfigService,\n    public notificationService: NotificationService,\n    public apiService: RestApiService,\n    public translate: TranslateService,\n    public itemsService: ProductService,\n    public cart1Service: Cart1Service,\n    public orderService: OrderService,\n    public user: UserService,\n    public paymentService: PaymentService,\n    public utilityService: UtilityService,\n    public persistentService: PersistentService,\n    public router: Router,\n    public accountService: AccountService,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public companyService: CompanyService\n    ) {\n    this.userService = user.userServiceModal;\n    this.getAutoshipOrderDetail = this.persistentService.retailData.getAutoOrderDetailsByID;\n    this.AutoshipMinDate = moment().add(this.configService.localSettings.Autoship.AutoshipMinDate, 'days').toDate();\n    this.AutoshipMaxDate = moment().add(this.configService.localSettings.Autoship.AutoshipMaxDate, 'days').toDate();\n  }\n\n  ngOnInit(): void {\n    this.commonData = this.configService.getConfig();\n    this.userService.isAddressChanged = this.userService.isAddressChanged || false;\n    this.userService.isPaymentChanged = this.userService.isPaymentChanged || false;\n    this.userService.isShipMethodChanged = this.userService.isShipMethodChanged || false;\n    this.address = this.address || {};\n    this.persistentService.retailData.isChanged = this.persistentService.retailData.AddMoreItemInAutoshipFlag || false;\n    // Select Autoship Types\n    this.persistentService.retailData.isNewAutoship = this.persistentService.retailData.isNewAutoship || false;\n\n    // Show selected Autoship in dropdown\n    this.selectedAutoship = this.persistentService.retailData.CurrentSelectedAutoOrder;\n    // Get Saved & Allowed Payment Methods\n    this.persistentService.retailData.IsPaid = false;\n    this.paymentService.getPaymentType().then(() => {\n      if (!this.persistentService.retailData.AddMoreItemInAutoshipFlag) {\n        this.editAutoship();\n      } else {\n        this.getAutoshipOrderDetail = this.persistentService.retailData.AddMoreItemInAutoshipData;\n        this.frequencyTypeID = this.persistentService.retailData.Autoship.FrequencyTypeID;\n        this.editingAutoship.AutoOrderID = this.persistentService.retailData.AddMoreItemInAutoshipData.id;\n        if (this.userService.paymentMethods.length > 0) {\n          const paymentData = this.userService.paymentMethods[0];\n          this.paymentService.selectedPaymentTypeName = (paymentData.DisplayName || paymentData.CardType) +\n            ' ' +\n            (paymentData.Ending ? paymentData.Ending : (paymentData.Last4 ? paymentData.Last4 : '')) || this.translate.instant('add_a_payment_method');\n        }\n        this.orderService.calculateAutoOrder();\n      }\n    });\n  }\n\n  isEmptyObject(obj) {\n    return (obj && (Object.keys(obj).length === 0));\n  }\n\n  editAutoship() {\n    this.autoShipId = this.getAutoshipOrderDetail.id;\n    this.itemsService.selectedAutoOrderItems = [];\n    this.persistentService.retailData.IsPaid = this.getAutoshipOrderDetail.isPaid;\n    this.persistentService.retailData.CurrentSelectedAutoOrder = this.getAutoshipOrderDetail.id;\n\n    // Initial steps of Payment Functionality\n    this.persistentService.retailData.SelectedAutoshipPayment = {};\n    this.paymentService.selectedPaymentTypeName = this.translate.instant('Add_Payment_Method');\n    this.userService.paymentMethods = [];\n    this.paymentService.SelectedPaymentTypes = {};\n\n    const AutoOrderId = this.getAutoshipOrderDetail.id;\n\n    this.apiService.getAutoship(AutoOrderId).subscribe((result) => {\n      if (!result.Data || result.Data.AutoShipID <= 0) {\n        this.notificationService.error('Error', this.translate.instant('some_error_occur_try_again'));\n        return false;\n      }\n      this.persistentService.retailData.Autoship = {};\n      this.editingAutoship = result.Data;\n      this.autoshipDetail = result.Data;\n\n      // Fill Shipping Address on only Temp basis while editing autoship\n      this.AutoOrderShippingAddress = {};\n      this.AutoOrderShippingAddress.FirstName = this.editingAutoship.ShipAddress.FirstName;\n      this.AutoOrderShippingAddress.LastName = this.editingAutoship.ShipAddress.LastName;\n      this.AutoOrderShippingAddress.Address = this.editingAutoship.ShipAddress.Street1;\n      this.AutoOrderShippingAddress.Address2 = this.editingAutoship.ShipAddress.Street2;\n      this.AutoOrderShippingAddress.City = this.editingAutoship.ShipAddress.City;\n      this.AutoOrderShippingAddress.State = this.editingAutoship.ShipAddress.Region;\n      this.AutoOrderShippingAddress.Country = this.editingAutoship.ShipAddress.CountryCode;\n      this.AutoOrderShippingAddress.ZipCode = this.editingAutoship.ShipAddress.PostalCode;\n\n      // Fill Start Date\n      // **In case of edit an Autoship, We will show next run date as start date by default */\n      this.autoshipConfigurationService.autoshipDate = this.editingAutoship.NextProcessDate || this.editingAutoship.StartDate;\n      this.persistentService.retailData.autoshipDate = this.editingAutoship.NextProcessDate || this.editingAutoship.StartDate;\n\n      this.persistentService.retailData.Autoship.Frequency = this.editingAutoship.Frequency;\n      this.persistentService.retailData.Autoship.FrequencyTypeDescription = this.editingAutoship.FrequencyString;\n      this.frequencyTypeID = this.persistentService.retailData.Autoship.FrequencyTypeID = this.editingAutoship.Frequency;\n      this.autoshipConfigurationService.setting = {\n        autoshipSettings: {\n          frequencyTypeID : this.editingAutoship.Frequency\n        }\n      };\n\n      // If NextRun Date is Past Date, set it to default Autoship date\n      if (new Date(this.autoshipConfigurationService.autoshipDate) < new Date()) {\n        this.autoshipConfigurationService.autoshipDate = '';\n      }\n\n      this.userService.selectedShippingMethod = this.editingAutoship.ShipMethodID;\n      if (this.AutoOrderShippingAddress || Object.keys(this.AutoOrderShippingAddress).length > 0) {\n        this.userService.shippingAddress.FirstName = this.editingAutoship.ShipAddress.FirstName;\n        this.userService.shippingAddress.LastName = this.editingAutoship.ShipAddress.LastName;\n        this.userService.shippingAddress.Street1 = this.editingAutoship.ShipAddress.Street1;\n        this.userService.shippingAddress.Street2 = this.editingAutoship.ShipAddress.Street2;\n        this.userService.shippingAddress.City = this.editingAutoship.ShipAddress.City;\n        this.userService.shippingAddress.Region = this.editingAutoship.ShipAddress.Region;\n        this.userService.shippingAddress.CountryCode = this.editingAutoship.ShipAddress.CountryCode;\n        this.userService.shippingAddress.PostalCode = this.editingAutoship.ShipAddress.PostalCode;\n      }\n      let bvTotal = 0;\n      _.each(result.Data.LineItems, (item) => {\n        item.AutoOrderID = result.Data.AutoShipID;\n        item.ItemID = item.ItemID.toString();\n        item.Description = item.ItemDescription || item.Description;\n        item.ItemName = item.ItemDescription || item.ProductName;\n        item.Price = item.PriceEach || item.Prices[0].Price || item.Price;\n        item.PV = item.BVEach || item.QV;\n        item.BusinessVolumeEach = item.PV || item.CV;\n        item.ImageUrl = item.Image;\n        item.SmallImageUrl = item.SmallPicture || item.Image;\n        item.LargeImageUrl = item.SmallPicture || item.Image;\n        item.ShortDescription = item.ShortDetail || item.Specifications;\n        item.isAutoship = true;\n        item.OptionsMap = [];\n        this.itemsService.selectedAutoOrderItems.push(item);\n        bvTotal += Number(item.BV * item.Quantity);\n      });\n      _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n        _.each(this.itemsService.orders, (listItem) => {\n          if (item.ItemID == listItem.ItemID) {\n            item.AllowAutoship = listItem.AllowAutoship;\n          } else if (listItem.HasOptions) {\n            const optionMap = listItem.OptionsMap;\n            _.each(listItem.OptionsMap, (value) => {\n              if (value.ItemId == item.ItemID) {\n                item.AllowAutoship = value.AllowAutoship == undefined ? listItem.AllowAutoship : value.AllowAutoship;\n              }\n            });\n          }\n        });\n      });\n      localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n\n      // payment details for autoorder\n      this.persistentService.retailData.SelectedAutoshipPayment.PaymentTypeID = this.editingAutoship.PaymentMethodID;\n      if (this.paymentService.PaymentTypeResponse['SaveMethods'].length > 0) {\n        if (this.persistentService.retailData.SelectedAutoshipPayment.PaymentTypeID) {\n\n          const selectedAutoOrderPay = _.filter(this.paymentService.PaymentTypeResponse['SaveMethods'], (paymentMethod) => {\n            return paymentMethod.PaymentMethodId == this.persistentService.retailData.SelectedAutoshipPayment.PaymentTypeID;\n          })[0];\n\n          if (selectedAutoOrderPay) {\n            this.persistentService.retailData.SelectedAutoshipPayment = selectedAutoOrderPay;\n            this.paymentService.SelectedPaymentTypes = selectedAutoOrderPay;\n            this.paymentService.selectedPaymentTypeName =\n              (selectedAutoOrderPay.DisplayName || selectedAutoOrderPay.CardType) +\n              ' ' +\n              (selectedAutoOrderPay.Ending ? selectedAutoOrderPay.Ending : '') || this.translate.instant('add_a_payment_method');\n            const selectpay = {\n              CardType: this.paymentService.SelectedPaymentTypes.CardType,\n              Last4: this.paymentService.SelectedPaymentTypes.Ending,\n              ExpireMonth: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('M') : 0,\n              ExpireYear: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('YYYY') : 0,\n              Token: this.paymentService.SelectedPaymentTypes.PaymentMethodId ? this.paymentService.SelectedPaymentTypes.PaymentMethodId : '',\n              MerchantId: this.paymentService.SelectedPaymentTypes.MerchantId\n            };\n            this.userService.paymentMethods.push(selectpay);\n            \n            localStorage.setItem('userService', JSON.stringify(this.userService));\n          } else {\n            this.setDefaultAutoshipPayment();\n          }\n\n        } else {\n          this.setDefaultAutoshipPayment();\n        }\n      } else {\n        this.persistentService.retailData.SelectedAutoshipPayment = [];\n        this.paymentService.selectedPaymentTypeName = this.translate.instant('Add_Payment_Method');\n        \n        localStorage.setItem('userService', JSON.stringify(this.userService));\n      }\n      this.cart1Service.setQuantiy();\n\n      this.orderService.calculateAutoOrder().then(() => {\n        this.orderService.calculateAutoOrderResponse['BusinessVolumeTotal'] = this.editingAutoship.TotalCV;\n      });\n\n      this.persistentService.retailData.editAutoshipItems = cloneDeep(this.itemsService.selectedAutoOrderItems);\n      this.utilityService.setAutoshipEditFlag(true);\n      this.autoshipConfigurationService.init();\n    }, (error) => {\n      console.warn('error', error);\n    }, () => {\n\n    });\n  }\n\n  getLastQuantity(type, item) {\n    this.lastQuantity = this.getQuantityModel(type, item)[item.ItemID];\n  }\n\n  setFrequency(frequencyTypeID) {\n    this.commonData.FrequencyTypes.some((freq) => {\n      if (freq.ID == frequencyTypeID) {\n        this.persistentService.retailData.Autoship.FrequencyTypeDescription = freq.Description;\n        this.persistentService.retailData.Autoship.FrequencyTypeID = freq.ID;\n        this.persistentService.retailData.Autoship.FrequencyTypeDescription = freq.Description;\n        this.persistentService.retailData.Autoship.FrequencyTypeID = freq.ID;\n        this.persistentService.retailData.isChanged = true;\n        return;\n      }\n    });\n  }\n\n  setDefaultAutoshipPayment() {\n    this.persistentService.retailData.SelectedAutoshipPayment = this.paymentService.PaymentTypeResponse['SaveMethods'][0];\n    this.paymentService.SelectedPaymentTypes = this.persistentService.retailData.SelectedAutoshipPayment;\n    this.paymentService.selectedPaymentTypeName = this.persistentService.retailData.SelectedAutoshipPayment.CardType + ' ' + this.persistentService.retailData.SelectedAutoshipPayment.Ending;\n    const selectpay = {\n      CardType: this.paymentService.SelectedPaymentTypes.CardType,\n      Last4: this.paymentService.SelectedPaymentTypes.Ending,\n      ExpireMonth: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('M') : 0,\n      ExpireYear: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('YYYY') : 0,\n      Token: this.paymentService.SelectedPaymentTypes.PaymentMethodId ? this.paymentService.SelectedPaymentTypes.PaymentMethodId : '',\n      PaymentMethodId: this.paymentService.SelectedPaymentTypes.PaymentMethodId ? this.paymentService.SelectedPaymentTypes.PaymentMethodId : '',\n      MerchantId: this.paymentService.SelectedPaymentTypes.MerchantId\n    };\n    this.userService.paymentMethods.push(selectpay);\n    \n    localStorage.setItem('userService', JSON.stringify(this.userService));\n  }\n\n  editAutoshipFrequency(event) {\n    const m: moment.Moment = event.value;\n    this.persistentService.retailData.isChanged = true;\n    this.autoshipConfigurationService.autoshipDate = this.editingAutoship.NextProcessDate = m;\n  }\n\n\n  getAddress(response) {\n    this.persistentService.retailData.isChanged = true;\n    if (this.userService.shippingAddress.CountryCode.toLowerCase() !== response.address.Country.toLowerCase()) {\n      this.addressChanged = true;\n    }\n    this.persistentService.retailData.isNewAddress = response.address;\n    this.userService.shippingAddress.FirstName = response.address.FirstName;\n    this.userService.shippingAddress.LastName = response.address.LastName;\n    this.userService.shippingAddress.Street1 = response.address.Address1;\n    this.userService.shippingAddress.Street2 = response.address.Address2;\n    this.userService.shippingAddress.City = response.address.City;\n    this.userService.shippingAddress.Region = response.address.State;\n    this.userService.shippingAddress.CountryCode = response.address.Country;\n    this.userService.shippingAddress.PostalCode = response.address.Zip;\n\n    if (response.isReplacement) {\n      this.address.replaceDefault = true;\n      this.persistentService.retailData.isAddresschanged = true;\n    } else {\n      this.persistentService.retailData.isAddresschanged = false;\n    }\n    // Order calculations may change based on the shipping Address\n    this.orderService.calculateAutoOrder();\n  }\n\n  decreaseQuantiy(item) {\n    if (this.itemsService.selectedAutoOrderItems.length == 1 && this.itemsService.selectedAutoOrderItems[0].Quantity == 1) {\n      if (this.AutoshipSetting['IsShowDeleteAutoship']) {\n        this.deleteAutoship();\n      } else {\n        const dialog = this.dialog.open(ConfirmDialogComponent, {\n          maxWidth: '400px',\n          data: {\n            title: this.translate.instant('trying_delete_autoship'),\n            message: this.translate.instant('prevent_delete_autoship_message'),\n            takeaction: this.translate.instant('got_it'),\n            noaction: '',\n          },\n          panelClass: '',\n          disableClose: true\n        });\n        dialog.afterClosed().subscribe((result) => {\n          if (result) {\n            this.persistentService.retailData.isChanged = true;\n          }\n        });\n      }\n    } else {\n      this.cart1Service.decreaseQuantiy(item, true, false);\n    }\n  }\n\n  clearCart() {\n    this.cart1Service.autoshipQuantity = {};\n    this.itemsService.selectedAutoOrderItems = [];\n    this.orderService.calculateAutoOrderResponse = {};\n    localStorage.removeItem('cart.autoship');\n  }\n\n  cancelAutoship() {\n    this.utilityService.setAutoshipEditFlag(false);\n    this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n    this.persistentService.retailData.isAutoshipEdit = false;\n    this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n    this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n    this.clearCart();\n    this.orderService.calculateAutoOrder();\n  }\n\n  getAutoshipFrequency() {\n    return this.persistentService.retailData.Autoship && this.persistentService.retailData.Autoship.FrequencyTypeDescription;\n  }\n\n  getAutoshipStartDate() {\n    if (this.autoshipConfigurationService.autoshipDate){\n    return moment(this.autoshipConfigurationService.autoshipDate).toDate();\n    }else{\n      return moment().toDate();\n    }\n  }\n\n  getShipMethodName() {\n    if (this.orderService.calculateAutoOrderResponse?.ShippingMethods) {\n      const selectedShipMethods = _.find(this.orderService.calculateAutoOrderResponse.ShippingMethods, (item) => {\n        return item.ShipMethodId == this.userService.selectedShippingMethod;\n      });\n      if (selectedShipMethods && !this.utilityService.isEmptyObject(selectedShipMethods)) {\n        this.selectedShipMethodName = selectedShipMethods.Description;\n      }\n      return this.selectedShipMethodName;\n    }\n  }\n\n  getQuantityModel(type, item): any {\n    return this.cart1Service[type == 'pack' ? 'packQuantity' : (type == 'autoship' ? 'autoshipQuantity' : ((item && item.UsePoints) ? 'orderRewardQuantity' : 'orderQuantity'))];\n  }\n\n\n  checkQuantity(item, isAutoship, isPack) {\n    const quantity = this.getQuantityModel(isPack, isAutoship)[item.ItemCode];\n    if (!Number(quantity)) {\n      this.getQuantityModel(isPack, isAutoship)[item.ItemCode] = 1;\n    } else {\n      item.Quantity = quantity;\n      if (isAutoship) {\n        localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n        this.orderService.calculateAutoOrder();\n      } else {\n        localStorage.setItem((isPack ? 'cart.packs' : 'cart.order'), JSON.stringify(isPack ? this.itemsService.selectedPacks : this.itemsService.selectedOrderItems));\n        this.orderService.calculateOrder();\n      }\n    }\n  }\n\n  editAutoshipShippingMethod() {\n    const dialog = this.dialog.open(ShipMethodsComponent, {\n      width: '600px',\n      maxWidth: '600px',\n      data: this.orderService.calculateAutoOrderResponse.ShippingMethods,\n      panelClass: 'shippingmethodDialog'\n    });\n    dialog.afterClosed().subscribe((result) => {\n      if (result) {\n        this.getShipMethod(result);\n      }\n    });\n  }\n  editAutoshipShippingAddress() {\n\n    const dialog = this.dialog.open(ShippingAddressDialogComponent, {\n      width: '600px',\n      maxWidth: '600px',\n      panelClass: 'shippingAddressDialog'\n    });\n    dialog.afterClosed().subscribe((result) => {\n      if (result) {\n        if (result && result.isReplacement) {\n          this.userService.shippingAddress.FirstName = result.address.FirstName;\n          this.userService.shippingAddress.LastName = result.address.LastName;\n          this.userService.shippingAddress.Street1 = result.address.Street1;\n          this.userService.shippingAddress.Street2 = result.address.Street2;\n          this.userService.shippingAddress.City = result.address.City;\n          this.userService.shippingAddress.Region = result.address.Region;\n          this.userService.shippingAddress.CountryCode = result.address.CountryCode;\n          this.userService.shippingAddress.PostalCode = result.address.PostalCode;\n          this.persistentService.retailData.isChanged = true;\n          this.orderService.calculateAutoOrder();\n        }\n      }\n    });\n  }\n\n  getShipMethod(newShippingMethod) {\n    this.persistentService.retailData.isChanged = true;\n    this.userService.selectedShippingMethod = newShippingMethod.shipMethod;\n    this.orderService.calculateAutoOrder();\n  }\n\n  deleteItem(item) {\n    if (this.itemsService.selectedAutoOrderItems && this.itemsService.selectedAutoOrderItems.length > 1) {\n      this.persistentService.retailData.isChanged = true;\n      this.cart1Service.removeFromCart(item, true, false, true);\n    } else if (this.itemsService.selectedAutoOrderItems && this.itemsService.selectedAutoOrderItems.length == 1) {\n      if (this.AutoshipSetting['IsShowDeleteAutoship']) {\n        this.deleteAutoship();\n      } else {\n\n        const dialog = this.dialog.open(ConfirmDialogComponent, {\n          maxWidth: '400px',\n          data: {\n            title: this.translate.instant('trying_delete_autoship'),\n            message: this.translate.instant('prevent_delete_autoship_message'),\n            takeaction: this.translate.instant('got_it'),\n            noaction: '',\n          },\n          panelClass: '',\n          disableClose: true\n        });\n        dialog.afterClosed().subscribe((result) => {\n          if (result) {\n          }\n        });\n      }\n    }\n  }\n\n  deleteAutoship() {\n    const dialog = this.dialog.open(ConfirmDialogComponent, {\n      maxWidth: '400px',\n      data: {\n        title: this.translate.instant('delete_autoship_title'),\n        message: this.translate.instant('delete_autoship_text'),\n        takeaction: this.translate.instant('YES'),\n        noaction: this.translate.instant('NO'),\n      },\n      panelClass: '',\n      disableClose: true\n    });\n    dialog.afterClosed().subscribe((result) => {\n      if (result) {\n        this.apiService.deleteAutoship(this.persistentService.retailData.CurrentSelectedAutoOrder).subscribe((result) => {\n          try {\n            if (result && Number(result.Status) === 1) {\n              this.utilityService.setAutoshipEditFlag(false);\n              this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n              this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n              this.persistentService.retailData.editAutoshipItems = [];\n              this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n              this.router.navigate(['/manageautoship']);\n              this.notificationService.success('Success', this.translate.instant('successfully_deleted'));\n              this.persistentService.retailData.isAutoshipEdit = false;\n              this.cart1Service.clearCart();\n            } else {\n              this.notificationService.error('error_', this.translate.instant('some_error_occur_try_again'));\n            }\n          } catch (ex) {\n            console.error('ex', ex);\n            this.notificationService.error('error_', this.translate.instant('Delete Autoship Error'));\n          }\n\n        }, (error) => {\n          this.notificationService.error('error_', this.translate.instant('Delete Autoship Error'));\n        }, () => {\n        });\n      }\n    });\n  }\n\n  // Save Payment Method\n  addSavePayment(paymentData) {\n    this.persistentService.retailData.isChanged = true;\n    if (this.paymentService.SelectedPaymentTypes && (this.paymentService.SelectedPaymentTypes.MerchantId !== paymentData.MerchantId)) {\n      this.userService.paymentMethods = [];\n    }\n    this.paymentService.SelectedPaymentTypes = paymentData;\n    this.paymentService.selectedPaymentTypeName =\n      (paymentData.DisplayName || paymentData.CardType) +\n      ' ' +\n      (paymentData.Ending ? paymentData.Ending : '') || this.translate.instant('add_a_payment_method');\n\n    if (this.paymentService.SelectedPaymentTypes.CanSavePayments) {\n      this.paymentService.OldSelectedPaymentType = this.paymentService.SelectedPaymentTypes;\n      this.paymentService.getPaymentData();\n    } else {\n      this.paymentService.oldSelectedPaymentTypeName = this.paymentService.selectedPaymentTypeName;\n      this.userService.paymentMethods = [];\n      const selectpay = {\n        CardType: this.paymentService.SelectedPaymentTypes.CardType || this.paymentService.SelectedPaymentTypes.Name,\n        Last4: this.paymentService.SelectedPaymentTypes.Ending,\n        ExpireMonth: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('M') : 0,\n        ExpireYear: this.paymentService.SelectedPaymentTypes.Expires ? moment(this.paymentService.SelectedPaymentTypes.Expires).format('YYYY') : 0,\n        Token: this.paymentService.SelectedPaymentTypes.PaymentMethodId ? this.paymentService.SelectedPaymentTypes.PaymentMethodId : '',\n        MerchantId: this.paymentService.SelectedPaymentTypes.MerchantId\n      };\n      this.userService.paymentMethods.push(selectpay);\n      this.userService.isPaymentChanged = true;\n    }\n    localStorage.setItem('userService', JSON.stringify(this.userService));\n  }\n\n  // delete Payment Method\n  removeCardDetail(payment) {\n    const messageText = this.translate.instant('confirm_delete_payment_info') + ' ' + this.getPaymentDescription(payment) + '?';\n    const dialog = this.dialog.open(ConfirmDialogComponent, {\n      maxWidth: '400px',\n      data: {\n        title: '',\n        message: messageText,\n        takeaction: this.translate.instant('Delete'),\n        noaction: this.translate.instant('cancel'),\n      },\n      panelClass: '',\n      disableClose: true\n    });\n    dialog.afterClosed().subscribe((data) => {\n      this.deleteCreditCard(payment);\n      this.persistentService.retailData.isChanged = true;\n    });\n  }\n\n  getPaymentDescription(payment) {\n    if (!payment) {\n      return '';\n    }\n    if (payment.CreditCardTypeDescription === 'Unknown') {\n      return payment.CreditCardTypeDescription;\n    }\n    const type = payment.CreditCardTypeDescription || payment.Name || payment.CardType;\n    const numb = payment.CreditCardNumberDisplay || new AddSymbolWithNumberPipe().transform(payment.Ending, '*', 4, 11) ||\n      new AddSymbolWithNumberPipe().transform(payment.Last4, '*', 4, 11);\n    return type + ' ' + numb;\n  }\n\n  deleteCreditCard(payment) {\n    const DeleteCreditCardRequest = {\n      customerId: 0,\n      merchantid: payment.MerchantId,\n      paymentmethodid: payment.PaymentMethodId\n    };\n    this.apiService\n      .deletePaymentMethod(DeleteCreditCardRequest).subscribe((result) => {\n        try {\n          if (parseInt(result.Status, 10) === 0) {\n            if (this.paymentService.selectedPaymentTypeName == (payment.Name + ' ' + payment.Ending)) {\n              this.paymentService.SelectedPaymentTypes = {};\n              this.userService.paymentMethods = [];\n              this.paymentService.selectedPaymentTypeName = '';\n              this.paymentService.selectedPaymentTypeName = this.translate.instant('Add_Payment_Method');\n            }\n            this.notificationService.success('Success', this.translate.instant('successfully_deleted'));\n            this.paymentService.getPaymentType();\n          } else {\n            this.notificationService.error('Error', (result.Message ? result.Message : this.translate.instant('not_remove')));\n          }\n        } catch (ex) {\n          console.error('ex', ex);\n        }\n      }, (error) => {\n        this.notificationService.error('Error', this.translate.instant('not_remove'));\n      },\n        () => {\n        });\n  }\n\n  getDisplayValue() {\n    if (parseInt(this.paymentService.selectedPaymentTypeName.split(' ')[1], 10)) {\n      const displayValue = this.paymentService.selectedPaymentTypeName.split(' ')[0] + ' ' + this.translate.instant('ending_in') + ' ' + this.paymentService.selectedPaymentTypeName.split(' ')[1];\n      return displayValue;\n    } else {\n      return this.paymentService.selectedPaymentTypeName;\n    }\n  }\n\n  addAutoshipItem() {\n    const autoshipText = this.translate.instant('add_to_autoship_and_checkout') + ' ' + '#' + this.editingAutoship.AutoShipID + ' ' + '?';\n    const dialog = this.dialog.open(ConfirmDialogComponent, {\n      maxWidth: '400px',\n      data: {\n        title: autoshipText,\n        message: '',\n        takeaction: this.translate.instant('okay_to_shopping'),\n        noaction: this.translate.instant('cancel'),\n      },\n      panelClass: '',\n      disableClose: true\n    });\n    dialog.afterClosed().subscribe((data) => {\n      if (data) {\n        this.persistentService.retailData.isChanged = true;\n        this.persistentService.retailData.AddMoreItemInAutoshipFlag = true;\n        this.persistentService.retailData.AddMoreItemInAutoshipData = this.getAutoshipOrderDetail;\n        this.router.navigate(['/products/all']);\n      }\n    });\n  }\n\n  autoshipChanged() {\n    return this.persistentService.retailData.isChanged;\n  }\n\n  getCvv(data) {\n    if (data) {\n      this.placeAutoOrder(data);\n    } else {\n      this.isDisabledCreateOrder = false;\n    }\n  }\n\n  updateAutoOrder() {\n    this.isDisabledCreateOrder = true;\n    if (this.user.checkIfUserAuthenticatedOrNot()) {\n      if (\n        this.paymentService.SelectedPaymentTypes && Object.keys(this.paymentService.SelectedPaymentTypes).length &&\n        this.userService.paymentMethods.length && this.configService.localSettings.Global.AllowCVVModel\n      ) {\n        const dialog = this.dialog.open(AllowCvvComponent, {\n          disableClose: true,\n          panelClass: 'allowCvvModel-dialog'\n        });\n        dialog.afterClosed().subscribe((data) => {\n          this.getCvv(data);\n        });\n      } else {\n        this.placeAutoOrder();\n      }\n    }\n    else {\n      this.accountService.logout();\n      this.router.navigate(['/Login']);\n    }\n  }\n\n  placeAutoOrder(dataCvvCode?: any) {\n    const placeOrderPromise = new Promise((resolve, reject) => {\n      if (this.itemsService.selectedAutoOrderItems.length > 0 && this.persistentService.retailData.Autoship.FrequencyTypeID == undefined) {\n        this.notificationService.error('error_', 'choose_frequency_sidecart');\n        return;\n      }\n\n      if (this.itemsService.selectedAutoOrderItems.length == 0) {\n        this.notificationService.error('error_', 'autoship_required_msg');\n        return;\n      }\n      if (this.userService.paymentMethods.length > 0) {\n        if (this.userService.paymentMethods[0].Last4 || this.userService.paymentMethods[0].Last4 === undefined) {\n          this.paymentService.IsFrameReload = false;\n        } else {\n          this.notificationService.error('error_', 'shop_please_add_payment');\n          this.isDisabledCreateOrder = false;\n          return;\n        }\n      } else {\n        this.notificationService.error('error_', 'shop_please_add_payment');\n        this.isDisabledCreateOrder = false;\n        return;\n      }\n\n      if (this.isStateRestrict || (!Object.keys(this.userService.shippingAddress).length && !this.userService.shippingAddress.Street1)) {\n        this.notificationService.error('error_', 'please_add_address');\n        this.isDisabledCreateOrder = false;\n        return;\n      }\n\n      const autoshipproductdetails: Array<Item> = [];\n      _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n        if (parseInt(item.Quantity, 10) > 0) {\n          autoshipproductdetails.push({\n            ItemId: item.ItemID,\n            IsReward: false,\n            Quantity: item.Quantity\n          });\n        }\n      });\n\n      this.updateAutoOrderRequest = {\n          ShipMethodId: this.userService.selectedShippingMethod || 1,\n          Frequency: this.persistentService.retailData.Autoship.FrequencyTypeID.toString() || 1,\n          Items: autoshipproductdetails,\n          MerchantId: this.userService.paymentMethods[0].MerchantId || '',\n          PaymentMethodId: this.userService.paymentMethods[0].Token || this.paymentService.SelectedPaymentTypes.PaymentMethodId || '',\n          ShippingAddress: {\n            Street1: this.userService.shippingAddress.Street1 || '',\n            Street2: this.userService.shippingAddress.Street2 || '',\n            Street3: this.userService.shippingAddress.Street3 || '',\n            Region: this.userService.shippingAddress.Region || '',\n            City: this.userService.shippingAddress.City || '',\n            PostalCode: this.userService.shippingAddress.PostalCode || '',\n            CountryCode: this.userService.shippingAddress.CountryCode || 'US'\n          } as ShipAddress,\n          StartDate: this.autoshipConfigurationService.autoshipDate,\n        } as CreateAutoOrder;\n\n      this.apiService.updateAutoship(this.getAutoshipOrderDetail.id, this.updateAutoOrderRequest).subscribe((result) => {\n        this.isDisabledCreateOrder = false;\n        if (result.Status === 0) {\n          this.userService.newUser = false;\n          try {\n          \n          }\n          catch (ex) {\n            console.warn('ex', ex);\n          }\n          result.AutoOrderId = this.getAutoshipOrderDetail.id;\n          localStorage.setItem('SubmitApplication', JSON.stringify(result));\n          this.utilityService.setAutoshipEditFlag(false);\n          this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n          this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n          this.persistentService.retailData.isChanged = false;\n          this.userService.isAddressChanged = false;\n          this.userService.isPaymentChanged = false;\n          this.userService.isShipMethodChanged = false;\n          this.persistentService.retailData.isNewAutoship = false;\n          this.persistentService.retailData.editAutoshipItems = [];\n          this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n          this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n          this.userService.isAddressChanged = false;\n          if (result.RedirectUrl && result.RedirectUrl.length > 0) {\n            window.location = result.RedirectUrl;\n          }\n          this.router.navigate(['/complete']);\n        }\n        else{\n          this.notificationService.error('error_', this.translate.instant(result.Message));\n        }\n        resolve(result);\n      }, (error) => {\n        reject(this.translate.instant('some_error_occur_try_again'));\n        this.isDisabledCreateOrder = false;\n        this.notificationService.error('error_', this.translate.instant('some_error_occur_try_again'));\n      }, () => { });\n    });\n    return placeOrderPromise;\n  }\n}\n","export default \".seprator {\\n  border-right: 1px solid #cfcfcf;\\n}\\n\\n.btn-color {\\n  background-color: var(--theme-deafult-secondary);\\n}\\n\\n.head-text {\\n  border-bottom: 1px solid #cfcfcf;\\n  padding: 2%;\\n}\\n\\n.p-50 {\\n  padding: 50px;\\n}\\n\\n.txt-center {\\n  text-align: center;\\n}\\n\\n#autologin {\\n  margin-left: 23%;\\n  margin-right: 25%;\\n  background: #fff;\\n}\\n\\n.autologin {\\n  padding: 45px 0 45px;\\n  font-size: 25px;\\n}\\n\\n@media (min-width: 1440px) {\\n  .login {\\n    max-width: 1365px;\\n    margin: auto;\\n  }\\n}\\n\\n.btn-width {\\n  min-width: 150px !important;\\n}\\n\\n.login .btn-border {\\n  border: 1px solid black;\\n}\\n\\n.login .vertical-divider {\\n  border-top-width: 0;\\n  border-right-width: 1px;\\n  border-right-style: solid;\\n  height: 100%;\\n}\\n\\n.login .upper-case {\\n  text-transform: uppercase !important;\\n}\\n\\n.login .isIpadView {\\n  display: none;\\n}\\n\\n@media only screen and (max-width: 768px) and (min-width: 767px) {\\n  .login .isIpadView {\\n    display: block;\\n    border-left: 1px solid rgba(0, 0, 0, 0.12);\\n    height: 150PX;\\n  }\\n  .login .isIpad {\\n    margin-right: 10px;\\n  }\\n}\\n\\n@media screen and (max-width: 599px) {\\n  .login .login-bottom {\\n    align-content: center;\\n  }\\n  .login .login-bottom button {\\n    width: 100%;\\n  }\\n  .login .login-bottom .donot_have_account,\\n.login .login-bottom .already_have_account {\\n    margin: 5px auto;\\n  }\\n  .login .login-bottom #create-one,\\n.login .login-bottom .signIn_account {\\n    margin: auto;\\n  }\\n  .login .md-content_Login_or {\\n    padding: 0;\\n  }\\n}\\n\\n.login .has-error .help-block {\\n  top: 52px !important;\\n}\\n\\n.login ::ng-deep .mat-form-field-outline-start {\\n  border-radius: 28px 0 0 28px !important;\\n  min-width: 28px !important;\\n}\\n\\n.login ::ng-deep .mat-form-field-outline-end {\\n  border-radius: 0 28px 28px 0 !important;\\n}\\n\\n.login .w-70 {\\n  width: 70%;\\n}\\n\\n.login mat-form-field input {\\n  margin: 0 0 6px 14px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xvZ2luLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFFO0VBQ0UsK0JBQUE7QUFDSjs7QUFDQTtFQUNFLGdEQUFBO0FBRUY7O0FBQUU7RUFDRSxnQ0FBQTtFQUNBLFdBQUE7QUFHSjs7QUFBRTtFQUNFLGFBQUE7QUFHSjs7QUFBRTtFQUNFLGtCQUFBO0FBR0o7O0FBQUU7RUFDRSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7QUFHSjs7QUFBRTtFQUNFLG9CQUFBO0VBQ0EsZUFBQTtBQUdKOztBQUFFO0VBQ0U7SUFDRSxpQkFBQTtJQUNBLFlBQUE7RUFHSjtBQUNGOztBQUFFO0VBQ0UsMkJBQUE7QUFFSjs7QUFHSTtFQUNFLHVCQUFBO0FBQU47O0FBR0k7RUFDRSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0FBRE47O0FBSUk7RUFDRSxvQ0FBQTtBQUZOOztBQUtJO0VBQ0UsYUFBQTtBQUhOOztBQU1JO0VBQ0U7SUFDRSxjQUFBO0lBQ0EsMENBQUE7SUFDQSxhQUFBO0VBSk47RUFPSTtJQUNFLGtCQUFBO0VBTE47QUFDRjs7QUFRSTtFQUNFO0lBQ0UscUJBQUE7RUFOTjtFQVFNO0lBQ0UsV0FBQTtFQU5SO0VBU007O0lBRUUsZ0JBQUE7RUFQUjtFQVVNOztJQUVFLFlBQUE7RUFSUjtFQVlJO0lBQ0UsVUFBQTtFQVZOO0FBQ0Y7O0FBY0k7RUFDRSxvQkFBQTtBQVhOOztBQWFJO0VBQ0UsdUNBQUE7RUFDQSwwQkFBQTtBQVhOOztBQWNJO0VBQ0UsdUNBQUE7QUFaTjs7QUFjSTtFQUNFLFVBQUE7QUFaTjs7QUFjSTtFQUNFLG9CQUFBO0FBWk4iLCJmaWxlIjoibG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIgIC5zZXByYXRvciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NmY2ZjZjtcbiAgfVxuLmJ0bi1jb2xvcntcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xufVxuICAuaGVhZC10ZXh0IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NmY2ZjZjtcbiAgICBwYWRkaW5nOiAyJTtcbiAgfVxuXG4gIC5wLTUwIHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG5cbiAgLnR4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICNhdXRvbG9naW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAyMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNSU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gIC5hdXRvbG9naW4ge1xuICAgIHBhZGRpbmc6IDQ1cHggMCA0NXB4O1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOjE0NDBweCkge1xuICAgIC5sb2dpbiB7XG4gICAgICBtYXgtd2lkdGg6IDEzNjVweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAuYnRuLXdpZHRoIHtcbiAgICBtaW4td2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubG9naW4ge1xuICAgIFxuICAgIC5idG4tYm9yZGVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIH1cblxuICAgIC52ZXJ0aWNhbC1kaXZpZGVyIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVwcGVyLWNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5pc0lwYWRWaWV3IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAuaXNJcGFkVmlldyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIGhlaWdodDogMTUwUFg7XG4gICAgICB9XG5cbiAgICAgIC5pc0lwYWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5sb2dpbi1ib3R0b20ge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb25vdF9oYXZlX2FjY291bnQsXG4gICAgICAgIC5hbHJlYWR5X2hhdmVfYWNjb3VudCB7XG4gICAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICNjcmVhdGUtb25lLFxuICAgICAgICAuc2lnbkluX2FjY291bnQge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWQtY29udGVudF9Mb2dpbl9vciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2dpbntcbiAgICAuaGFzLWVycm9yIC5oZWxwLWJsb2NrIHtcbiAgICAgIHRvcDogNTJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICA6Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMjhweCAwIDAgMjhweCAhaW1wb3J0YW50O1xuICAgICAgbWluLXdpZHRoOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAyOHB4IDI4cHggMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudy03MHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxuICAgIG1hdC1mb3JtLWZpZWxkIGlucHV0e1xuICAgICAgbWFyZ2luOiAwIDAgNnB4IDE0cHg7XG4gICAgfVxuICB9Il19 */\";","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\nimport * as moment from 'moment';\nimport { CookieService } from 'ngx-cookie-service';\nimport { BehaviorSubject, Observable, Subscriber } from 'rxjs';\nimport { UserServiceModal, PersonalInfo, WebOffice } from 'src/app/modals/userservice.modal';\nimport { RestApiService } from './restapi.service';\nimport { UtilityService } from './utility.service';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class UserService  {\n  // Called after the constructor, initializing input properties, and the first call to ngOnChanges.\n  // Add 'implements OnInit' to the class.\n  isLoggedIn: Observable<boolean>;\n  public userServiceModal: UserServiceModal;\n  public userServiceSubject: BehaviorSubject<UserServiceModal>;\n  public userServiceSubscriber: Subscriber<UserServiceModal>;\n  constructor(\n    public activatedRoute: ActivatedRoute,\n    public apiService: RestApiService,\n    public utilityService: UtilityService,\n    public cookieService: CookieService\n    ) {\n    this.userServiceModal = new UserServiceModal();\n    this.isLoggedIn = this.apiService.isLoggedIn();\n    this.isLoggedIn.subscribe((data) => {\n    });\n\n  }\n  public service: any = {};\n\n  /** * init * @method  init */\n  public init(): void {\n    if (localStorage.getItem('userService')) {\n      this.service = JSON.parse(localStorage.getItem('userService')) as UserServiceModal;\n      this.userServiceModal.customerTypeID = parseInt(this.activatedRoute.snapshot.queryParams.type, 10) || this.service.customerTypeID || 1;\n      this.userServiceModal.enrollerInfo = this.service.enrollerInfo || {};\n      this.userServiceModal.guestUserLogin = this.service.guestUserLogin || false;\n      this.userServiceModal.customerData = this.service.customerData || {};\n      this.userServiceModal.guestUserData = this.service.guestUserData || {};\n      this.userServiceModal.shippingAddress = this.service.shippingAddress || {};\n      this.userServiceModal.mailingAddress = this.service.mailingAddress || {};\n      this.userServiceModal.newshippingAddress = this.service.newshippingAddress || {};\n      this.userServiceModal.personalInfo = this.service.personalInfo || {} as PersonalInfo;\n      this.userServiceModal.personalInfo.birthDay = this.service.personalInfo.birthDay || '01';\n      this.userServiceModal.personalInfo.birthMonth = this.service.personalInfo.birthMonth || '01';\n      this.userServiceModal.personalInfo.birthYear = this.service.personalInfo.birthYear || (moment().year() - 18).toString();\n      this.userServiceModal.personalInfo.phoneNumber = this.service.personalInfo.phoneNumber || {};\n      this.userServiceModal.webOffice = this.service.webOffice || {};\n      this.userServiceModal.couponInfo = this.service.couponInfo || {};\n      this.userServiceModal.DynamicCouponCode = this.service.DynamicCouponCode || {};\n      this.userServiceModal.couponInfo.IsAppliedcode = this.service.couponInfo.IsAppliedcode || false;\n      this.userServiceModal.paymentMethods = this.service.paymentMethods || [];\n      this.userServiceModal.referralURL = this.activatedRoute.snapshot.queryParams.ref;\n      this.userServiceModal.restrictedStates = this.service.restrictedStates || [];\n      this.userServiceModal.restrictedShipStates = this.service.restrictedShipStates || '';\n      this.userServiceModal.selectedShippingMethod = this.service.selectedShippingMethod || 0;\n      this.userServiceModal.shippingMethods = this.service.shippingMethods || [];\n      this.userServiceModal.autoshipCardDetail = this.service.autoshipCardDetail || {};\n      this.userServiceModal.cardDetail = this.service.cardDetail || {};\n      this.userServiceModal.commissionPayment = this.service.commissionPayment || '';\n      this.userServiceModal.licenseNumber = this.service.licenseNumber || '';\n      this.userServiceModal.legName = this.activatedRoute.snapshot.queryParams.legName;\n      this.userServiceModal.enrollerId = Number(this.activatedRoute.snapshot.queryParams.enrollerId || this.service.enrollerId) || 0;\n      this.userServiceModal.sponsorId = Number(this.activatedRoute.snapshot.queryParams.sponsorId || this.service.sponsorId) || 0;\n      this.userServiceModal.doNotWishAutoship = this.service.doNotWishAutoship || false;\n      this.userServiceModal.checkItems = this.service.checkItems || false;\n      this.userServiceModal.autologin = this.service.autologin || this.activatedRoute.snapshot.queryParams.autologin || false;\n      this.userServiceModal.regionMainState = this.service.regionMainState || '';\n      this.userServiceModal.newUser = this.service.newUser || false;\n      this.userServiceModal.TotalSteps = 6;\n      this.userServiceModal.noOfStepsVerified = this.service.noOfStepsVerified || 0;\n      this.userServiceModal.couponInfo.availableRewards = this.service.couponInfo.availableRewards || [];\n      // this.userServiceModal.selectedLanguageCode = this.activatedRoute.snapshot.queryParams.LanguageCode || this.service.selectedLanguageCode || 'en';\n      // this.userServiceModal.selectedCountry = this.userServiceModal.selectedCountry || this.activatedRoute.snapshot.queryParams.countrycode || 'US';\n      this.userServiceModal.WebAlias = this.userServiceModal.WebAlias || 'thinkenergy';\n    } else {\n      this.setDefault();\n    }\n  }\n\n  /*** clear Data of application * @method  clearData ***/\n  public clearData() {\n    localStorage.removeItem('userService');\n    this.service = {};\n    this.init();\n  }\n\n  public clearCustomerData() {\n    this.userServiceModal.customerData = {};\n  }\n\n  public setEnrollerInfo(websiteinfo){\n    this.userServiceModal.enrollerInfo = websiteinfo;\n    localStorage.setItem('userService', JSON.stringify(this.userServiceModal));\n  }\n  /** * Set Default * @method  setDefault */\n  public setDefault() {\n    this.userServiceModal.customerTypeID = parseInt(this.activatedRoute.snapshot.queryParams.type, 10) || this.service.customerTypeID || 1;\n    this.userServiceModal.enrollerInfo = {};\n    this.userServiceModal.guestUserLogin = false;\n    this.userServiceModal.shippingAddress = null;\n    this.userServiceModal.mailingAddress = {};\n    this.userServiceModal.newshippingAddress = {};\n    this.userServiceModal.personalInfo = {\n      birthDay: 1,\n      birthMonth: 1,\n      birthYear: Number((moment().year() - 18).toString()),\n      phoneNumber: '',\n      Email: ''\n    };\n    this.userServiceModal.webOffice = {} as WebOffice;\n    this.userServiceModal.paymentMethods = [];\n    this.userServiceModal.referralURL = this.activatedRoute.snapshot.queryParams.ref;\n    this.userServiceModal.autoshipCardDetail = {};\n    this.userServiceModal.cardDetail = {\n      CardExpirationYear: new Date().getFullYear(),\n      CardExpirationMonth: (new Date().getMonth() + 1),\n      CardNumber: ''\n    };\n    this.userServiceModal.commissionPayment = '';\n    this.userServiceModal.licenseNumber = '';\n    this.userServiceModal.legName = this.activatedRoute.snapshot.queryParams.legName;\n    this.userServiceModal.enrollerId = Number(this.activatedRoute.snapshot.queryParams.enrollerId) || 0;\n    this.userServiceModal.sponsorId = Number(this.activatedRoute.snapshot.queryParams.sponsorId) || 0;\n    this.userServiceModal.doNotWishAutoship = false;\n    this.userServiceModal.defaultState = '';\n    this.userServiceModal.couponInfo = {\n      IsAppliedcode: false,\n      promoCodeValid: undefined,\n      promoCode: '',\n      Allcoupons: [],\n      RewardsForUse: [],\n      FreeShipping: {\n        activated: false,\n        coupon: undefined\n      },\n      availableRewards: [],\n      OrderAllowCoupons: []\n    };\n    // this.userServiceModal.autoshipDate = moment().add(1, 'months').toDate();\n    this.userServiceModal.customerData = {};\n    this.userServiceModal.guestUserData = {};\n    this.userServiceModal.restrictedShipStates = '';\n    this.userServiceModal.restrictedStates = [];\n    this.userServiceModal.selectedShippingMethod = 0;\n    this.userServiceModal.shippingMethods = [];\n    this.userServiceModal.checkItems = false;\n    this.userServiceModal.autologin = this.activatedRoute.snapshot.queryParams.autologin || false;\n    this.userServiceModal.regionMainState = '';\n    this.userServiceModal.newUser = false;\n    this.userServiceModal.TotalSteps = 6;\n    this.userServiceModal.noOfStepsVerified = 0;\n    this.userServiceModal.WebAlias = 'thinkenergy';\n    localStorage.setItem('userService', JSON.stringify(this.userServiceModal));\n  }\n\n  /**\n   * set user shipping address\n   * @method  setShippingAddress\n   */\n  public setShippingAddress() {\n      this.userServiceModal.shippingAddress = this.userServiceModal.shippingAddress || cloneDeep(this.userServiceModal.customerData.DefaultShippingAddress);\n      this.userServiceModal.shippingAddress.FullName = (this.userServiceModal.shippingAddress.FirstName || this.userServiceModal.customerData.FirstName) + (this.userServiceModal.shippingAddress.LastName || this.userServiceModal.customerData.LastName);\n      this.userServiceModal.shippingAddress.FirstName = this.userServiceModal.shippingAddress.FirstName || this.userServiceModal.customerData.FirstName;\n      this.userServiceModal.shippingAddress.LastName = this.userServiceModal.shippingAddress.LastName || this.userServiceModal.customerData.LastName;\n      this.userServiceModal.shippingAddress.Street1 = this.userServiceModal.shippingAddress.Street1 || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.Street1 : '');\n      this.userServiceModal.shippingAddress.Street2 = this.userServiceModal.shippingAddress.Street2 || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.Street2 : '');\n      this.userServiceModal.shippingAddress.Street3 = this.userServiceModal.shippingAddress.Street3 || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.Street3 : '');\n      this.userServiceModal.shippingAddress.Region = this.userServiceModal.shippingAddress.Region || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.Region : 'UT');\n      this.userServiceModal.shippingAddress.PostalCode = this.userServiceModal.shippingAddress.PostalCode || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.PostalCode : '');\n      this.userServiceModal.shippingAddress.CountryCode = this.userServiceModal.shippingAddress.CountryCode || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.CountryCode : '');\n      this.userServiceModal.shippingAddress.City = this.userServiceModal.shippingAddress.City || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.City : '');\n      this.userServiceModal.shippingAddress.Phone = this.userServiceModal.shippingAddress.Phone || (!this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ? this.userServiceModal.customerData.DefaultShippingAddress.Phone : '');\n  }\n\n  // Check if User is Authenticated Or not\n  public checkIfUserAuthenticatedOrNot():boolean {\n      return this.cookieService.check('X-Auth');\n  }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n  selector: 'app-faq',\n  templateUrl: './faq.component.html',\n  styleUrls: ['./faq.component.scss']\n})\nexport class FaqComponent implements OnInit {\n\n  constructor(private titleService:Title,public translate:TranslateService) { }\n\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle('FAQ' + ' | ' + text);\n    });\n  }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { ConfigService } from '../services/config.service';\nimport { UserService } from '../services/user.service';\nimport $ from 'jquery';\nimport { AccountService } from '../services/account.service';\nimport { RestApiService } from '../services/restapi.service';\n\n\n@Component({\n  selector: 'app-footer',\n  templateUrl: './footer.component.html',\n  styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n  public footerContactInformation: any = {};\n  userServiceModal: UserServiceModal;\n  constructor(public configService: ConfigService, public userService: UserService, public accountService: AccountService, public apiService: RestApiService) {\n    this.userServiceModal = this.userService.userServiceModal;\n  }\n  ngOnInit() {\n    this.apiService.getCompanyInfo().subscribe((result: any) => {\n      this.footerContactInformation = result.data\n    })\n    $(window).bind('scroll', function (e) {\n      if ($(window).width() < 1340) {\n        return;\n      }\n      if ($(window).scrollTop() + window.innerHeight >= $('#footer').offset().top && $(window).scrollTop() + window.innerHeight > 1100) {\n        $('#sideCartBox').css({ 'position': 'fixed', 'right': '25px', 'top': '-250px', 'bottom': 'inherit', 'left': 'inherit', 'max-height': '610px', 'box-shadow': 'none' })\n      } \n      else if($(window).scrollTop() + window.innerHeight >= $('#footer').offset().top && $(window).scrollTop() + window.innerHeight < 1100){\n        $('#sideCartBox').css({ 'position': 'fixed', 'right': '25px', 'top': '90px', 'bottom': 'inherit', 'left': 'inherit', 'max-height': '610px', 'box-shadow': 'none' })\n      }\n      else {\n        $('#sideCartBox').css({ 'position': 'fixed', 'right': '25px', 'top': '100px', 'bottom': 'inherit', 'left': 'inherit', 'max-height': '610px' })\n      }\n    });\n  }\n  isLoggedIn() {\n    if ((Object.keys(this.userServiceModal.customerData).length) && (this.userServiceModal.customerData.CustomerId) && this.userService.checkIfUserAuthenticatedOrNot()) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  logoutHandler() {\n    this.accountService.logout();\n  }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, map, scan, take, tap } from 'rxjs/operators';\nimport { Discount, Product, Product1233 } from 'src/app/modals/product.model';\n\n@Component({\n  selector: 'app-error-page',\n  templateUrl: './error-page.component.html',\n  styleUrls: ['./error-page.component.sass']\n})\nexport class ErrorPageComponent implements OnInit {\n\n  constructor(private titleService:Title,public translate:TranslateService) { }\n\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_404')+ ' | ' + text);\n    });\n    this.filterdata();\n  }\n  filterdata() {\n    let json: Product1233[] = ([{\n      \"Id\": 340,\n      \"Sku\": \"30FCD\",\n      \"KitLevel\": 0,\n      \"Category\": {\n        \"Id\": 14,\n        \"Name\": \"Energy\",\n        \"Description\": \"\",\n        \"DisplayIndex\": 2,\n        \"ImageUrl\": null,\n        \"ParentId\": 0,\n        \"ProductLineId\": 1,\n        \"ShortDescription\": \"\",\n        \"StoreIds\": [\n          1,\n          2,\n          3,\n          4,\n          5\n        ],\n        \"HasChildren\": false\n      },\n      \"ChargeShipping\": true,\n      \"Disabled\": false,\n      \"Height\": 0,\n      \"Image\": \"/focus_30_nobackground.png\",\n      \"Length\": 0,\n      \"LengthUnitOfMeasure\": \"cm\",\n      \"ManufacturerPartNum\": \"\",\n      \"OutOfStockStatus\": 1,\n      \"PackCount\": 0,\n      \"PackageGroupId\": 1,\n      \"PreferedVendorId\": 0,\n      \"SortOrder\": 8,\n      \"TaxClassId\": 18,\n      \"ProductClass\": 1,\n      \"TrackStock\": true,\n      \"UnitOfMeasure\": \"\",\n      \"Upc\": \"\",\n      \"Weight\": 12,\n      \"WeightUnitOfMeasure\": \"oz\",\n      \"Width\": 0,\n      \"FlagCancer\": false,\n      \"FlagBirthDefects\": false,\n      \"HasKitGroups\": false,\n      \"HsCode\": \"\",\n      \"Custom\": {\n        \"ItemId\": 0,\n        \"Field1\": \"\",\n        \"Field2\": \"\",\n        \"Field3\": \"\",\n        \"Field4\": \"\",\n        \"Field5\": \"\"\n      },\n      \"FastStart\": {\n        \"Gen1\": 0,\n        \"Gen2\": 0,\n        \"Gen3\": 0,\n        \"Gen4\": 0,\n        \"Gen5\": 0,\n        \"Gen6\": 0,\n        \"Gen7\": 0,\n        \"Gen8\": 0,\n        \"Gen9\": 0,\n        \"Gen10\": 0\n      },\n      \"Images\": [\n        {\n          \"Description\": \"/Focus_Single_Serve-Web-Top.png\",\n          \"Path\": \"/Focus_Single_Serve-Web-Top.png\"\n        },\n        {\n          \"Description\": \"/Focus-Stick_Pack-Front.png\",\n          \"Path\": \"/Focus-Stick_Pack-Front.png\"\n        },\n        {\n          \"Description\": \"/Focus-Stick_Pack-Back2.png\",\n          \"Path\": \"/Focus-Stick_Pack-Back2.png\"\n        }\n      ],\n      \"Languages\": [\n        {\n          \"Description\": \"<p><strong>Energy* / Clarity* / Memory*</strong></p>\\n<p><strong>Focus is a proprietary, nootropic blend made with clean, natural energy sources to help you achieve a zen-like state of concentration.&nbsp;</strong><strong>Incorporate Focus into your daily routine to help battle distractions and stay on top of your game all day long.&nbsp;</strong></p>\\n<ul>\\n<li>ALPHASIZE&reg; - Helps maintain and improve memory, concentration, focus &amp; helps to increase peak force &amp; power output, strength &amp; agility*</li>\\n<li>Beet Root Powder - Promotes improved natural energy and stamina*</li>\\n<li>Natural Green Tea Extract + L-Theanine - Combination promotes heightened focus, awareness, energy and mental endurance*</li>\\n<li>L-Tyrosine - Supports learning, memory, and alertness*</li>\\n<li>Naturally flavored, no added sugars - Dragon Fruit</li>\\n<li>Informed-Sport &amp; Informed-Choice Certified**</li>\\n</ul>\",\n          \"LanguageCode\": \"en\",\n          \"ProductName\": \"Focus Single Serves (30)\",\n          \"SeoKeywords\": \"\",\n          \"Specifications\": \"<p dir=\\\"ltr\\\"><strong>Directions:<br /></strong>1 stick pack + 8 oz of water</p>\\n<p dir=\\\"ltr\\\">Non-GMO - Dairy Free - Preservative Free - No Gluten, Wheat, Yeast, or Diary - No Added Preservatives or Colors - Vegan &amp; Vegetarian friendly</p>\\n<p dir=\\\"ltr\\\">**This product has been tested by Informed-Choice &amp; Informed-Sport. Informed-Choice &amp; Informed-Sport are&nbsp; quality assurance programs for sports nutrition products which certifies that a supplement or product has been \\\"skip-lot\\\" tested (tested at least on a monthly basis) for banned substances by LGC's world class sports anti-doping lab. Verify your product:&nbsp;<a href=\\\"https://informed-choice.org\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">click here</a>&nbsp;to search your lot numberto confirm certification.</p>\\n<p dir=\\\"ltr\\\">*These statements have not been evaluated by the Food and Drug Administration. This product is not intended to diagnose, treat, cure or prevent any disease.</p>\"\n        }\n      ],\n      \"Options\": [],\n      \"OptionsMap\": [],\n      \"Discounts\": [\n        {\n          \"Id\": 32184,\n          \"Bonus\": 7.4,\n          \"End\": null,\n          \"Price\": 66.5,\n          \"PriceCurrency\": \"USD\",\n          \"Cv\": 37,\n          \"Qv\": 37,\n          \"RewardPointsEarned\": 0,\n          \"Start\": null,\n          \"Type\": 1,\n          \"Stores\": [\n            3,\n            5\n          ],\n          \"OrderType\": [\n            1,\n            2\n          ],\n          \"PriceGroups\": [\n            2,\n            7\n          ],\n          \"Regions\": [\n            4,\n            1\n          ]\n        },\n        {\n          \"Id\": 32185,\n          \"Bonus\": null,\n          \"End\": null,\n          \"Price\": 49.95,\n          \"PriceCurrency\": \"USD\",\n          \"Cv\": 37,\n          \"Qv\": 37,\n          \"RewardPointsEarned\": 0,\n          \"Start\": null,\n          \"Type\": 1,\n          \"Stores\": [\n            1,\n            2,\n            5\n          ],\n          \"OrderType\": [\n            1,\n            2\n          ],\n          \"PriceGroups\": [\n            1,\n            3,\n            4,\n            5,\n            6\n          ],\n          \"Regions\": [\n            1\n          ]\n        },\n        {\n          \"Id\": 32186,\n          \"Bonus\": null,\n          \"End\": null,\n          \"Price\": 50,\n          \"PriceCurrency\": \"RWD\",\n          \"Cv\": 0,\n          \"Qv\": null,\n          \"RewardPointsEarned\": 0,\n          \"Start\": null,\n          \"Type\": 1,\n          \"Stores\": [\n            1,\n            2\n          ],\n          \"OrderType\": [\n            1\n          ],\n          \"PriceGroups\": [\n            1,\n            3,\n            4,\n            5,\n            6\n          ],\n          \"Regions\": [\n            1\n          ]\n        }\n      ]\n    }]);\n    try {\n     let sddss=   json.filter((poiDataArray: Product1233) => {\n          return poiDataArray.Discounts.some((discount) => {\n           return discount.Regions.indexOf(1)>-1 && discount.PriceCurrency===\"USD\" && discount.PriceGroups.indexOf(2)>-1  && discount.Stores.indexOf(3)>-1;\n          })\n      });\n    } catch (e) {\n    }\n\n  }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as _ from 'lodash';\nimport { ContactComponent } from '../model/contact/contact.component';\nimport { ProductService } from '../services/product.service';\nimport { Router } from '@angular/router';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { UserService } from '../services/user.service';\n@Component({\n  selector: 'app-menu',\n  templateUrl: './menu.component.html',\n  styleUrls: ['./menu.component.scss']\n})\nexport class MenuComponent implements OnInit {\n\n  public categoriesList: any;\n  public categoriesItemList: any;\n  userServiceModal: UserServiceModal;\n\n  constructor(\n    public dialog: MatDialog,\n    public productService: ProductService,\n    public router: Router,\n    public userService: UserService\n    ) {\n    this.userServiceModal = this.userService.userServiceModal;\n    if (this.productService.allItems) {\n      this.categoriesItemList = _.groupBy(this.productService.allItems, 'CategoryId');\n      const unique = _.uniqBy(this.productService.allItems, x => x['CategoryId']);\n      this.categoriesList = _.map(unique, (object) => {\n        return _.pick(object, ['CategoryId', 'Category']);\n      });\n    } else {\n      this.productService.getProductByCategory('all').subscribe(products => {\n        this.categoriesItemList = _.groupBy(products, 'CategoryId');\n        const unique = _.uniqBy(products, x => x.CategoryId);\n        this.categoriesList = _.map(unique, (object) => {\n          return _.pick(object, ['CategoryId', 'Category']);\n        });\n      });\n    }\n  }\n  ngOnInit() {\n  }\n  openMegaMenu() {\n    const pane = document.getElementsByClassName('cdk-overlay-pane');\n    [].forEach.call(pane, (el) => {\n      if (el.children.length > 0) {\n        if (el.children[0].classList.contains('mega-menu')) {\n          el.classList.add('mega-menu-pane');\n        }\n      }\n    });\n  }\n  navigateToContact() {\n    this.dialog.open(ContactComponent, {\n      data: {},\n      disableClose: true,\n      panelClass: 'contact-dialog',\n    });\n  }\n\n  navigateProductDetails(id) {\n    this.router.navigateByUrl('/', {skipLocationChange: true}).then(() => {\n      this.router.navigate(['/product', id]);\n    });\n  }\n  isLoggedIn() {\n    if ((Object.keys(this.userServiceModal.customerData).length) && (this.userServiceModal.customerData.CustomerId) && this.userService.checkIfUserAuthenticatedOrNot()) {\n        return true;\n    } else {\n        return false;\n    }\n  }\n}\n","export default \".toolbar {\\n  background-color: rgba(121, 133, 148, 0.822);\\n  color: white;\\n  justify-content: center;\\n  max-width: 400px;\\n}\\n\\n.marketBox .affiliate {\\n  text-align: center;\\n  padding-top: 20px;\\n}\\n\\n.marketBox .space {\\n  text-align: center;\\n  padding-top: 20px;\\n}\\n\\n.marketBox .edit {\\n  text-align: center;\\n  padding-top: 20px;\\n}\\n\\n.marketBox .formfield {\\n  text-align: center;\\n  padding-top: 20px;\\n}\\n\\n.marketBox .countrySelect {\\n  width: 215px;\\n}\\n\\n.marketBox .passSelect {\\n  min-width: 215px;\\n}\\n\\n.marketBox .editIcon {\\n  color: #82c1f5;\\n}\\n\\n.marketBox .continueButton {\\n  text-align: center;\\n}\\n\\n.marketBox .continueButton button {\\n  min-width: 215px;\\n  text-align: center;\\n  margin: 10px;\\n}\\n\\n.marketBox .formfield p {\\n  margin-top: 0;\\n}\\n\\na {\\n  -webkit-text-decoration-line: none;\\n          text-decoration-line: none;\\n}\\n\\n.mat-icon {\\n  font-size: 15px !important;\\n}\\n\\n.user_img {\\n  border-radius: 50%;\\n  width: 45px;\\n  height: 45px;\\n  vertical-align: middle;\\n}\\n\\n.p-t-10 {\\n  padding-top: 10px !important;\\n}\\n\\n.f-bold {\\n  font-weight: 700;\\n}\\n\\n.panel {\\n  box-shadow: none;\\n  border: 0;\\n}\\n\\n.m-b-0 {\\n  margin-bottom: 0 !important;\\n}\\n\\n.panel-default {\\n  border-color: #ddd;\\n}\\n\\n.panel {\\n  margin-bottom: 18px;\\n}\\n\\n.change-affiliate-icon {\\n  background-color: transparent;\\n  border: none;\\n  color: #2196f3;\\n  font-size: 15px;\\n  font-weight: 500;\\n  cursor: pointer;\\n}\\n\\n#btnCountryContinue {\\n  width: 215px;\\n  height: 34px;\\n  margin-bottom: 25px;\\n  background-color: var(--theme-selected-state);\\n  text-transform: uppercase;\\n  color: #fff;\\n}\\n\\n.btnclass {\\n  min-width: 215px;\\n  height: 34px;\\n  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\\n}\\n\\n.cur-icon {\\n  float: right;\\n  margin-top: 6px;\\n  font-size: 20px !important;\\n}\\n\\n.no-border {\\n  border-bottom: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21hcmtldC1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRztFQUNHLDRDQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7QUFBTjs7QUFFSTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7QUFDTjs7QUFDSTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7QUFFTjs7QUFBSTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7QUFHTjs7QUFESTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7QUFJTjs7QUFGSTtFQUNFLFlBQUE7QUFLTjs7QUFISTtFQUNFLGdCQUFBO0FBTU47O0FBSkk7RUFDRSxjQUFBO0FBT047O0FBTEk7RUFDRSxrQkFBQTtBQVFOOztBQVBRO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QUFTUjs7QUFOSTtFQUNFLGFBQUE7QUFTTjs7QUFQSTtFQUNFLGtDQUFBO1VBQUEsMEJBQUE7QUFVTjs7QUFSSTtFQUNFLDBCQUFBO0FBV047O0FBVEk7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7QUFZTjs7QUFWRTtFQUNFLDRCQUFBO0FBYUo7O0FBWEE7RUFDRSxnQkFBQTtBQWNGOztBQVpBO0VBQ0UsZ0JBQUE7RUFDQSxTQUFBO0FBZUY7O0FBYkE7RUFDRSwyQkFBQTtBQWdCRjs7QUFkQTtFQUNFLGtCQUFBO0FBaUJGOztBQWZBO0VBQ0UsbUJBQUE7QUFrQkY7O0FBaEJBO0VBQ0UsNkJBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QUFtQkY7O0FBakJBO0VBQ0UsWUFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLDZDQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBO0FBb0JGOztBQWpCQTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLDBDQUFBO0FBb0JGOztBQWpCQTtFQUNFLFlBQUE7RUFDQSxlQUFBO0VBQ0EsMEJBQUE7QUFvQkY7O0FBbEJBO0VBQ0UsbUJBQUE7QUFxQkYiLCJmaWxlIjoibWFya2V0LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAudG9vbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMSwgMTMzLCAxNDgsIDAuODIyKTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG4gICAgLm1hcmtldEJveCAuYWZmaWxpYXRlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cbiAgICAubWFya2V0Qm94IC5zcGFjZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG4gICAgLm1hcmtldEJveCAuZWRpdCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG4gICAgLm1hcmtldEJveCAuZm9ybWZpZWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cbiAgICAubWFya2V0Qm94IC5jb3VudHJ5U2VsZWN0IHtcbiAgICAgIHdpZHRoOiAyMTVweDtcbiAgICB9XG4gICAgLm1hcmtldEJveCAucGFzc1NlbGVjdCB7XG4gICAgICBtaW4td2lkdGg6IDIxNXB4O1xuICAgIH1cbiAgICAubWFya2V0Qm94IC5lZGl0SWNvbiB7XG4gICAgICBjb2xvcjogcmdiKDEzMCwgMTkzLCAyNDUpO1xuICAgIH1cbiAgICAubWFya2V0Qm94IC5jb250aW51ZUJ1dHRvbntcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5tYXJrZXRCb3ggLmZvcm1maWVsZCBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVzZXJfaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAucC10LTEwIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweCFpbXBvcnRhbnQ7XG59XG4uZi1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wYW5lbCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbn1cbi5tLWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xufVxuLnBhbmVsLWRlZmF1bHQge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG4ucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuLmNoYW5nZS1hZmZpbGlhdGUtaWNvbntcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICMyMTk2ZjM7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI2J0bkNvdW50cnlDb250aW51ZXtcbiAgd2lkdGg6IDIxNXB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLXNlbGVjdGVkLXN0YXRlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG5jbGFzcyB7XG4gIG1pbi13aWR0aDogMjE1cHg7XG4gIGhlaWdodDogMzRweDtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiKDAgMCAwIC8gMzAlKVxufVxuXG4uY3VyLWljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG4ubm8tYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn0iXX0= */\";","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { CartItem } from '../../modals/cart-item';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { SidebarMenuService } from '../shared/sidebar/sidebar-menu.service';\nimport { SidenavMenu } from '../shared/sidebar/sidebar-menu.model';\nimport { UserService } from '../shared/services/user.service';\nimport { FindEnrollerComponent } from '../shared/model/findenroller/findenroller.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfigService } from '../shared/services/config.service';\nimport { ConfirmDialogComponent, ConfirmDialogModel } from '../shared/model/confirm-dialog/confirm-dialog.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { RestApiService } from '../shared/services/restapi.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { PaymentService } from '../shared/services/payment.service';\nimport { Cart1Service } from '../shared/services/cart1.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { UtilityService } from '../shared/services/utility.service';\nimport { ProductService } from '../shared/services/product.service';\nimport { ItemsListService } from '../shared/services/itemsList.service';\n@Component({\n  selector: 'app-main',\n  templateUrl: './main.component.html',\n  styleUrls: ['./main.component.scss']\n})\nexport class MainComponent implements OnInit {\n\n  public sidenavMenuItems: Array<any>;\n  public customerTypes: any;\n  public allowedCountries: any = [];\n  public country: any;\n  public userType: any;\n  userServiceModal: UserServiceModal;\n  products: Array<DSProduct>;\n  welcmtext: string = '';\n  selectedLanguageCode: any;\n  indexProduct: number;\n  shoppingCartItems: CartItem[] = [];\n\n  public banners = [];\n\n  public categoriesList: any;\n  public categoriesItemList: any;\n  public url: any;\n  navItems: SidenavMenu[] = [\n    {\n      displayName: 'Home',\n      iconName: 'home',\n      route: '/home'\n    },\n   \n    {\n      displayName: 'Shop',\n      iconName: 'feedback',\n     \n      children: [\n        {\n          displayName: 'All',\n          iconName: 'info',\n          route: '/products/all'\n        },\n      ]\n    },\n    {\n      displayName: 'Pages',\n      iconName: 'pages',\n      children: [\n        {\n          displayName: 'FAQ',\n          iconName: 'question_answer',\n          route: '/faq',\n        },\n        {\n          displayName: 'Join',\n          iconName: 'settings',\n          route: '/join',\n        }\n      ]\n    },\n    {\n      displayName: 'Contact',\n      iconName: 'contacts',\n      route: '/contact'\n    },\n    {\n      displayName: 'About',\n      iconName: 'feedback',\n      route: '/about'\n    },\n    {\n      displayName: 'Sign Out',\n      iconName: 'feedback',\n      route: '/login'\n    },\n    {\n      displayName: 'Sign In',\n      iconName: 'settings',\n      route: '/login',\n    },\n  ];\n  @ViewChild('start') public sideBarMenu: MatSidenav;\n  constructor(\n    public activatedRoute: ActivatedRoute,\n    public translate: TranslateService,\n    public configService: ConfigService,\n    private dialog: MatDialog,\n    public userService: UserService,\n    public router: Router,\n    private cart1Service: Cart1Service,\n    public sidenavMenuService: SidebarMenuService,\n    public apiService: RestApiService,\n    public paymentService: PaymentService,\n    public utilityService: UtilityService,\n    public productService: ProductService,\n    public itemsListService: ItemsListService,\n\n  ) {\n    this.userServiceModal = this.userService.userServiceModal;\n    this.apiService.getActiveCountries().subscribe(data => {\n      this.allowedCountries = data.Data;\n\n    }, () => { });\n    this.router.events.subscribe((event) => {\n      if (event instanceof NavigationEnd) {\n        this.url = event.url;\n      }\n    });\n  }\n\n  ngOnInit() {\n    setTimeout(() => {\n      this.welcmtext = this.translate.instant('welcome_');\n    }, 3000);\n  }\n\n  sildeMobileNav($event: any) {\n    this.sideBarMenu.toggle();\n  }\n\n  public updatecountry(country, languagecode) {\n    this.cart1Service.updateCountry(country, languagecode, true, false);\n  }\n\n  navigateToChangeAffiliate() {\n    this.dialog.open(FindEnrollerComponent, {\n      disableClose: true,\n      panelClass: 'findenroller-dialog',\n    });\n  }\n\n  changeCustomerType(ID) {\n    if (ID === this.userServiceModal.customerTypeID) {\n      return;\n    }\n\n    const dialogData = new ConfirmDialogModel(\n      this.translate.instant('update_customer_title'),\n      this.translate.instant('update_customer_text'),\n      this.translate.instant('NO'),\n      this.translate.instant('YES')\n\n    );\n\n    const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n      maxWidth: '400px',\n      data: dialogData\n    });\n\n    dialogRef.afterClosed().subscribe(dialogResult => {\n      if (dialogResult) {\n        this.userServiceModal.customerTypeID = ID;\n        sessionStorage.setItem('selectedCustomerTypeID', ID);\n        this.router.navigate(\n          [],\n          {\n            relativeTo: this.activatedRoute,\n            queryParams: { type: ID },\n            queryParamsHandling: 'merge'\n          })\n          .then(() => { window.location.reload(); });\n          this.cart1Service.clearCart();\n      }\n    });\n\n  }\n\n  close(item){\n    if (!(item.children && item.children.length)) {\n      this.sideBarMenu.close();\n    }\n  }\n  closed(val) {\n    if (val != '1') {\n      this.sideBarMenu.close();\n    }\n  }\n\n  isLoggedIn() {\n    if ((Object.keys(this.userServiceModal.customerData).length) && (this.userServiceModal.customerData.CustomerId) && this.userService.checkIfUserAuthenticatedOrNot()) {\n        return true;\n    } else {\n        return false;\n    }\n  } \n  setNavItemCategories() {\n    for (const element of this.categoriesList) {\n      if(this.configService.localSettings.Global.CategoriesToFetch?.length > 0) {\n            if (this.configService.localSettings.Global.CategoriesToFetch.indexOf(element.Category) > -1) {\n              this.navItems[1].children.push({\n                      displayName: element.Category,\n                      iconName: 'contacts',\n                      route: `/products/${element.CategoryId}`\n              });\n        }\n      }\n      else {\n        this.navItems[1].children.push({\n                displayName: element.Category,\n                iconName: 'contacts',\n                route: `/products/${element.CategoryId}`\n        });\n      }\n   }\n  }\n}\n","export default \"<!DOCTYPE html>\\n<html>\\n\\n<head>\\n\\t<meta charset=\\\"UTF-8\\\" />\\n</head>\\n<style scoped>\\n\\t\\n</style>\\n<body style=\\\"padding: 30px 0px 0px 0px;\\\">\\n\\t<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n\\t\\t<mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n\\t  </button>\\n\\t  \\n\\t<div  mat-dialog-content class=\\\"center\\\" fxLayout=\\\"column\\\" fxFill  fxFlex=\\\"100\\\">\\n\\t\\t<div class=\\\"carousel carousel-nav\\\" id=\\\"carouselNav\\\" style=\\\"z-index: 1000;\\\" fxFlex=\\\"20\\\">\\n\\t\\t\\t<div class=\\\"carousel-cell\\\" *ngFor=\\\"let image of images\\\" style=\\\"border: 1px solid hsl(0,100%,0%);\\\">\\n\\t\\t\\t\\t<img [src]=\\\"env.imageUrl + image.Path\\\" alt=\\\"\\\" srcset=\\\"\\\" height=\\\"100%\\\" width=\\\"100%\\\">\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t\\t<div class=\\\"carousel carousel-main\\\" id=\\\"carouselMain\\\" style=\\\"z-index: 100;\\\" fxFlex=\\\"80\\\">\\n\\t\\t\\t<div class=\\\"carousel-cell\\\" *ngFor=\\\"let image of images\\\">\\n\\t\\t\\t\\t<!-- <img [src]=\\\"env.imageUrl + image.Path\\\" alt=\\\"\\\" srcset=\\\"\\\" height=\\\"100%\\\" width=\\\"100%\\\"> -->\\n\\t\\t\\t\\t<lib-ngx-image-zoom  [thumbImage]=\\\"env.imageUrl + image.Path\\\"\\n                        [fullImage]=\\\"env.imageUrl + image.Path\\\"\\n                        [magnification]=\\\"1\\\" [enableScrollZoom]=\\\"true\\\" [enableLens]=\\\"true\\\" [lensWidth]=\\\"250\\\" [lensHeight]=\\\"250\\\"\\n                        [zoomMode]=\\\"'hover'\\\"></lib-ngx-image-zoom>\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t\\t<div *ngIf=\\\"images.length == 0\\\" class=\\\"p-10 m-t-70 text-center\\\"><p class=\\\"f-s-20\\\" fxFlex=\\\"100\\\"> No Images Found!!</p></div>\\n\\t</div>\\n</body>\\n<script>\\n\\timport \\\"./flickity.component.css\\\";\\n\\timport \\\"flickity/css/flickity.css\\\";\\n</script>\\n\\n</html>\\n\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJiYW5uZXJzLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CompanyService } from '../../shared/services/company.service';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\n\n@Component({\n  selector: 'app-order-invoice',\n  templateUrl: './order-invoice.component.html',\n  styleUrls: ['./order-invoice.component.scss']\n})\nexport class OrderInvoiceComponent implements OnInit {\n  modelData: any;\n  Warning: any = {};\n  GetOrderDetails: any = [];\n  IsDialogMax: boolean = false;\n  hostHeight: any;\n  hostWidth: any;\n  public OrderData: any = {};\n  constructor(\n    private titleService: Title,\n    private translate: TranslateService,\n    public dialogRef: MatDialogRef<any>,\n    @Inject(MAT_DIALOG_DATA) public data: any,\n    public matDialogRef: MatDialogRef<OrderInvoiceComponent>,\n    public config: ConfigService,\n    public apiService: RestApiService, public notificationService: NotificationService,\n    public companyService: CompanyService\n  ) {\n    this.modelData = data;\n    this.getOrderDetail();\n  }\n\n  ngOnInit(): void {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_order_history') + ' | ' + text);\n    });\n  }\n  getOrderDetail() {\n    this.apiService.getOrder(this.modelData.OrderNumber).subscribe((result) => {\n      try {\n        if (parseInt(result.Status, 10) === 0) {\n          this.OrderData = result.Data.OrderInfo;\n        } else {\n          this.notificationService.error('error_', result.ErrorDescription);\n        }\n      } catch (ex) {\n        this.notificationService.error('error_', 'error_occured_try_again');\n      }\n    });\n  }\n}\n","import { ResponseBase } from \"./responsebase.modal\";\n\n    export interface BillAddress {\n        ID: number;\n        Line1: string;\n        Line2: string;\n        Line3: string;\n        City: string;\n        State: string;\n        Zip: string;\n        CountryCode: string;\n    }\n\n    export interface LineItem {\n        Amount: number;\n        Bonus: number;\n        Cost: number;\n        CurrencyCode: string;\n        Height: number;\n        Length: number;\n        OrderNumber: number;\n        PackageNumber: number;\n        CV: number;\n        QV: number;\n        Qty: number;\n        SKU: string;\n        ItemID: number;\n        ProductName: string;\n        Weight: number;\n        Width: number;\n        FlagCancer: boolean;\n        FlagBirthDefect: boolean;\n        ItemId: number;\n        Sku?: any;\n        Name?: any;\n        Price: number;\n        CategoryId: number;\n        Cv: number;\n        Qv: number;\n        FlagBirthDefects: boolean;\n        HasKitGroups: boolean;\n        Image?: any;\n        Quantity: number;\n    }\n\n    export interface Total {\n        TaxableSubTotal: number;\n        CurrencyCode: string;\n        ExchangeRate: number;\n        OrderNumber: number;\n        Shipping: number;\n        SubTotal: number;\n        Tax: number;\n        TaxTransactionID?: any;\n        DiscountTotal: number;\n        OverridenShippingTax: boolean;\n        Total1: number;\n        PaidAmount: number;\n        TotalDue: number;\n    }\n\n    export interface Payment {\n        Amount: number;\n        SavePaymentMethodId?: any;\n        OnFileCard?: any;\n        CurrencyCode: string;\n        MerchantId: number;\n        SavePayment: boolean;\n        OrderRewardPoints?: any;\n        OrderCreditCard?: any;\n        AuthorizationNumber?: any;\n        TransactionNumber?: any;\n        ExchangeRate: number;\n        Merchant: number;\n        OrderNumber: number;\n        PayDate: Date;\n        PaymentResponse: string;\n        PayType: string;\n        Reference?: any;\n        Status: string;\n    }\n\n    export interface OrderCustom {\n        AutoShipId: number;\n        Field1?: any;\n        Field2?: any;\n        Field3?: any;\n        Field4?: any;\n        Field5?: any;\n    }\n\n    export class OrderHistory {\n        BillPhone: string;\n        CommissionDate: Date;\n        DistributorID: number;\n        Email: string;\n        InvoiceDate: Date;\n        LocalInvoiceNumber: number;\n        Name: string;\n        OrderDate: Date;\n        OrderType: number;\n        OrderTypeDescription: string;\n        OrderNumber: number;\n        SpecialInstructions: string;\n        Status: string;\n        TotalBonus: number;\n        TotalCost: number;\n        TotalCV: number;\n        TotalQV: number;\n        Void: boolean;\n        BillAddress: BillAddress;\n        IsPaid: boolean;\n        IsShipped: boolean;\n        LineItems: Array<LineItem>;\n        Packages: Array<any>;\n        Totals: Array<Total>;\n        Payments: Array<Payment>;\n        OrderCustom: OrderCustom;\n    }\n\nexport class OrderHistoryResult extends ResponseBase{\n    Data: Array<OrderHistory>\n}\n","\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport * as _ from 'lodash';\nimport { Currency } from 'src/app/modals/currency.modal';\nimport { UserService } from './user.service';\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CompanyService {\n    public defaultCurrency = {\n        CurrencyCode: 'USD',\n        DecimalLength: 2,\n        Description: 'United States Dollar',\n        ExchangeRate: 1,\n        Symbol: '$'\n    } as Currency;\n    public selectedCurrency: Currency;\n    constructor(\n        public route: ActivatedRoute,\n        public http: HttpClient,\n        public userService: UserService\n    ) {\n        const selectedCountry = sessionStorage.getItem('selectedCountry') || 'us';\n        this.setCurrencyDetail(selectedCountry);\n    }\n    getRegionIDbyPromise(countryCode: string, stateCode?: string): any {\n        const promise = new Promise((resolve, reject) => {\n            if (!sessionStorage.getItem('CommonSettings')) {\n                this.http.get<any>(`assets/data/clientsetting.json`, {\n                    headers: new HttpHeaders({\n                        'Content-Type': 'application/json; charset=utf-8'\n                    }),\n                    withCredentials: true\n                }).subscribe((data) => {\n                    const data1 = _.filter(data.Regions, (region) => {\n                        return region.CountryList.some((country) => {\n                            return country.CountryCode.toLowerCase() == countryCode?.toLowerCase();\n                        });\n                    });\n                    if (data1.length > 0) {\n                        resolve(data1[0].ID);\n                        return data1[0].ID;\n                    } else {\n                        resolve(1);\n                        return 1;\n                    }\n                }, (error) => {\n                    reject({});\n                    return 1;\n                }, () => {\n                    reject({});\n                    return 1;\n                });\n            } else {\n                const regionsData = JSON.parse(sessionStorage.getItem('CommonSettings'));\n                const data1 = _.filter(regionsData.Regions, (region) => {\n                    return region.CountryList.some((country) => {\n                        return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                    });\n                });\n                if (data1.length > 0) {\n                    resolve(data1[0].ID);\n                    return data1[0].ID;\n                } else {\n                    resolve(1);\n                    return 1;\n                }\n            }\n        });\n        return promise;\n    }\n\n    getRegionID(countryCode: string, stateCode?: string): any {\n            if (!sessionStorage.getItem('CommonSettings')) {\n                this.http.get<any>(`assets/data/clientsetting.json`, {\n                    headers: new HttpHeaders({\n                        'Content-Type': 'application/json; charset=utf-8'\n                    }),\n                    withCredentials: true\n                }).subscribe((data) => {\n                    const data1 = _.filter(data.Regions, (region) => {\n                        return region.CountryList.some((country) => {\n                            return country?.CountryCode?.toLowerCase() == countryCode?.toLowerCase();\n                        });\n                    });\n                    if (data1.length > 0) {\n                        return data1[0].ID;\n                    } else {\n                        return 1;\n                    }\n                }, (error) => {\n                    return 1;\n                }, () => {\n                    return 1;\n                });\n            } else {\n                const regionsData = JSON.parse(sessionStorage.getItem('CommonSettings'));\n                const data1 = _.filter(regionsData.Regions, (region) => {\n                    return region.CountryList.some((country) => {\n                        return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                    });\n                });\n                if (data1.length > 0) {\n                    return data1[0].ID;\n                } else {\n                    return 1;\n                }\n            }\n        \n    }\n\n    getCurrencyDetail(countryCode = 'us'): Currency {\n        if (!sessionStorage.getItem('CommonSettings')) {\n            this.http.get<any>(`assets/data/clientsetting.json`, {\n                headers: new HttpHeaders({\n                    'Content-Type': 'application/json; charset=utf-8'\n                }),\n                withCredentials: true\n            }).subscribe((data) => {\n                const data1 = _.filter(data.Regions, (region) => {\n                    return region.CountryList.some((country) => {\n                        return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                    });\n                });\n                if (data1.length > 0) {\n                    return data1[0].Currency;\n                } else {\n                    return this.defaultCurrency;\n                }\n            }, (error) => {\n                return this.defaultCurrency;\n            }, () => {\n                return this.defaultCurrency;\n            });\n        } else {\n            const regionsData = JSON.parse(sessionStorage.getItem('CommonSettings'));\n            const data1 = _.filter(regionsData.Regions, (region) => {\n                return region.CountryList.some((country) => {\n                    return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                });\n            });\n            if (data1.length > 0) {\n                return data1[0].Currency;\n            } else {\n                return this.defaultCurrency;\n            }\n        }\n    }\n    setCurrencyDetail(countryCode = 'us') {\n        this.userService.userServiceModal.selectedShippingMethod = 0;\n        if (!sessionStorage.getItem('CommonSettings')) {\n            this.http.get<any>(`assets/data/clientsetting.json`, {\n                headers: new HttpHeaders({\n                    'Content-Type': 'application/json; charset=utf-8'\n                }),\n                withCredentials: true\n            }).subscribe((data) => {\n                const data1 = _.filter(data.Regions, (region) => {\n                    return region.CountryList.some((country) => {\n                        return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                    });\n                });\n                if (data1.length > 0) {\n                    this.selectedCurrency = data1[0].Currency;\n                } else {\n                    this.selectedCurrency = this.defaultCurrency;\n                }\n            }, (error) => {\n                this.selectedCurrency = this.defaultCurrency;\n            }, () => {\n                this.selectedCurrency = this.defaultCurrency;\n            });\n        } else {\n            const regionsData = JSON.parse(sessionStorage.getItem('CommonSettings'));\n            const data1 = _.filter(regionsData.Regions, (region) => {\n                return region.CountryList.some((country) => {\n                    return country.CountryCode.toLowerCase() == countryCode.toLowerCase();\n                });\n            });\n            if (data1.length > 0) {\n                this.selectedCurrency = data1[0].Currency;\n            } else {\n                this.selectedCurrency = this.defaultCurrency;\n            }\n        }\n    }\n    setAutoshipEditFlag(value) {\n        localStorage.setItem('isEditAutoshipFlag', value);\n    }\n\n    getAutoshipEditFlag() {\n        return localStorage.getItem('isEditAutoshipFlag') == 'true' ? true : false;\n    }\n}\n","export default \"<div id=\\\"manageAutoship\\\" class=\\\"m-t-30\\\">\\n    <div class=\\\"p-page p-page--large\\\">\\n        <div class=\\\"clearfix managebottom-btn\\\" *ngIf=\\\"AutoOrdersData.length > 0 \\\">\\n            <div class=\\\"title\\\">\\n                <p translate>your_autoship_</p>\\n            </div>\\n            <div class=\\\"m-t-10\\\" a-t-autoship *ngFor=\\\"let item of AutoOrdersData\\\">\\n                <mat-card>\\n\\n                    <div class=\\\"card1\\\">\\n                        <mat-card-content class=\\\"m-b-0\\\">\\n                            <div class=\\\"card-body1 p-0\\\">\\n                                <div class=\\\"p-l-0 p-r-0 b-b panel m-b-0\\\">\\n                                    <div flex fxLayout=\\\"row\\\" class=\\\"p-0 p-t-10 p-b-10 single-card\\\"\\n                                        style=\\\"padding: 10px 0px;\\\">\\n                                        <div fxFlex=\\\"40\\\" class=\\\"f-s-16 p-l-15 p-t-8\\\">\\n                                            <span translate>autoshiip</span>\\n                                            <span [textContent]=\\\"item.AutoShipID\\\"></span>\\n                                        </div>\\n                                        <div fxFlex=\\\"60\\\" class=\\\"p-l-15\\\">\\n                                            <div fxFlex=\\\"50\\\" class=\\\"col-xs-6 p-l-0\\\">\\n                                                <span translate>\\n                                                    nxt_run_date\\n                                                </span><br />\\n                                                <span a-t-next-run-date class=\\\"break-word-all\\\"\\n                                                    [textContent]=\\\"item.NextProcessDate\\\"></span>\\n                                            </div>\\n                                            <div fxFlex=\\\"50\\\" class=\\\"col-xs-6 p-r-0 p-l-0\\\">\\n                                                <span translate>\\n                                                    shop_payment_new\\n                                                </span><br />\\n                                                <span [textContent]=\\\"item.PaymentMethodID\\\"></span>\\n                                                <i class=\\\"zmdi zmdi-info zmdi-hc-fw c-color1 f-s-16 custom-tooltip\\\"\\n                                                    ng-if=\\\"isHyperWallet(item)\\\"\\n                                                    uib-popover-template=\\\"'myTooltipTemplate.html'\\\"\\n                                                    popover-class=\\\"customToolTipClass\\\" popover-placement=\\\"auto\\\"></i>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                    <div class=\\\"b-b p-l-0 p-r-0 b-t  table-responsive\\\" id=\\\"1\\\">\\n                                        <table class=\\\"table table-vmiddle bgm-lightgrey\\\" id=\\\"automanagetable\\\">\\n                                            <thead>\\n                                                <tr>\\n                                                    <th class=\\\"bgm-lightgrey c-black\\\" translate>global_sku</th>\\n                                                    <th class=\\\"bgm-lightgrey c-black\\\" translate>global_description</th>\\n                                                    <th class=\\\"bgm-lightgrey  text-center c-black\\\" translate>\\n                                                        global_quantity</th>\\n                                                    <th class=\\\"bgm-lightgrey c-black\\\" translate>unit_price</th>\\n                                                    <th class=\\\"bgm-lightgrey c-black\\\" translate=\\\"global_pv\\\">\\n                                                    </th>\\n                                                    <th class=\\\"bgm-lightgrey c-black\\\" translate>invoice_line_total</th>\\n                                                </tr>\\n                                            </thead>\\n                                            <tbody>\\n                                                <tr *ngFor=\\\"let Detail of item.LineItems\\\">\\n                                                    \\n                                                    <td [textContent]=\\\"Detail.SKU\\\"></td>\\n                                                    <td style=\\\"word-break: break-all;text-overflow: clip;white-space: normal;\\\"\\n                                                        [innerHtml]=\\\"Detail.Languages[0].ProductName\\\"></td>\\n                                                    <td class=\\\"text-center\\\" [textContent]=\\\"Detail.Quantity\\\"></td>\\n                                                    <td [textContent]=\\\"Detail.Prices[0].Price | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                                                    </td>\\n                                                    <td [textContent]=\\\"Detail.Prices[0].CV\\\"></td>\\n                                                    <td [textContent]=\\\"Detail.ExtendedPrice  | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                                                    </td>\\n                                                </tr>\\n                                                <tr class=\\\"bgm-white\\\">\\n                                                    <td></td>\\n                                                    <td class=\\\"text-right\\\" translate>totals_</td>\\n                                                    <td class=\\\"text-center\\\" [textContent]=\\\"item.TotalQuantity\\\"></td>\\n                                                    <td [textContent]=\\\"item.SubTotal | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                                                    </td>\\n                                                    <td [textContent]=\\\"item.TotalCV\\\"></td>\\n                                                    <td [textContent]=\\\"item.SubTotal | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                                                    </td>\\n                                                </tr>\\n                                            </tbody>\\n                                        </table>\\n                                    </div>\\n                                </div>\\n                                <div class=\\\"clearfix\\\"></div>\\n                            </div>\\n                        </mat-card-content>\\n                        <mat-card-footer class=\\\"m-0\\\" *ngIf=\\\"item.AutoShipID != persistentService.retailData.CurrentSelectedAutoOrder\\\">\\n                            <p class=\\\"card-footer1 text-right\\\">\\n                                <a mat-button  class=\\\"m-l-20 c-color1 edit-autoship\\\" (click)=\\\"showAutoship(item.AutoShipID)\\\">{{'edit_' | translate}}</a>\\n                            </p>\\n                        </mat-card-footer>\\n                    </div>\\n                    <app-autoship-edit *ngIf=\\\"persistentService.retailData.isAutoshipEdit && autoShipId==item.AutoShipID\\\"></app-autoship-edit>\\n                </mat-card>\\n            </div>\\n        </div>\\n\\n        <div *ngIf=\\\"AutoOrdersData.length === 0\\\">\\n            <div class=\\\"common_placeholder position-static\\\" translate>manage_autoship_placeholder</div>\\n        </div>\\n\\n        <div class=\\\"bounce-animate\\\" *ngIf=\\\"canAddAutoship()\\\">\\n            <button (click)=\\\"createAutoship()\\\" mat-fab class=\\\"mat-fab-bottom-right bounce-animate c-black\\\" (click)=\\\"showSettings = true\\\" style=\\\"z-index: 9;\\\">\\n                <mat-icon class=\\\"mat-24\\\">add</mat-icon>\\n            </button>\\n        </div>\\n  \\n    </div>\\n</div>\\n\\n\";","export default \".main-slider {\\n  height: 350px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2R1Y3QtYmFubmVyLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFJO0VBQ0ksd0JBQUE7QUFDUiIsImZpbGUiOiJwcm9kdWN0LWJhbm5lci1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiAgICAubWFpbi1zbGlkZXIge1xuICAgICAgICBoZWlnaHQ6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfSJdfQ== */\";","export default \".mat-content {\\n  display: block;\\n  position: relative;\\n  overflow: auto;\\n  -webkit-overflow-scrolling: touch;\\n  margin: auto;\\n  padding: 20px 15px 0px 15px;\\n}\\n\\n@media screen and (max-width: 599px) {\\n  .forgotPassword button {\\n    width: 100%;\\n    margin-bottom: 10px !important;\\n  }\\n}\\n\\n.forgetPasswordOptions {\\n  display: flex;\\n  margin-bottom: 25px;\\n}\\n\\n.forgetPasswordOptions .ds-radio {\\n  display: flex;\\n  align-items: center;\\n  margin-bottom: 0;\\n}\\n\\n.forgetPasswordOptions .ds-radio__button {\\n  top: unset;\\n}\\n\\n.forgetPasswordOptions .fieldBox {\\n  width: 100%;\\n  margin-bottom: 0;\\n}\\n\\n.account_recovery_msg_1 {\\n  font-size: 15px;\\n}\\n\\n.account_recovery_msg_2 {\\n  font-weight: 700;\\n}\\n\\n.container .titleHeader {\\n  padding: 24px 0px 16px 0px;\\n}\\n\\n.container .color-f-s-16 {\\n  font-size: 16px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-style: sans-serif;\\n  text-align: justify;\\n}\\n\\n.container .resetButton .mat-button {\\n  color: #ffffff;\\n  font-size: 14px;\\n  background-color: #51c1e8;\\n  margin: 5px 0px 15px 0px;\\n  padding: 0px 6px;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  .container .resetButton .mat-button {\\n    width: 100%;\\n    margin-bottom: 10px !important;\\n  }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxpQ0FBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtBQUNKOztBQUNBO0VBRVE7SUFDSSxXQUFBO0lBQ0EsOEJBQUE7RUFDVjtBQUNGOztBQUdBO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0FBREo7O0FBR0k7RUFDSSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQURSOztBQUlJO0VBQ0ksVUFBQTtBQUZSOztBQUtJO0VBQ0ksV0FBQTtFQUNBLGdCQUFBO0FBSFI7O0FBU0k7RUFDSSxlQUFBO0FBTlI7O0FBU0k7RUFDSSxnQkFBQTtBQVBSOztBQVlJO0VBQ0ksMEJBQUE7QUFUUjs7QUFXSTtFQUNJLGVBQUE7RUFDQSx3Q0FBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7QUFUUjs7QUFXSTtFQUNJLGNBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSx3QkFBQTtFQUNBLGdCQUFBO0FBVFI7O0FBV0k7RUFDSTtJQUNJLFdBQUE7SUFDQSw4QkFBQTtFQVRWO0FBQ0YiLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHggMHB4IDE1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb3Jnb3RQYXNzd29yZCB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcmdldFBhc3N3b3JkT3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgLmRzLXJhZGlvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZHMtcmFkaW9fX2J1dHRvbiB7XG4gICAgICAgIHRvcDogdW5zZXQ7XG4gICAgfVxuXG4gICAgLmZpZWxkQm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uYWNjb3VudF9yZWNvdmVyeSB7XG5cbiAgICAmX21zZ18xIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgICZfbXNnXzIge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gICAgLnRpdGxlSGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAwcHggMTZweCAwcHg7XG4gICAgfVxuICAgIC5jb2xvci1mLXMtMTYge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IHNhbnMtc2VyaWY7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgfVxuICAgIC5yZXNldEJ1dHRvbiAubWF0LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MWMxZTg7XG4gICAgICAgIG1hcmdpbjogNXB4IDBweCAxNXB4IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4IDZweDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAucmVzZXRCdXR0b24gLm1hdC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgIFxufSJdfQ== */\";","export default \"<div class=\\\"color-options transition\\\" [ngClass]=\\\"{'show': showOptions}\\\">\\n    <div class=\\\"card-title-text\\\" fxLayout=\\\"row wrap\\\" fxLayoutAlign=\\\"space-between center\\\">\\n        <h4 class=\\\"fw-500\\\">Configuration</h4>\\n        <button class=\\\"card-control\\\" mat-icon-button href=\\\"javascript:void(0)\\\" (click)=\\\"showOptions = !showOptions\\\">\\n            <mat-icon>close</mat-icon>\\n        </button>\\n    </div>\\n    <div class=\\\"configuration-content\\\">\\n        <div class=\\\"setting-contant\\\">\\n            <h6 _ngcontent-oma-c131=\\\"\\\" class=\\\"title text-muted\\\">Layout Type</h6>\\n            <div class=\\\"dark-light\\\" (click)=\\\"customizeLayoutDark()\\\">\\n                <div class=\\\"theme-layout-version\\\"  >{{buttonName}}</div>\\n            </div>\\n\\n        </div>\\n        <div class=\\\"setting-contant\\\" [class.opensubmenu]=\\\"isActive('color option')\\\">\\n            <h6 _ngcontent-oma-c131=\\\"\\\" class=\\\"title text-muted\\\">Theme Colors</h6>\\n            <ul class=\\\"color-box\\\">\\n                <li>\\n                    <input id=\\\"colorPicker1\\\" type=\\\"color\\\" value=\\\"#ef6c00\\\" name=\\\"Background\\\"\\n                        (change)=\\\"customizeThemeColor($event)\\\">\\n                    <span>theme deafult color</span>\\n                </li>\\n            </ul>\\n        </div>\\n    </div>\\n\\n    <a href=\\\"javascript:void(0)\\\">\\n        <div (click)=\\\"showOptions = !showOptions\\\" class=\\\"options-icon\\\">\\n            <mat-icon>settings</mat-icon>\\n        </div>\\n    </a>\\n</div> \";","import { Directive, ElementRef, Renderer2, HostListener, ChangeDetectorRef, OnInit, EventEmitter, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport $ from 'jquery';\nimport { RegexService } from '../services/regex.service';\nimport * as KeyCodes from '@angular/cdk/keycodes';\nimport {ValidationService} from '../services/validation.service';\n\n@Directive({\n    selector: '[validate]'\n})\nexport class ValidateDirective implements OnInit {\n    windowBlur: boolean = true;\n    @Output(\"success\") successFun: EventEmitter<any> = new EventEmitter();\n    constructor(\n        private ref: ChangeDetectorRef,\n        public translate: TranslateService,\n        private elementRef: ElementRef,\n        private renderer: Renderer2,\n        public regexService: RegexService,\n        public validationService: ValidationService\n    ) {\n    }\n    @HostListener('window:focus', ['$event.target'])\n    onFocus(target) {\n        this.windowBlur = false;\n    }\n\n\n    @HostListener('window:focusout', ['$event.target'])\n    onFocusout(target) {\n        this.windowBlur = true;\n    }\n\n    @HostListener('focus', ['$event.target'])\n    elemntonFocus(target1) {\n        const target = $(target1);\n        target.closest('.control-group').removeClass('has-error');\n        target.closest('.control-group').find('.has-error').remove();\n        target.parent('.ds-validate').removeClass('ds-validate--has-error');\n        target.parent('.ds-validate').find('.has-error').remove();\n        target.find('state-error').remove();\n        target.removeClass('state-error');\n        target.removeClass('state-success');\n        target.find('state-success').remove();\n    }\n\n\n    @HostListener('focusout', ['$event.target'])\n    elemntonFocusout(target1) {\n        const target = $(target1);\n        target.parent('.ds-validate').removeClass('ds-validate--has-error');\n        target.parent('.ds-validate').find('.has-error').remove();\n    }\n    @HostListener('blur', ['$event.target'])\n    elemntonBlur(target) {\n        this.checkForm(target, 0);\n    }\n    @HostListener('focusin', ['$event.target'])\n    elemntonFocusin(ev1) {\n    }\n\n    @HostListener('keydown', ['$event'])\n    elementonkeypress($event) {\n        const e = $event;\n        const element = $($event.target);\n        if (element.attr('inputspace')) {\n\n            let altkeypress;\n            if (e.altKey) {\n                altkeypress = true;\n            }\n            else {\n                if (altkeypress) {\n                    altkeypress = false;\n                    return false;\n                }\n            }\n            if ((e.which >= 32 && e.which <= 36) || (e.which >= 41 && e.which <= 45) || (e.which === 47) || (e.key == '@' && e.which === 50) || (e.which >= 58 && e.which <= 64) || (e.which >= 91 && e.which <= 93) || (e.which >= 106 && e.which <= 188) || (e.which >= 190 && e.which <= 222)) {\n                return false;\n            }\n        }\n        if (element.attr('inputonlynumber')) {\n            if ((e.which >= 32 && e.which <= 36) || (e.which >= 41 && e.which <= 47) || (e.which >= 58 && e.which <= 93) || (e.which >= 106 && e.which <= 222)) {\n                return false;\n            }\n        }\n        if (element.attr('inputmobilespacendash')) {\n            if ((e.which >= 33 && e.which <= 34) || (e.which >= 41 && e.which <= 45) || (e.which === 47) || (e.which >= 58 && e.which <= 64) || (e.which >= 91 && e.which <= 93) || (e.which >= 106 && e.which <= 188) || (e.which >= 190 && e.which <= 222)) {\n                return false;\n            }\n        }\n        if (element.attr('validate-maxlength')) {\n            const attr = element.attr('validate-maxlength');\n            if (element.val().length + 1 > attr) {\n                const customErrorMessgae = element.attr('error-message');\n                element.closest('.control-group').find('.has-error').remove();\n                if (customErrorMessgae) {\n                    this.showError(customErrorMessgae, element, attr);\n                } else {\n                    this.showError('error_maxlength_chars', element, attr);\n                }\n\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n        if (element.attr('inputspacehypens')) {\n            if (e.which === 32 || e.which === 189) {\n                return false;\n            }\n        }\n        if (element.attr('nospaceallow')) {\n            if (e.which === 32) {\n                return false;\n            }\n        }\n        if(element.attr('NOunderscore')){\n            if(e.which === 189){\n                return false;\n            }\n        }\n    }\n\n    ngOnInit() {\n        this.renderer.listen(this.elementRef.nativeElement, 'focus', (event) => {\n            const target = $(event.target);\n            target.closest('.control-group').removeClass('has-error');\n            target.closest('.control-group').find('.has-error').remove();\n            target.parents('.ds-validate').removeClass('ds-validate--has-error');\n            target.parents('.ds-validate').find('.has-error').remove();\n            target.find('state-error').remove();\n            target.removeClass('state-error');\n            target.removeClass('state-success');\n            target.find('state-success').remove();\n        });\n        const element = $(this.elementRef.nativeElement);\n        if (element.attr('trigger-check')) {\n            this.renderer.listen(this.elementRef.nativeElement, 'click', (ev) => {\n                //  StopExecution = true;\n                ev.preventDefault();\n                // remove any visible errors\n                $('.mat-form-field.has-error').removeClass('has-error');\n                $('.mat-form-field').find('.has-error').remove();\n\n                // grab all inputs set for validation minus the button triggering the check\n                const inputs = $('input,mat-select,mat-checkbox').not('input[trigger-check]');\n\n                // loop through inputs and send them through checkForm\n                inputs.each((i, element) => {\n                    this.checkForm(element, 0);\n                });\n\n                const errors = $('.mat-form-field.has-error');\n                if (errors.length === 0) {\n                    this.successFun.emit();\n                    // this.ref.detectChanges(element);\n                } else {\n                    const target = $('.mat-form-field.has-error')[0];\n                    $('html, body').animate({\n                        scrollTop: $(target).offset().top - 100\n                    }, 1000); // animate scroll to first error\n                }\n            });\n        }\n        if (element.attr('triggerWithoutScroll')) {\n            element.click((ev) => {\n                //  StopExecution = true;\n                ev.preventDefault();\n                // remove any visible errors\n                $('.mat-form-field.has-error').removeClass('has-error');\n                $('.mat-form-field').find('.has-error').remove();\n\n                // this.ref.detectChanges(element.attr(\"pvCheck\"));\n                const sectiontype = element.attr('sectiontype');\n\n                // grab all inputs set for validation minus the button triggering the check\n                const inputs = $('[' + sectiontype + ']').not('input[trigger-checksection]');\n\n                // loop through inputs and send them through checkForm\n                inputs.each((i, element) => {\n                    this.checkForm(element, 0);\n                });\n\n                const errors = $('.mat-form-field.has-error');\n                if (errors.length === 0) {\n                    this.successFun.emit();\n                    // this.ref.detectChanges(attrs.success);\n                }\n            });\n        }\n        if (element.attr('trigger-check-section')) {\n            this.renderer.listen(this.elementRef.nativeElement, 'click', (ev) => {\n                //  StopExecution = true;\n                ev.preventDefault();\n                // remove any visible errors\n                $('.mat-form-field.has-error').removeClass('has-error');\n                $('.mat-form-field').find('.has-error').remove();\n\n                // this.ref.detectChanges(element.attr('pvCheck'));\n\n                const sectiontype = element.attr('sectiontype');\n\n                // grab all inputs set for validation minus the button triggering the check\n                const inputs = $('[' + sectiontype + ']')\n                    .not('button[trigger-check-section]')\n                    .not('.novalidate');\n\n                // loop through inputs and send them through checkForm\n                inputs.each((i, element) => {\n                    this.checkForm(element, 0);\n                });\n\n                // special pw check that happens only on btn click and if pw field exists\n                if ($('#password1').length > 0) {\n                    const pw1 = $('#password1');\n                    const pw2 = $('#password2');\n                    const ctrlGrps = pw1.closest('.controls-row').find('.mat-form-field');\n                    if (pw1.val() !== pw2.val()) {\n                        ctrlGrps.addClass('has-error');\n                        $('.password-match')\n                            .text('No Match')\n                            .addClass('has-error');\n                    }\n                }\n\n                const errors = $('.mat-form-field.has-error');\n                if (errors.length === 0) {\n                    this.successFun.emit();\n                } else {\n                    const target = $('.mat-form-field.has-error')[0];\n                    const link = $(target);\n                    const offset = link.offset();\n                    const top = offset.top;\n                    const bottom = $(window).height() - top - link.height();\n                    $('html, body').animate(\n                        {\n                            scrollTop: bottom > 1 ? bottom : $(target).offset().top\n                        },\n                        1000\n                    ); // animate scroll to first error\n                }\n            });\n        }\n        if (element.attr('triggerTabSection')) {\n            element.click((ev) => {\n                setTimeout(() => {\n                    // StopExecution = true;\n                    ev.preventDefault();\n                    // remove any visible errors\n\n\n                    const sections = $('div[trigger-tab-section=\\'true\\']').not('[currenttab=\\'true\\']');\n                    sections.forEach((n, item) => {\n                        const element1 = $(item);\n                        // grab all inputs set for validation minus the button triggering the check\n                        const inputs = element1.find(':input');\n\n                        // loop through inputs and send them through checkForm\n                        inputs.each((i, e) => {\n                            const element = $(e);\n                            element.closest('.mat-form-field').removeClass('has-error');\n                            element.closest('.mat-form-field').find('.has-error').remove();\n\n                            this.checkForm(element, 0);\n                        });\n                    });\n                    // special pw check that happens only on btn click and if pw field exists\n                    if ($('#password1').length > 0) {\n                        const pw1 = $('#password1');\n                        const pw2 = $('#password2');\n                        const ctrlGrps = pw1.closest('.controls-row').find('.mat-form-field');\n                        if (pw1.val() !== pw2.val()) {\n                            ctrlGrps.addClass('has-error');\n                            $('.password-match')\n                                .text('No Match')\n                                .addClass('has-error');\n                        }\n                    }\n                }, 1000);\n\n\n            });\n\n        }\n        return null;\n    }\n\n    checkForm(element1, type = 0) {\n        const element = $(element1);\n        let attr;\n        let value = element.val();\n        if (element1.localName === 'mat-select') {\n            value = element1.textContent;\n        }\n\n        /*--attrs is not used because when the continue button is clicked attrs held the value of the button and not the element we passsed in - instead\n        we check the old fashioned way with jQuery to see what validation needs to be done.--*/\n\n\n        // not empty validation\n        if (element.attr('noempty')) {\n            if ($.trim(value) === '') {\n                if (type === 0) {\n                    element.closest('.mat-form-field').find('.has-error').remove();\n                    this.showError('error_required_field', element);\n                }\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n\n        if (element.attr('validname')) {\n            if (value.match(/[*^|\":<>[\\]{}\\\\()';?/~!,]/)) {\n                if (type === 0) {\n                    this.showError('error_special_char', element);\n                }\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n        \n\n        if (element.attr('phoneno')) {\n            if (!value.match(/^\\d*$/)) {\n\n                if (type === 0) {\n                    this.showError('error_only_numbers', element);\n                }\n\n            }\n        }\n        // min length validation\n        if (element.attr('minlength')) {\n            attr = element.attr('minlength');\n            if (value) {\n                if (value.length < attr) {\n                    if (type === 0) {\n                        element.closest('.ds-validate').addClass('ds-field--is-dirty');\n                        this.showError('error_minimum_digits', element, attr);\n\n                    }\n                }\n                else {\n                    this.showSuccess(element);\n                }\n            }\n        }\n\n        // max length validation\n        if (element.attr('validate-maxlength')) {\n            attr = element.attr('validate-maxlength');\n            if (value.length > attr) {\n                if (type === 0) {\n                    const customErrorMessgae = element.attr('error-message');\n                    if (customErrorMessgae) {\n                        this.showError(customErrorMessgae, element, attr);\n                    } else {\n                        this.showError('error_maxlength_chars', element, attr);\n                    }\n                }\n\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n        // email validation\n        if (element.attr('email') && element.attr('email') == 'true') {\n\n            if (value) {\n                this.validateEmail(value, element);\n            }\n        }\n\n\n        // alphanumeric validation\n        if (element.attr('alphanumericdash')) {\n            if (value) {\n                this.validateAlphaNumericDash(value, type);\n            }\n        }\n\n\n\n        if (element.attr('password-match')) {\n            const currentPw = $('#txtPassword').val();\n            if (element.val()) {\n                if (currentPw == element.val()) {\n                    this.showSuccess(element);\n                } else {\n                    if (type === 0) {\n                        element.closest('.mat-form-field').find('.has-error').remove();\n                        this.showError('password_not_match', element, attr);\n                    }\n                }\n            }\n        }\n        // no spaces\n        if (element.attr('nospaces')) {\n            if (value.match(/\\s/g)) {\n                if (type === 0) {\n                    element.closest('.mat-form-field').find('.has-error').remove();\n                    this.showError('error_spaces_not_permitted', element);\n                }\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n        // select validation\n        if (element.attr('validate-select')) {\n            value = element1.textContent.replace(/\\s/g, '');\n\n            if ((value && value.match(/Select a/)) || !value || value == ' ' || value == '') {\n                if (type === 0) {\n                    this.showError('error_make_selection', element);\n                }\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n\n        // select validation\n        if (element.attr('validate-custom-select')) {\n            value = $('#freq_dd').val();\n\n            if (value === '') {\n                if (type === 0) {\n                    this.showError('error_make_selection', element);\n                }\n                // else {\n                //     formcompletecheck = false;\n                // }\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n\n        // checkbox validation\n        if (element.attr('checkbox-validate')) {\n            element.on('click', (event) => {\n                const target = $(event.target);\n                if ($(event.target).find('input[class=\"mat-checkbox-input\"]')) {\n                    target.closest('.control-group').removeClass('has-errors');\n                    target.closest('.control-group').find('.has-errors').remove();\n                    target.parents('.ds-validate').removeClass('ds-validate--has-errors');\n                    target.parents('.ds-validate').find('.has-errors').remove();\n                    target.find('state-error').remove();\n                    target.removeClass('state-error');\n                    target.removeClass('state-success');\n                    target.find('state-success').remove();\n                }\n            });\n            if (element.find('input').attr('aria-checked') == 'false' || !element.find('input').attr('aria-checked')) {\n                if (type === 0) {\n                    this.showErrorCheckbox('checkbox_required', element);\n                }\n\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n        // checkbox validation\n        if (element.attr('checkbox-validate-autoship')) {\n\n            if ((element.find('input').attr('aria-checked') == 'false' || !element.find('input').attr('aria-checked')) && element.hasClass('ischeck')) {\n                if (type === 0) {\n                    this.showError('autoship_required', element.parent().parent());\n                }\n\n            }\n            else {\n                this.showSuccess(element);\n            }\n        }\n\n        // regex validation\n        if (element.attr('regxvalid')) {\n            if (value) {\n                this.regexValidate(value, element, element.attr('regxvalidValue'), type);\n            }\n\n        }\n\n\n        // regex validation\n        if (element.attr('regxvalidzip')) {\n            if (value) {\n                this.regexValidateZip(element, value, element.attr('regexcountry').toUpperCase());\n            }\n        }\n\n\n        // greater than zero\n        if (element.attr('greater-than-zero')) {\n            if (value) {\n                const numb = value.replace(/[^0-9]/g, '');\n                if (numb > 0) {\n                    this.showSuccess(element);\n                } else {\n                    if (type === 0) {\n                        this.showError('greater_then_zero', element, attr);\n                    }\n                }\n            }\n        }\n\n    }\n    validateEmail(value, element, type = 0) {\n        \n        if (this.validationService.validateEmail(value)) {\n            this.showSuccess(element);\n        }\n        else {\n            if (type === 0) {\n                this.showError('error_valid_email', element);\n            }\n        }\n    }\n\n\n    validateAlphaNumericDash(value, element, type = 0) {\n        const filter = new RegExp('^[a-zA-Z0-9-.]+$');\n        if (filter.test(value)) {\n            this.showSuccess(element);\n        } else {\n            if (type === 0) {\n                this.showError('error_valid_alphanumeric', element);\n            }\n        }\n    }\n    regexValidate(value, element, regxExp, type = 0) {\n        const filter = new RegExp(regxExp);\n        if (filter.test(value)) {\n            this.showSuccess(element);\n        }\n        else {\n            if (type === 0) {\n                element.closest('.mat-form-field').find('.has-error').remove();\n                this.showError('INVALID_PASSWORD_FORMAT', element);\n            }\n        }\n    }\n    regexValidateZip(element, value, countrycode, type = 0) {\n        const regxExp = this.regexService.getRegex(countrycode.toUpperCase());\n        const filter = new RegExp(regxExp);\n        if (filter.test(value)) {\n            this.showSuccess(element);\n        }\n        else if (!filter.test(value)) {\n            this.showError('invalid_zip', element);\n        }\n    }\n\n\n    showError(msg, element, val?: '') {\n        // let element=$(element.parent());\n        if (!element.hasClass('novalidate')) {\n            if (!element.closest('.mat-form-field').find('span').hasClass('has-error')) {\n                // create and display error message\n                element.removeClass('state-success');\n                element.addClass('state-error');\n                const container = $('<small />');\n\n                if (element.attr('custommsg')) {\n                    msg = element.attr('custommsg');\n                }\n\n                msg = this.translate.instant(msg, { value: val });\n                container.text(msg).addClass('has-error help-block ng-scope').attr('translate', '');\n                element.parent().closest('.ds-validate').addClass('ds-validate--has-error');\n                element.parent().closest('.custom-validate').addClass('custom-validate--has-error');\n\n                if (element.hasClass('ds-checkbox') || element.hasClass('ds-radio')) {\n                    element.after(container);\n                }\n                if (element.parentsUntil().hasClass('ds-validate--has-error')) {\n                    element.after(container);\n                }\n                if (element.parentsUntil().hasClass('custom-validate--has-error')) {\n                    element.after(container);\n                }\n                element.closest('.mat-form-field').addClass('has-error');\n            }\n\n        }\n    }\n    showErrorCheckbox(msg, element, val?: '') {\n        // let element=$(element.parent());\n        if (!element.hasClass('novalidate')) {\n            if (!element.closest('.mat-form-field').find('span').hasClass('has-error')) {\n                // create and display error message\n                element.removeClass('state-success');\n                element.addClass('state-error');\n                const container = $('<small />');\n\n                if (element.attr('custommsg')) {\n                    msg = element.attr('custommsg');\n                }\n\n                msg = this.translate.instant(msg, { value: val });\n                container.text(msg).addClass('has-errors help-blocks ng-scope').attr('translate', '');\n                element.parent().closest('.ds-validate').addClass('ds-validate--has-error');\n                element.parent().closest('.custom-validate').addClass('custom-validate--has-error');\n\n                if (element.hasClass('ds-checkbox') || element.hasClass('ds-radio')) {\n                    element.after(container);\n                }\n                if (element.parentsUntil().hasClass('ds-validate--has-error')) {\n                    element.after(container);\n                }\n                if (element.parentsUntil().hasClass('custom-validate--has-error')) {\n                    element.after(container);\n                }\n                element.closest('.mat-form-field').addClass('has-error');\n            }\n\n        }\n    }\n    showSuccess(element) {\n        if (!element.hasClass('novalidate') && !this.windowBlur) {\n            if (!element.closest('.mat-form-field').find('span').hasClass('has-error')) {\n                // create and display error message\n                element.removeClass('state-error');\n                element.addClass('state-success');\n            }\n        }\n    }\n}\n\n","export default \".h-32 {\\n  height: 32px;\\n}\\n\\n.mat-hover ::ng-deep .mat-button-ripple.mat-ripple, .mat-hover ::ng-deep .mat-button-focus-overlay {\\n  top: -10px !important;\\n  border-radius: 23px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Nob3BwaW5nLXdpZGdldHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0FBQ0o7O0FBR1E7RUFDSSxxQkFBQTtFQUNBLDhCQUFBO0FBQVoiLCJmaWxlIjoic2hvcHBpbmctd2lkZ2V0cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oLTMye1xuICAgIGhlaWdodDogMzJweDtcbn1cbi5tYXQtaG92ZXJ7XG4gICAgOjpuZy1kZWVwIHtcbiAgICAgICAgLm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkgeyBcbiAgICAgICAgICAgIHRvcDogLTEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIzcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */\";","export default \"<footer id=\\\"footer\\\" class=\\\"footer sec-padding\\\">\\n  <div class=\\\"container\\\" fxLayoutAlign=\\\"center center\\\">\\n    <div fxFlex=\\\"85\\\" class=\\\"footer-wrapper\\\" fxLayout=\\\"row wrap\\\" fxLayoutAlign=\\\"center start\\\">\\n      <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"30\\\" fxFlex.sm=\\\"50\\\" class=\\\"footer-widget about-widget\\\">\\n        <p><span class=\\\"c-black logo cursor-pointer\\\">ThinkEnergy</span></p>\\n      </div>\\n      <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"23\\\" fxFlex.sm=\\\"50\\\" ngClass.sm=\\\"mt-2\\\" ngClass.xs=\\\"mt-2\\\"\\n        class=\\\"footer-widget subscribe-widget\\\">\\n        <div class=\\\"title\\\">\\n          <h5 translate=\\\"contact_us\\\">Contact Us</h5>\\n        </div>\\n        <div fxLayout=\\\"row\\\" class=\\\"tel-box\\\">\\n          <div class=\\\"icon\\\"><i class=\\\"fa fa-map-marker\\\"></i></div>\\n          <div class=\\\"text\\\">\\n            <p>\\n              {{footerContactInformation.Address1}}\\n              {{footerContactInformation.City}}\\n              {{footerContactInformation.State}}\\n              {{configService.localSettings.Company.Address.Country}}</p>\\n          </div>\\n        </div>\\n        <div fxLayout=\\\"row\\\" class=\\\"tel-box\\\" *ngIf=\\\"footerContactInformation.Phone != null\\\">\\n          <div class=\\\"icon\\\"><i class=\\\"fa fa-phone\\\"></i></div>\\n          <div class=\\\"text\\\">\\n            <p>{{footerContactInformation.Phone}}</p>\\n          </div>\\n        </div>\\n        <div fxLayout=\\\"row\\\" class=\\\"tel-box\\\">\\n          <div class=\\\"icon\\\"><i class=\\\"fa fa-envelope\\\"></i></div>\\n          <div class=\\\"text\\\">\\n            <p><a>{{configService.localSettings.Company.Address.Email}}</a></p>\\n          </div>\\n        </div>\\n\\n        <ul fxLayout=\\\"row\\\" class=\\\"social list-inline\\\">\\n          <li *ngFor=\\\"let sociallink of configService.localSettings.Company.SocialLinks\\\"><a [href]=\\\"sociallink.link\\\"\\n              target=\\\"_blank\\\"><i [class]=\\\"sociallink.icon\\\"></i></a></li>\\n        </ul>\\n      </div>\\n    </div>\\n  </div>\\n</footer>\";","export default \".container1 {\\n  width: 100% !important;\\n  margin: 0 auto !important;\\n  padding: 0 !important;\\n  background-color: rgba(0, 0, 0, 0.3) !important;\\n}\\n\\n.swiper_h1 {\\n  margin: 0 auto !important;\\n  max-width: -moz-fit-content !important;\\n  max-width: fit-content !important;\\n  color: white !important;\\n}\\n\\n.swiper_h3 {\\n  margin: 0 auto !important;\\n  max-width: -moz-fit-content !important;\\n  max-width: fit-content !important;\\n  color: white !important;\\n  margin-bottom: 30px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21haW4tY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFFSSxzQkFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7RUFDQSwrQ0FBQTtBQUFKOztBQUVBO0VBRUkseUJBQUE7RUFDQSxzQ0FBQTtFQUFBLGlDQUFBO0VBQ0EsdUJBQUE7QUFBSjs7QUFFQTtFQUVJLHlCQUFBO0VBQ0Esc0NBQUE7RUFBQSxpQ0FBQTtFQUNBLHVCQUFBO0VBQ0EsOEJBQUE7QUFBSiIsImZpbGUiOiJtYWluLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRhaW5lcjFcbntcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjMpICFpbXBvcnRhbnQ7XG59XG4uc3dpcGVyX2gxXG57XG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSkgIWltcG9ydGFudDtcbn1cbi5zd2lwZXJfaDNcbntcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiKDI1NSwyNTUsMjU1KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbn0iXX0= */\";","export default \"<mat-toolbar-row fxHide fxShow.gt-sm class=\\\"container\\\" fxLayout=\\\"row\\\"  fxLayout.xs=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n    <div class=\\\"main-menu\\\" fxLayout=\\\"row\\\" fxHide fxShow.gt-sm>\\n        <a  mat-button [routerLink]=\\\"['/home']\\\" class=\\\"mat-button\\\" >Home</a>\\n        <a mat-button [matMenuTriggerFor]=\\\"shop\\\" class=\\\"mat-button\\\" (click)=\\\"openMegaMenu()\\\">Products<mat-icon class=\\\"caret\\\">arrow_drop_down</mat-icon></a>\\n        <mat-menu #shop=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" class=\\\"app-dropdown mega-menu\\\">\\n            <div fxLayout=\\\"row wrap\\\">\\n                <div fxLayout=\\\"column\\\" class=\\\"p-1 category_menu\\\" *ngFor=\\\"let category of categoriesList| slice:0:5\\\">\\n                    <a mat-menu-item [routerLink]=\\\"['/products',category.Category]\\\"><b [textContent]=\\\"category.Category\\\"></b></a>\\n                    <mat-divider></mat-divider> \\n                    <a mat-menu-item (click)=\\\"navigateProductDetails(categoryItem.ItemID)\\\" *ngFor=\\\"let categoryItem of categoriesItemList[category.CategoryId] | slice:0:5\\\">{{categoryItem.ProductName}}</a>\\n                    <a class=\\\"f-s-12 c-red\\\" mat-menu-item [routerLink]=\\\"['products',category.Category]\\\">{{'view_all_products' | translate}}</a>\\n                </div>  \\n            </div>\\n  \\n        </mat-menu>\\n        <a  mat-button [matMenuTriggerFor]=\\\"pages\\\" class=\\\"mat-button\\\">Pages<mat-icon class=\\\"caret\\\">arrow_drop_down</mat-icon></a>\\n        <mat-menu #pages=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" class=\\\"app-dropdown\\\">\\n          <a [routerLink]=\\\"['/about']\\\" mat-menu-item>About Us</a>\\n          <a mat-menu-item [routerLink]=\\\"['/faq']\\\" >FAQ</a>\\n          <a mat-menu-item (click)=\\\"navigateToContact()\\\">{{\\\"contact_\\\" | translate}}</a>\\n          <a *ngIf=\\\"!isLoggedIn()\\\" mat-menu-item [routerLink]=\\\"['/login']\\\">Sign In</a>\\n      </mat-menu>\\n        <a routerLinkActive=\\\"router-link-active\\\"   mat-button class=\\\"mat-button\\\"(click)=\\\"navigateToContact()\\\">{{\\\"contact_\\\" | translate}}</a>\\n        <a *ngIf=\\\"!isLoggedIn()\\\"  [routerLink]=\\\"['/join']\\\" routerLinkActive=\\\"router-link-active\\\"   mat-button class=\\\"mat-button\\\">Join</a>\\n      </div>\\n  </mat-toolbar-row>\\n\\n\\n\\n\";","import { UtilityService } from 'src/app/components/shared/services/utility.service';\nimport { PersistentService } from './../../../shared/services/persistent.service';\nimport { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { Product } from 'src/app/modals/product.model';\nimport { ProductDialogComponent } from '../product-dialog/product-dialog.component';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { Cart1Service } from 'src/app/components/shared/services/cart1.service';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\n@Component({\n  selector: 'app-product',\n  templateUrl: './product.component.html',\n  styleUrls: ['./product.component.scss']\n})\nexport class ProductComponent implements OnInit {\n\n  @Output() onOpenProductDialog: EventEmitter<Product> = new EventEmitter();\n  @Input() product: any;\n\n  constructor(\n    public configService: ConfigService,\n    public cart1Service: Cart1Service,\n    public productsService: ProductService,\n    private dialog: MatDialog,\n    private router: Router,\n    public persistentService: PersistentService,\n    public utilityService: UtilityService,\n    public companyService:CompanyService\n  ) {\n\n  }\n\n  ngOnInit() {\n  }\n\n\n  public openProductDialog(product) {\n    const dialogRef = this.dialog.open(ProductDialogComponent, {\n      data: product,\n      panelClass: 'product-dialog',\n    });\n    dialogRef.afterClosed().subscribe(product => {\n      if (product) {\n     \n      }\n    });\n  }\n\n}\n","export default \".invoiceDialog .dialog-title {\\n  color: white;\\n  font-size: 21px;\\n}\\n.invoiceDialog .header {\\n  background-color: var(--theme-deafult-secondary);\\n}\\n.invoiceDialog .header-tab-action {\\n  background: #00000026 !important;\\n  margin: 0px 5px;\\n  border-radius: 10px;\\n  color: #ffffff;\\n}\\n.invoiceDialog .mat-dialog-content {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.invoiceDialog .mat-dialog-content .horizontalLine {\\n  border-top: 1px solid #5e5e5e;\\n  box-shadow: 0px 1px 2px #5e5e5e;\\n  margin: 30px 0px;\\n}\\n.invoiceDialog .mat-dialog-content .table1 {\\n  max-width: 100%;\\n}\\n.invoiceDialog .mat-dialog-content .table1 table {\\n  display: grid;\\n  border-collapse: collapse;\\n  background-color: transparent;\\n  border-spacing: 0px;\\n  min-width: 100%;\\n  grid-template-columns: minmax(50px, 1fr) minmax(50px, 1.67fr) minmax(50px, 1.67fr) minmax(50px, 1.67fr) minmax(50px, 3.33fr) minmax(50px, 1.67fr);\\n}\\n.invoiceDialog .mat-dialog-content .table1 thead,\\n.invoiceDialog .mat-dialog-content .table1 tbody,\\n.invoiceDialog .mat-dialog-content .table1 tr {\\n  display: contents;\\n}\\n.invoiceDialog .mat-dialog-content .table1 th,\\n.invoiceDialog .mat-dialog-content .table1 td {\\n  padding: 15px;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n.invoiceDialog .mat-dialog-content .table1 th {\\n  position: sticky;\\n  top: 0;\\n  background: #eeeeee;\\n  font-weight: bold;\\n  font-size: 14px;\\n  color: black;\\n  text-align: center;\\n  border: 1px solid #999;\\n  background-color: #eee;\\n  padding: 5px;\\n  border-bottom: 0px;\\n}\\n.invoiceDialog .mat-dialog-content .table1 td {\\n  color: black;\\n  text-align: center;\\n  border: 1px solid #999;\\n  padding: 5px;\\n}\\n.invoiceDialog .mat-dialog-content .table1 tr:nth-child(even) td {\\n  background: #f8f6ff;\\n}\\n.invoiceDialog .mat-dialog-content .table2 {\\n  max-width: 100%;\\n}\\n.invoiceDialog .mat-dialog-content .table2 table {\\n  display: grid;\\n  border-collapse: collapse;\\n  background-color: transparent;\\n  border-spacing: 0px;\\n  min-width: 100%;\\n  grid-template-columns: minmax(50px, 1fr) minmax(50px, 1.67fr) minmax(50px, 1.67fr) minmax(50px, 1.67fr) minmax(50px, 3.33fr) minmax(50px, 1.67fr) minmax(50px, 3.33fr);\\n}\\n.invoiceDialog .mat-dialog-content .table2 thead,\\n.invoiceDialog .mat-dialog-content .table2 tbody,\\n.invoiceDialog .mat-dialog-content .table2 tr {\\n  display: contents;\\n}\\n.invoiceDialog .mat-dialog-content .table2 th,\\n.invoiceDialog .mat-dialog-content .table2 td {\\n  padding: 15px;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n}\\n.invoiceDialog .mat-dialog-content .table2 th {\\n  position: sticky;\\n  top: 0;\\n  font-weight: bold;\\n  font-size: 14px;\\n  color: black;\\n  text-align: center;\\n  border: 1px solid #999;\\n  background-color: #eee;\\n  padding: 5px;\\n  border-bottom: 0px;\\n}\\n.invoiceDialog .mat-dialog-content .table2 td {\\n  color: black;\\n  text-align: center;\\n  border: 1px solid #999;\\n  padding: 5px;\\n}\\n.invoiceDialog .mat-dialog-content .table2 tr:nth-child(even) td {\\n  background: #f8f6ff;\\n}\\n.invoiceDialog .mat-dialog-content .noteBox {\\n  height: 100px;\\n  border: 1px solid #e0e0e0;\\n}\\n.invoiceDialog .mat-dialog-content .borderBox {\\n  border: 1px solid #5e5e5e;\\n}\\n.invoiceDialog .mat-dialog-content .footer {\\n  background-color: #eeeeee;\\n  padding: 15px;\\n  margin-top: 5px;\\n}\\n.invoiceDialog .mat-dialog-content .footer p {\\n  color: black;\\n  font-size: 14px;\\n}\\n.invoiceDialog .mat-dialog-content .table3td {\\n  text-align: right;\\n  border: 1px solid #999;\\n  width: 130px;\\n  border-bottom: 0px;\\n}\\n.invoiceDialog .mat-dialog-content .table3tdLast {\\n  text-align: right;\\n  border: 1px solid #999;\\n  width: 130px;\\n}\\n.invoiceDialog .mat-dialog-content .table3 td {\\n  padding: 4px;\\n  color: #5e5e5e;\\n  font-size: 14px;\\n}\\n.invoiceDialog .mat-dialog-content .invoice h3 {\\n  color: #e0e0e0;\\n  font-size: 27px;\\n}\\n.invoiceDialog .p-t-10 {\\n  padding-top: 10px !important;\\n}\\n.invoiceDialog .p-r-15 {\\n  padding-right: 15px !important;\\n}\\n.invoiceDialog .m-b-30 {\\n  margin-bottom: 30px !important;\\n}\\n.invoiceDialog .print-icon {\\n  height: 15px;\\n  margin: 25px;\\n}\\n.invoiceDialog .print-icon .mat-icon-button {\\n  background-color: #007ec6;\\n  color: #fff;\\n}\\n.invoiceDialog .print-icon mat-icon {\\n  font-size: 25px;\\n  cursor: pointer;\\n}\\n.invoiceDialog .colorf-s-14 {\\n  color: #5e5e5e;\\n  font-size: 14px;\\n}\\n@media only screen and (max-width: 600px) {\\n  .invoiceDialog .p-r-b {\\n    padding: 0px 15px 20px 0px;\\n  }\\n}\\n::ng-deep .invoiceDialog .mat-dialog-container {\\n  margin: 0px;\\n  padding: 0px !important;\\n}\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n::ng-deep .invoiceDialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n::ng-deep .invoiceDialog .mat-dialog-container {\\n  overflow: unset;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL29yZGVyLWludm9pY2UuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDRSxZQUFBO0VBQ0EsZUFBQTtBQUFKO0FBRUU7RUFDRSxnREFBQTtBQUFKO0FBRUU7RUFDRSxnQ0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7QUFBSjtBQUdFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0FBREo7QUFHSTtFQUNFLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSxnQkFBQTtBQUROO0FBSUk7RUFDRSxlQUFBO0FBRk47QUFHTTtFQUNFLGFBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsaUpBQ0U7QUFGVjtBQVVNOzs7RUFHRSxpQkFBQTtBQVJSO0FBV007O0VBRUUsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBQVRSO0FBWU07RUFDRSxnQkFBQTtFQUNBLE1BQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QUFWUjtBQWFNO0VBQ0UsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0FBWFI7QUFjTTtFQUNFLG1CQUFBO0FBWlI7QUFlSTtFQUNFLGVBQUE7QUFiTjtBQWNNO0VBQ0UsYUFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxzS0FDRTtBQWJWO0FBc0JNOzs7RUFHRSxpQkFBQTtBQXBCUjtBQXVCTTs7RUFFRSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FBckJSO0FBd0JNO0VBQ0UsZ0JBQUE7RUFDQSxNQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtBQXRCUjtBQXlCTTtFQUNFLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtBQXZCUjtBQTBCTTtFQUNFLG1CQUFBO0FBeEJSO0FBMkJJO0VBQ0UsYUFBQTtFQUNBLHlCQUFBO0FBekJOO0FBMkJJO0VBQ0UseUJBQUE7QUF6Qk47QUEyQkk7RUFDRSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0FBekJOO0FBMkJJO0VBQ0UsWUFBQTtFQUNBLGVBQUE7QUF6Qk47QUEyQkk7RUFDRSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0FBekJOO0FBMkJJO0VBQ0UsaUJBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7QUF6Qk47QUEyQkk7RUFDRSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7QUF6Qk47QUEyQkk7RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQXpCTjtBQTRCRTtFQUNFLDRCQUFBO0FBMUJKO0FBNEJFO0VBQ0UsOEJBQUE7QUExQko7QUE0QkU7RUFDRSw4QkFBQTtBQTFCSjtBQTRCRTtFQUNFLFlBQUE7RUFDQSxZQUFBO0FBMUJKO0FBMkJJO0VBQ0UseUJBQUE7RUFDQSxXQUFBO0FBekJOO0FBMkJJO0VBQ0UsZUFBQTtFQUNBLGVBQUE7QUF6Qk47QUE0QkU7RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQTFCSjtBQTZCRTtFQUNFO0lBQ0UsMEJBQUE7RUEzQko7QUFDRjtBQStCQTtFQUNFLFdBQUE7RUFDQSx1QkFBQTtBQTVCRjtBQThCQTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBQTNCRjtBQTZCQTtFQUNFLDBCQUFBO0FBMUJGO0FBNkJBO0VBQ0UseUJBQUE7QUExQkY7QUE2QkE7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUExQkY7QUE2QkE7RUFDRSxlQUFBO0FBMUJGIiwiZmlsZSI6Im9yZGVyLWludm9pY2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW52b2ljZURpYWxvZyB7XG4gIC5kaWFsb2ctdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbiAgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICB9XG4gIC5oZWFkZXItdGFiLWFjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDI2ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwcHggNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cblxuICAubWF0LWRpYWxvZy1jb250ZW50IHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAyM3B4IDI1cHg7XG5cbiAgICAuaG9yaXpvbnRhbExpbmUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAjNWU1ZTVlO1xuICAgICAgbWFyZ2luOiAzMHB4IDBweDtcbiAgICB9XG5cbiAgICAudGFibGUxIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOlxuICAgICAgICAgIG1pbm1heCg1MHB4LCAxZnIpXG4gICAgICAgICAgbWlubWF4KDUwcHgsIDEuNjdmcilcbiAgICAgICAgICBtaW5tYXgoNTBweCwgMS42N2ZyKVxuICAgICAgICAgIG1pbm1heCg1MHB4LCAxLjY3ZnIpXG4gICAgICAgICAgbWlubWF4KDUwcHgsIDMuMzNmcilcbiAgICAgICAgICBtaW5tYXgoNTBweCwgMS42N2ZyKTtcbiAgICAgIH1cblxuICAgICAgdGhlYWQsXG4gICAgICB0Ym9keSxcbiAgICAgIHRyIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICB9XG5cbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGY2ZmY7XG4gICAgICB9XG4gICAgfVxuICAgIC50YWJsZTIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgICAgICAgbWlubWF4KDUwcHgsIDFmcilcbiAgICAgICAgICBtaW5tYXgoNTBweCwgMS42N2ZyKVxuICAgICAgICAgIG1pbm1heCg1MHB4LCAxLjY3ZnIpXG4gICAgICAgICAgbWlubWF4KDUwcHgsIDEuNjdmcilcbiAgICAgICAgICBtaW5tYXgoNTBweCwgMy4zM2ZyKVxuICAgICAgICAgIG1pbm1heCg1MHB4LCAxLjY3ZnIpXG4gICAgICAgICAgbWlubWF4KDUwcHgsIDMuMzNmcik7XG4gICAgICB9XG5cbiAgICAgIHRoZWFkLFxuICAgICAgdGJvZHksXG4gICAgICB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgfVxuXG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgICB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6YmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuXG4gICAgICB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmNmZmO1xuICAgICAgfVxuICAgIH1cbiAgICAubm90ZUJveCB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgICB9XG4gICAgLmJvcmRlckJveCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNWU1ZTVlO1xuICAgIH1cbiAgICAuZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgICAuZm9vdGVyIHAge1xuICAgICAgY29sb3I6YmxhY2s7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIC50YWJsZTN0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgfVxuICAgIC50YWJsZTN0ZExhc3Qge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgIH1cbiAgICAudGFibGUzIHRkIHtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIGNvbG9yOiAjNWU1ZTVlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICAuaW52b2ljZSBoMyB7XG4gICAgICBjb2xvcjogI2UwZTBlMDtcbiAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICB9XG4gIH1cbiAgLnAtdC0xMCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgfVxuICAucC1yLTE1IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tYi0zMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcmludC1pY29uIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luOiAyNXB4O1xuICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2VjNjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICBtYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG4gIC5jb2xvcmYtcy0xNCB7XG4gICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5wLXItYiB7XG4gICAgICBwYWRkaW5nOiAwcHggMTVweCAyMHB4IDBweDtcbiAgICB9XG4gIH1cbn1cblxuOjpuZy1kZWVwIC5pbnZvaWNlRGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cbi5jbG9zZS1idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRvcDogLTI0cHg7XG4gIHJpZ2h0OiAtMjRweDtcbn1cbi5jbG9zZS1pY29uIHtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jbG9zZS1pY29uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuOjpuZy1kZWVwIC5pbnZvaWNlRGlhbG9nIC5jbG9zZS1idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRvcDogLTUycHg7XG4gIHJpZ2h0OiAtNTJweDtcbn1cblxuOjpuZy1kZWVwIC5pbnZvaWNlRGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiB1bnNldDtcbn1cbiJdfQ== */\";","\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nexport class ConfirmDialogModel {\n  constructor(public title: string, public message: string,public noaction?: string, public takeaction?: string) {\n  }\n}\n@Component({\n  selector: 'app-confirm-dialog',\n  templateUrl: './confirm-dialog.component.html',\n  styleUrls: ['./confirm-dialog.component.css']\n})\nexport class ConfirmDialogComponent implements OnInit {\n  title: string;\n  message: string;\n  noaction: string;\n  takeaction: string;\n  constructor(\n    public dialogRef: MatDialogRef<ConfirmDialogComponent>,\n    @Inject(MAT_DIALOG_DATA) public data: ConfirmDialogModel\n    ) {\n    this.title = data.title;\n    this.message = data.message;\n    this.noaction = data.noaction;\n    this.takeaction = data.takeaction;\n  }\n\n  ngOnInit() {\n  }\n\n  onConfirm(): void {\n    // Close the dialog, return true\n    this.dialogRef.close(true);\n\n  }\n\n  onDismiss(): void {\n    // Close the dialog, return false\n    this.dialogRef.close(false);\n  }\n}\n\n\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-banners',\n  templateUrl: './banners.component.html',\n  styleUrls: ['./banners.component.scss']\n})\nexport class BannersComponent implements OnInit {\n\n  @Input('banners') banners: Array<any> = [];\n  contentLoaded = false;\n  constructor() { }\n\n  ngOnInit() {\n    setTimeout(() => {\n      this.contentLoaded = true;\n    }, 3000);\n  }\n\n  public getBanner(index){\n    return this.banners[index];\n  }\n\n  public getBgImage(index){\n    let bgImage = {\n      'background-image': index != null ? \"url(\" + this.banners[index].image + \")\" : \"url(https://via.placeholder.com/600x400/ff0000/fff/)\"\n    };\n    return bgImage;\n  }\n}\n","export default \"<div class=\\\"progress-loader\\\" [hidden]=\\\"!loading\\\">\\n    <div class=\\\"loading-spinner\\\">\\n        <img src=\\\"assets/svg/index.svg\\\">\\n    </div>\\n</div>\";","export default \"<style>\\n  th,\\n  td {\\n    background-color: #eaeaea !important;\\n    padding: 13px !important;\\n    border-bottom-width: 1px;\\n    border-bottom-style: solid;\\n    line-height: 1.72;\\n    text-transform: uppercase;\\n    color: #000;\\n    font-weight: 500;\\n    font-size: 14px;\\n    height: 30px !important;\\n  }\\n\\n  .b-b {\\n    border-bottom: 1px solid #e0e0e0 !important;\\n  }\\n\\n  .p-0 {\\n    padding: 0px !important;\\n  }\\n\\n  .mat-elevation-z8 {\\n    box-shadow: none !important;\\n\\n  }\\n</style>\\n<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n  <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n</button>\\n<div mat-dialog-title>\\n\\n</div>\\n<div mat-dialog-content>\\n  <form class=\\\"example-form\\\">\\n    <div fxLayout=\\\"column\\\">\\n      <div fxFlex=\\\"100\\\">\\n        <p class=\\\"m-t-20 ng-scope\\\">{{\\\"Please_enter_enroller\\\" | translate: {Default: \\\"Please enter the ID or name of the\\n          person that\\n          referred you company name.\\\"} }}</p>\\n          </div>\\n      <div fxFlex=\\\"100\\\" class=\\\"searchInput\\\">\\n        <mat-form-field fxFlex>\\n          <input type=\\\"text\\\" aria-label=\\\"Number\\\" [(ngModel)]=\\\"searchText\\\" matInput [formControl]=\\\"myControl\\\">\\n          <button mat-button matSuffix (click)=\\\"searchEnroller(searchText)\\\">\\n            <mat-icon matSuffix class=\\\"arrow-icon\\\">arrow_right_alt</mat-icon>\\n            </button>\\n        </mat-form-field>\\n          </div>\\n        </div>\\n   </form>\\n\\n\\n  <div class=\\\"enroller-data-table\\\">\\n    <table mat-table [dataSource]=\\\"dataSource\\\" matSort class=\\\"mat-elevation-z8\\\">\\n\\n      <!-- Checkbox Column -->\\n      <ng-container matColumnDef=\\\"SelectEnroller\\\">\\n        <th mat-header-cell *matHeaderCellDef>\\n          SelectEnroller\\n        </th>\\n        <td mat-cell *matCellDef=\\\"let row\\\">\\n          <mat-checkbox (click)=\\\"$event.stopPropagation()\\\" (change)=\\\"$event ? singleSelection($event, row) : null\\\"\\n            (change)=\\\"$event ? selection.toggle(row) : null\\\" [checked]=\\\"selection.isSelected(row) == true\\\">\\n          </mat-checkbox>\\n        </td>\\n      </ng-container>\\n      <!-- NAME Column -->\\n      <ng-container matColumnDef=\\\"ProfileImageUrl\\\">\\n        <th mat-header-cell *matHeaderCellDef mat-sort-header> </th>\\n        <td mat-cell *matCellDef=\\\"let element\\\" class=\\\"avtar\\\">\\n          <img [src]=\\\"configService.localSettings.Disco.DiscoUrl+element.ProfileImageUrl\\\"\\n            [default]=\\\"'assets/img/noimage.png'\\\" />\\n        </td>\\n      </ng-container>\\n      <ng-container matColumnDef=\\\"FirstName\\\">\\n        <th mat-header-cell *matHeaderCellDef mat-sort-header> NAME </th>\\n        <td mat-cell *matCellDef=\\\"let element\\\"> {{element.FirstName}} {{element.LastName}} </td>\\n      </ng-container>\\n      <ng-container matColumnDef=\\\"LastName\\\">\\n        <th mat-header-cell *matHeaderCellDef mat-sort-header> LegalFirstName </th>\\n        <td mat-cell *matCellDef=\\\"let element\\\"> {{element.LegalFirstName}} {{element.LegalLastName}} </td>\\n      </ng-container>\\n      <ng-container matColumnDef=\\\"BackOfficeId\\\">\\n        <th mat-header-cell *matHeaderCellDef mat-sort-header> BackOfficeId </th>\\n        <td mat-cell *matCellDef=\\\"let element\\\"> {{element.BackOfficeId}}</td>\\n      </ng-container>\\n      <ng-container matColumnDef=\\\"EMail\\\">\\n        <th mat-header-cell *matHeaderCellDef mat-sort-header> EMail </th>\\n        <td mat-cell *matCellDef=\\\"let element\\\"> {{element.EMail}} </td>\\n      </ng-container>\\n      <ng-container matColumnDef=\\\"Phone\\\">\\n        <th mat-header-cell *matHeaderCellDef mat-sort-header> Phone </th>\\n        <td mat-cell *matCellDef=\\\"let element\\\"> {{element.Phone}} </td>\\n      </ng-container>\\n    <tr mat-header-row *matHeaderRowDef=\\\"displayedColumns\\\" class=\\\"b-b p-0\\\"></tr>\\n      <tr mat-row *matRowDef=\\\"let row; columns: displayedColumns;\\\" class=\\\"b-b p-0\\\"></tr>\\n    </table>\\n    <mat-paginator [length]=\\\"itemCount\\\" [pageSize]=\\\"10\\\" [pageSizeOptions]=\\\"[5, 10, 25, 100]\\\" showFirstLastButtons>\\n    </mat-paginator>\\n  </div>\\n</div>\\n<div mat-dailog-actions class=\\\"enroller-footer\\\">\\n  <div flex fxLayout=\\\"row\\\" class=\\\"col-lg-12 col-md-12 p-b-15 p-t-15 ds_mob\\\">\\n    <div fxFlex=\\\"70\\\" flex class=\\\"d-flex\\\">\\n      <p> {{\\\"dont_have_a_referral\\\" | translate:{Default:\\\"Don't have a referral?\\\"} }}\\n      </p>\\n      &nbsp;\\n      <a class=\\\"f-s-14 p-2\\\" [mat-dialog-close]=\\\"true\\\" > {{\\\"click_here\\\" | translate:{Default:\\\"Click Here\\\"} }}</a>\\n    </div>\\n    <div fxFlex=\\\"30\\\">\\n      <button mat-raised-button color=\\\"primary\\\" class=\\\"f-s-18 pull-right\\\" type=\\\"button\\\" (click)=\\\"setSponsor();\\\">{{\\n        'set_as_my_enroller' | translate:{Default:\\\"Set as my consultant\\\"} }}</button>\\n    </div>\\n  </div>\\n</div>\";","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport { CartService } from 'src/app/components/shared/services/cart.service';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { ProductDialogComponent } from '../../products/product-dialog/product-dialog.component';\nimport {  SwiperDirective } from 'ngx-swiper-wrapper';\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\n\n@Component({\n  selector: 'app-product-carousel-three',\n  templateUrl: './product-carousel-three.component.html',\n  styleUrls: ['./product-carousel-three.component.scss']\n})\nexport class ProductCarouselThreeComponent implements OnInit {\n  contentLoaded = false;\n  @Output() onOpenProductDialog: EventEmitter<any> = new EventEmitter();\n\n @Input('product') product: any[] = [];\n public config: SwiperConfigInterface = {};\n\n  constructor(public configService:ConfigService,private cartService: CartService, private productsService: ProductService, private dialog: MatDialog, private router: Router, public companyService:CompanyService) { }\n  // @ViewChild(SwiperDirective) directiveRef: SwiperDirective;\n\n  ngOnInit() {\n    setTimeout(() => {\n      this.contentLoaded = true;\n    }, 3000);\n  }\n  ngAfterViewInit(){\n    this.config = {\n      observer: true,\n      slidesPerView: 4,\n      spaceBetween: 16,\n      keyboard: true,\n      navigation: true,\n      pagination: false,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      breakpoints: {\n        480: {\n          slidesPerView: 1\n        },\n        740: {\n          slidesPerView: 2,\n        },\n        960: {\n          slidesPerView: 3,\n        },\n        1280: {\n          slidesPerView: 4,\n        },\n\n\n      }\n    }\n  }\n\n  // Add to cart\n  public addToCart(product: any,  quantity: number = 1) {\n    this.cartService.addToCart(product,quantity);\n  }\n\npublic openProductDialog(product){\n  let dialogRef = this.dialog.open(ProductDialogComponent, {\n      data: product,\n      panelClass: 'product-dialog',\n  });\n  dialogRef.afterClosed().subscribe(product => {\n    if(product){\n      this.router.navigate(['/products', product.Id, product.Languages[0].ProductName]);\n    }\n  });\n}\nchangeProductDetail(ItemID){\n  this.router.navigate(['/product', ItemID])\n  .then(() => {\n    window.location.reload();\n  });\n}\n\n}\n","export default \"\\n<div id=\\\"mainContent\\\">\\n  <mat-card>\\n    <mat-card-content>\\n       <div class=\\\"main\\\" fxLayout=\\\"row\\\" fxLayout.lt-sm=\\\"column\\\" >\\n          <div fxFlex=\\\"49\\\" fxLayout=\\\"column\\\" class=\\\"p-r-15\\\">\\n            <div class=\\\"borderBottom p-b-10\\\">\\n              <span class=\\\"color-f-s-23\\\" translate=\\\"select_a_shipping\\\"></span>\\n            </div>\\n            <form *ngIf=\\\"!isStateRestrict && !utilityService.isEmptyObject(userService.shippingAddress);\\\">\\n              <div class=\\\"p-8\\\" flex fxLayout=\\\"row\\\">\\n                <address class=\\\"color-f-s-14 m-b-0 viewAddress\\\">\\n                  <span [textContent]=\\\"userService.shippingAddress.FirstName + ' '+ userService.shippingAddress.LastName\\\"></span>\\n                  <br>\\n                  <span [textContent]=\\\"userService.shippingAddress.Street1\\\"></span>, <span\\n                    [textContent]=\\\"userService.shippingAddress.Street2\\\"></span>\\n                  <br>\\n                  <span [textContent]=\\\"userService.shippingAddress.City\\\"></span>, <span\\n                    [textContent]=\\\"userService.shippingAddress.Region\\\"></span>\\n                  <span [textContent]=\\\"userService.shippingAddress.PostalCode\\\"></span>, <span\\n                    [textContent]=\\\"userService.shippingAddress.CountryCode \\\"></span>\\n                </address>\\n                <br>\\n              </div>\\n              <div class=\\\"p-l-5\\\">\\n                <mat-icon class=\\\"p-r-10\\\">mail</mat-icon><span class=\\\"mail_position\\\"\\n                  [textContent]=\\\"userService.customerData.EmailAddress\\\"></span>\\n              </div>\\n              <div class=\\\"footerBottom\\\">\\n                <button mat-button (click)=\\\"nextStep();\\\">{{'ship_to_default' | translate}}</button>\\n              </div>\\n            </form>\\n            <span class=\\\"no_shipping_address p-t-10\\\"\\n              *ngIf=\\\"utilityService.isEmptyObject(userService.shippingAddress);\\\">{{'add_shipping_address' | translate}}</span>\\n          </div>           \\n           <div fxFlex=\\\"1\\\" class=\\\"borderLeft\\\">\\n             \\n           </div>\\n           <div fxFlex=\\\"49\\\" fxLayout=\\\"column\\\" class=\\\"m-top-50\\\">\\n              <div class=\\\"borderBottom\\\">\\n                <span class=\\\"color-f-s-23\\\" translate=\\\"add_new_address\\\" (click)=\\\"nextStep();\\\" translate=\\\"add_new_address\\\"></span>\\n              </div>\\n              <div class=\\\"p-8\\\" fxFlex=\\\"100\\\">\\n                <form>\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayout.lt-md=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                            <div fxFlex=\\\"49\\\" fxFlex.lt-md=\\\"100\\\">\\n                              <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex>\\n                                <mat-label translate=\\\"first_name\\\"></mat-label>\\n                                <input name=\\\"firstName\\\" [(ngModel)]=\\\"userService.newshippingAddress.FirstName\\\"\\n                                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput validate noempty=\\\"true\\\">\\n                                \\n                              </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"49\\\" fxFlex.lt-md=\\\"100\\\">\\n                              <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex>\\n                                <mat-label translate=\\\"last_name\\\"></mat-label>\\n                                <input name=\\\"lastName\\\" [(ngModel)]=\\\"userService.newshippingAddress.LastName\\\"\\n                                [ngModelOptions]=\\\"{standalone: true}\\\"  matInput validate noempty=\\\"true\\\">\\n                                \\n                            </mat-form-field>\\n                            </div>\\n                        </div>\\n                        <div fxFlex=\\\"100\\\">\\n                          <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex>\\n                            <mat-label translate=\\\"Country\\\">Country</mat-label>\\n                            <mat-select  [ngModelOptions]=\\\"{standalone: true}\\\" [(ngModel)]=\\\"userService.newshippingAddress.Country\\\" \\n                            (selectionChange)=\\\"cart1Service.updateCountry({CountryCode: userService.newshippingAddress.Country}, '', false, true); getCountryState(userService.newshippingAddress.Country)\\\" validate noempty=\\\"true\\\">\\n                              <mat-option  \\n                              *ngFor=\\\"let country of allowedCountries\\\" [value]=\\\"country.CountryCode.toUpperCase()\\\">\\n                              <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+country.CountryCode+'.svg'\\\"\\n                                width=\\\"18\\\"> {{country.CountryName}}\\n                            </mat-option>\\n                            </mat-select>\\n                            \\n                          </mat-form-field>\\n                        </div>\\n                        <div fxFlex=\\\"100\\\">\\n                          <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex>\\n                            <mat-label translate=\\\"street_address\\\" ></mat-label>\\n                            <input name=\\\"streetAddress\\\" [(ngModel)]=\\\"userService.newshippingAddress.Street1\\\"\\n                            [ngModelOptions]=\\\"{standalone: true}\\\"  matInput validate noempty=\\\"true\\\">\\n                            \\n                        </mat-form-field>\\n                        </div>\\n                        <div fxFlex=\\\"100\\\">\\n                          <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex>\\n                            <mat-label translate=\\\"street_address2\\\"></mat-label>\\n                            <input name=\\\"streetAddress2\\\" [(ngModel)]=\\\"userService.newshippingAddress.Street2\\\"\\n                            [ngModelOptions]=\\\"{standalone: true}\\\"  matInput validate noempty=\\\"true\\\">\\n                            \\n                        </mat-form-field>\\n                        </div>\\n                        <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\" fxLayout.lt-md=\\\"column\\\" fxLayoutAlign=\\\"space-between none\\\" class=\\\"cityStateBox\\\">\\n                          <div fxFlex=\\\"30\\\" fxFlex.lt-md=\\\"100\\\">\\n                            <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex fxFlex.md=\\\"100\\\">\\n                              <mat-label translate=\\\"city\\\"></mat-label>\\n                              <input name=\\\"city\\\" [(ngModel)]=\\\"userService.newshippingAddress.City\\\"\\n                              [ngModelOptions]=\\\"{standalone: true}\\\" matInput validate noempty=\\\"true\\\">\\n                              \\n                          </mat-form-field>\\n                          </div>\\n                          <div fxFlex=\\\"30\\\" fxFlex.lt-md=\\\"100\\\">\\n                            <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\"  fxFlex fxFlex.md=\\\"100\\\">\\n                              <mat-label translate=\\\"state\\\"></mat-label>\\n                              <mat-select [(ngModel)]=\\\"userService.newshippingAddress.Region\\\"\\n                              [ngModelOptions]=\\\"{standalone: true}\\\" validate noempty=\\\"true\\\">\\n                                <mat-option *ngFor=\\\"let state of states\\\" [value]=\\\"state.StateCode\\\">\\n                                  {{state.StateName}}\\n                                </mat-option>\\n                              </mat-select>\\n                              \\n                            </mat-form-field>\\n                          </div>\\n                          <div fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\">\\n                            <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex fxFlex.md=\\\"100\\\">\\n                              <mat-label translate=\\\"zip\\\"></mat-label>\\n                              <input name=\\\"zip\\\" [(ngModel)]=\\\"userService.newshippingAddress.PostalCode\\\"\\n                              [ngModelOptions]=\\\"{standalone: true}\\\" regxvalidzip=\\\"true\\\" \\n                              [attr.regexcountry]=\\\"userService.newshippingAddress.Country\\\" matInput validate noempty=\\\"true\\\">\\n                              \\n                          </mat-form-field>\\n                          </div>\\n                        </div>\\n                        <div fxFlex=\\\"100\\\">\\n                          <mat-form-field class=\\\"ds-validate font-IBM\\\" appearance=\\\"outline\\\" fxFlex>\\n                            <mat-label translate=\\\"phone_number_\\\"></mat-label>\\n                            <input name=\\\"phoneNumber\\\" [(ngModel)]=\\\"userService.newshippingAddress.Phone\\\"\\n                            [ngModelOptions]=\\\"{standalone: true}\\\"  matInput validate noempty=\\\"true\\\">\\n                            \\n                          </mat-form-field>\\n                        </div>\\n                    </div>\\n                </form>\\n              </div>\\n              <div class=\\\"footerBottom\\\">\\n                <button validate trigger-check=\\\"true\\\" (success)=\\\"nextStep(true);\\\" mat-button>{{'ship_to_this' | translate}}</button>\\n              </div>\\n           </div>\\n       </div>\\n    </mat-card-content>\\n </mat-card>\\n</div>\\n\";","export default \".midHeader {\\n  position: fixed;\\n  width: 100%;\\n  z-index: 100;\\n  top: 37px;\\n}\\n.midHeader .mt {\\n  margin-top: 30px;\\n}\\n.midHeader1 {\\n  position: fixed;\\n  width: 100%;\\n  z-index: 100;\\n  top: 0;\\n}\\n.midHeader1 .mt {\\n  margin-top: 0px;\\n}\\n.margin-img {\\n  margin: 0px !important;\\n}\\n.width-img {\\n  width: 60px !important;\\n}\\n.line_space {\\n  line-height: 35px;\\n  padding: 0;\\n  padding-bottom: var(--spacing-medium);\\n  margin-top: var(--spacing-unit);\\n}\\n.btn {\\n  background: transparent;\\n  color: white;\\n  border: none;\\n  cursor: pointer;\\n}\\n.p-0 {\\n  padding: 0px !important;\\n}\\n.logo {\\n  width: 60px !important;\\n  letter-spacing: normal;\\n  font-size: 24px;\\n  font-weight: 700;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n@media only screen and (max-width: 600px) {\\n  .p-l {\\n    padding-left: 115px;\\n  }\\n\\n  .p-r-10 {\\n    padding-right: 10px !important;\\n  }\\n}\\n.avtar img {\\n  height: 32px !important;\\n  width: 32px !important;\\n}\\n.swalImg {\\n  margin-left: 70%;\\n  margin-top: -10%;\\n}\\n.swal {\\n  margin-top: 3%;\\n  width: 225px;\\n  height: 220px;\\n}\\n.text-uppercase {\\n  text-transform: uppercase;\\n}\\n.nocursor {\\n  cursor: none;\\n}\\n.logButton {\\n  color: #FFFFFF;\\n  width: 80%;\\n  font-size: 14px;\\n  padding: 12px;\\n  text-align: center;\\n  border-radius: 40px;\\n}\\n.noColor {\\n  background-color: transparent;\\n  padding: 13px 0;\\n  border-bottom: 1px solid rgba(255, 255, 255, 0.3);\\n}\\n.p-r-0 {\\n  padding-right: 0px;\\n}\\n.backOfficeLogo {\\n  padding: 0px;\\n  color: white;\\n}\\n.p-0-10 {\\n  padding: 0px 10px;\\n}\\n.h-90 {\\n  height: 90px !important;\\n}\\n.f-s-40 {\\n  font-size: 40px !important;\\n}\\n.home-person-logo {\\n  padding: 0;\\n}\\nmat-icon {\\n  height: 60px;\\n  width: 60px;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n}\\nmat-icon:hover {\\n  background-color: rgba(0, 0, 0, 0.068);\\n  border-radius: 50%;\\n}\\n@media (max-width: 480px) {\\n  .midHeader {\\n    top: 70px;\\n    height: 80px !important;\\n  }\\n}\\n.menu-items {\\n  margin: 0 20px;\\n}\\n.menu-items span, .menu-items a {\\n  color: #363636;\\n  font: 405 18px Poppins;\\n  margin-bottom: 8px;\\n  cursor: pointer;\\n}\\n@media (min-width: 481px) and (max-width: 600px) {\\n  .home-header .cart-count-wrapper {\\n    left: 37px !important;\\n  }\\n}\\n.f-w-100 {\\n  font-weight: 900;\\n}\\n.heading span, #header-menu span {\\n  cursor: pointer;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n.heading span:hover, #header-menu span:hover {\\n  opacity: 0.8;\\n}\\n.wh-40 {\\n  height: 40px !important;\\n  width: 40px !important;\\n}\\n.mat-hover:hover {\\n  background-color: rgba(0, 0, 0, 0.068);\\n}\\n.mat-hovers:hover {\\n  background-color: rgba(240, 240, 240, 0.068);\\n}\\n.bgm-grey {\\n  background-color: rgba(0, 0, 0, 0.068);\\n  border-radius: 23px;\\n}\\n.p-width {\\n  margin-top: 37px;\\n}\\n.p-width2 {\\n  margin-top: 7px;\\n}\\n.h-52 {\\n  height: 52px;\\n}\\n.text-gray {\\n  color: var(--theme-selected-state) !important;\\n}\\n.home-header .mat ::ng-deep mat-icon-button .mat-button-ripple.mat-ripple, .home-header .mat ::ng-deep .mat-button-focus-overlay {\\n  top: 10px !important;\\n  left: 8px !important;\\n  right: -9px !important;\\n  bottom: -7px !important;\\n}\\n.home-header .mat-menu-content {\\n  width: 100% !important;\\n}\\n.display-inline-relative {\\n  display: inline;\\n  position: relative;\\n  top: 8px;\\n  left: 2%;\\n}\\n.product-button {\\n  margin: 10px;\\n  padding: 2px 12px !important;\\n  background-color: black !important;\\n  color: white !important;\\n  width: 20%;\\n}\\n.shop-btn {\\n  background: white;\\n  display: inline-block;\\n  cursor: pointer;\\n}\\n.w-60 {\\n  width: 60%;\\n}\\n.receipt {\\n  left: 10%;\\n  margin-top: -8%;\\n}\\n.receiptOrder {\\n  margin-top: 7%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2hlYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7QUFDSjtBQUFJO0VBQ0ksZ0JBQUE7QUFFUjtBQUNBO0VBQ0ksZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsTUFBQTtBQUVKO0FBREk7RUFDSSxlQUFBO0FBR1I7QUFBQTtFQUNJLHNCQUFBO0FBR0o7QUFEQTtFQUNJLHNCQUFBO0FBSUo7QUFEQTtFQUVJLGlCQUFBO0VBQ0EsVUFBQTtFQUNBLHFDQUFBO0VBQ0EsK0JBQUE7QUFHSjtBQUNBO0VBQ0ksdUJBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUFFSjtBQUNBO0VBQ0ksdUJBQUE7QUFFSjtBQUFBO0VBQ0ksc0JBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHdDQUFBO0FBR0o7QUFEQTtFQUNJO0lBQ0ksbUJBQUE7RUFJTjs7RUFGRTtJQUNJLDhCQUFBO0VBS047QUFDRjtBQUhBO0VBQ0ksdUJBQUE7RUFDQSxzQkFBQTtBQUtKO0FBSEE7RUFDRyxnQkFBQTtFQUNBLGdCQUFBO0FBTUg7QUFIQTtFQUNJLGNBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtBQU1KO0FBSkE7RUFDSSx5QkFBQTtBQU9KO0FBTEE7RUFDSSxZQUFBO0FBUUo7QUFOQTtFQUVJLGNBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FBUUo7QUFOQTtFQUNJLDZCQUFBO0VBQ0EsZUFBQTtFQUNBLGlEQUFBO0FBU0o7QUFOQTtFQUNJLGtCQUFBO0FBU0o7QUFQQTtFQUNJLFlBQUE7RUFDQSxZQUFBO0FBVUo7QUFSQTtFQUNJLGlCQUFBO0FBV0o7QUFUQTtFQUNJLHVCQUFBO0FBWUo7QUFWQTtFQUNJLDBCQUFBO0FBYUo7QUFWQTtFQUNJLFVBQUE7QUFhSjtBQVhBO0VBQ0ksWUFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBQWNKO0FBWEE7RUFDQSxzQ0FBQTtFQUNBLGtCQUFBO0FBY0E7QUFWQTtFQUNDO0lBQ0ksU0FBQTtJQUNBLHVCQUFBO0VBYUg7QUFDRjtBQVJBO0VBQ0ksY0FBQTtBQVVKO0FBVEk7RUFDSSxjQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUFXUjtBQVBBO0VBQ0k7SUFDSSxxQkFBQTtFQVVOO0FBQ0Y7QUFQQTtFQUNJLGdCQUFBO0FBU0o7QUFOSTtFQUNJLGVBQUE7RUFDQSx3Q0FBQTtBQVNSO0FBUEk7RUFDSSxZQUFBO0FBU1I7QUFOQTtFQUNJLHVCQUFBO0VBQ0Esc0JBQUE7QUFTSjtBQVBBO0VBQ0ksc0NBQUE7QUFVSjtBQVJBO0VBQ0ksNENBQUE7QUFXSjtBQVRBO0VBQ0ksc0NBQUE7RUFDQSxtQkFBQTtBQVlKO0FBVkE7RUFDSSxnQkFBQTtBQWFKO0FBWEE7RUFDSSxlQUFBO0FBY0o7QUFaQTtFQUNJLFlBQUE7QUFlSjtBQWJBO0VBQ0ksNkNBQUE7QUFnQko7QUFYWTtFQUNJLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0FBY2hCO0FBVkk7RUFDSSxzQkFBQTtBQVlSO0FBVEE7RUFDSSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0MsUUFBQTtBQVlMO0FBSkE7RUFDSSxZQUFBO0VBQ0EsNEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHVCQUFBO0VBQ0EsVUFBQTtBQU9KO0FBSkE7RUFDSSxpQkFBQTtFQUVBLHFCQUFBO0VBRUEsZUFBQTtBQUtKO0FBSEE7RUFDSSxVQUFBO0FBTUo7QUFIQTtFQUNJLFNBQUE7RUFDQSxlQUFBO0FBTUo7QUFIQTtFQUNHLGNBQUE7QUFNSCIsImZpbGUiOiJoZWFkZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWlkSGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHRvcDogMzdweDtcbiAgICAubXR7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxufVxuLm1pZEhlYWRlcjEge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdG9wOiAwO1xuICAgIC5tdHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbn1cbi5tYXJnaW4taW1ne1xuICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG4ud2lkdGgtaW1ne1xuICAgIHdpZHRoOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lX3NwYWNlIHtcblxuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbWVkaXVtKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXVuaXQpO1xufVxuLmhlYWRlciBtYXQtaWNvbiwuZi1zIHtcbn1cbi5idG57XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wLTAge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuLmxvZ297XG4gICAgd2lkdGg6IDYwcHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnAtbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTE1cHg7XG4gICAgfVxuICAgIC5wLXItMTAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmF2dGFyIGltZ3tcbiAgICBoZWlnaHQ6IDMycHghaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMnB4IWltcG9ydGFudDtcbn1cbi5zd2FsSW1nIHtcbiAgIG1hcmdpbi1sZWZ0OiA3MCU7XG4gICBtYXJnaW4tdG9wOiAtMTAlO1xufSBcblxuLnN3YWwge1xuICAgIG1hcmdpbi10b3A6IDMlO1xuICAgIHdpZHRoOiAyMjVweDtcbiAgICBoZWlnaHQ6IDIyMHB4O1xufVxuLnRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm5vY3Vyc29ye1xuICAgIGN1cnNvcjpub25lO1xufVxuLmxvZ0J1dHRvbiB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB3aWR0aDogODAlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICB9XG4ubm9Db2xvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMTNweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbi5wLXItMCB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuLmJhY2tPZmZpY2VMb2dvIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuLnAtMC0xMCB7XG4gICAgcGFkZGluZzogMHB4IDEwcHg7XG59XG4uaC05MCB7XG4gICAgaGVpZ2h0OiA5MHB4ICFpbXBvcnRhbnQ7XG59XG4uZi1zLTQwIHtcbiAgICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLmhvbWUtcGVyc29uLWxvZ28ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5tYXQtaWNvbiB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxubWF0LWljb246aG92ZXIge1xuYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2OCk7XG5ib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gLm1pZEhlYWRlciB7XG4gICAgIHRvcDogNzBweDtcbiAgICAgaGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gfSAgIFxuIFxufVxuXG5cbi5tZW51LWl0ZW1zIHtcbiAgICBtYXJnaW46IDAgMjBweDsgIFxuICAgIHNwYW4sIGF7XG4gICAgICAgIGNvbG9yOiAjMzYzNjM2O1xuICAgICAgICBmb250OiA0MDUgMThweCBQb3BwaW5zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59IFxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5ob21lLWhlYWRlciAuY2FydC1jb3VudC13cmFwcGVyIHtcbiAgICAgICAgbGVmdDogMzdweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmYtdy0xMDB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5oZWFkaW5nLCNoZWFkZXItbWVudXtcbiAgICBzcGFue1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gICAgfVxuICAgIHNwYW46aG92ZXJ7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG59XG4ud2gtNDB7XG4gICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbn1cbi5tYXQtaG92ZXI6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2OCk7XG59XG4ubWF0LWhvdmVyczpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuMDY4KTtcbn1cbi5iZ20tZ3JleXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDY4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xufVxuLnAtd2lkdGh7XG4gICAgbWFyZ2luLXRvcDozN3B4XG59XG4ucC13aWR0aDJ7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xufVxuLmgtNTJ7XG4gICAgaGVpZ2h0OiA1MnB4O1xufVxuLnRleHQtZ3JheSB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLXNlbGVjdGVkLXN0YXRlKSAhaW1wb3J0YW50OyBcbn1cbi5ob21lLWhlYWRlciB7XG4gICAgLm1hdHtcbiAgICAgICAgOjpuZy1kZWVwIHtcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZSwgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC05cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3R0b206IC03cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubWF0LW1lbnUtY29udGVudHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59IFxuLmRpc3BsYXktaW5saW5lLXJlbGF0aXZle1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA4cHg7XG4gICAgIGxlZnQ6IDIlO1xufSAgXG5cbi5sb2dvdXQtbWVudSB7XG4gICAgLy8gIHdpZHRoOiA1JTtcbiAgICAvLyAgaGVpZ2h0OiAycHg7XG59XG5cbi5wcm9kdWN0LWJ1dHRvbntcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMnB4IDEycHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMCU7XG59IFxuXG4uc2hvcC1idG57XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gcGFkZGluZzogMTVweCAzMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi53LTYwIHtcbiAgICB3aWR0aDogNjAlO1xufVxuXG4ucmVjZWlwdCB7XG4gICAgbGVmdDoxMCU7XG4gICAgbWFyZ2luLXRvcDogLTglO1xufVxuXG4ucmVjZWlwdE9yZGVyIHtcbiAgIG1hcmdpbi10b3A6IDclXG59XG5cbiJdfQ== */\";","export default \"<div class=\\\"product-item-1 swiper-container\\\" [swiper]=\\\"config\\\" >\\n    <div class=\\\"swiper-wrapper h-100\\\">\\n        <div *ngFor=\\\"let product of product\\\" class=\\\"swiper-slide\\\">\\n            <mat-card fxLayout=\\\"column\\\">\\n              <div fxLayout=\\\"column\\\">\\n                <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n                *ngIf=\\\"!contentLoaded\\\"\\n                  count=\\\"1\\\"\\n                  [theme]=\\\"{ width: '180px', 'border-radius': '0', height: '180px' }\\\"\\n                ></ngx-skeleton-loader>\\n                <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n                      *ngIf=\\\"!contentLoaded\\\"\\n                        count=\\\"2\\\"\\n                        [theme]=\\\"{ 'border-radius': '0', height: '20px', width: '180px'  }\\\"\\n                      ></ngx-skeleton-loader>\\n              </div>\\n                \\n                <div class=\\\"product-img\\\" *ngIf=\\\"contentLoaded\\\">\\n                    <a class=\\\"product-link\\\" [routerLink]=\\\"['/product', product.ItemID]\\\">\\n                      <img [default]=\\\"'assets/images/product/no-img.png'\\\" [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory/'+product.ImageUrl\\\" alt=\\\"\\\">\\n                   </a>\\n                </div>\\n                 <div class=\\\"product-info-wrapper\\\">\\n                    \\n                    <span class=\\\"category\\\" *ngIf=\\\"contentLoaded\\\">{{product.Category.Name}}</span>\\n                    <div class=\\\"title-wrap\\\" *ngIf=\\\"contentLoaded\\\">\\n                       <h4>{{product?.ProductName}}</h4>\\n                    </div>\\n \\n                    <div *ngIf=\\\"contentLoaded\\\" class=\\\"price-wrap\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n                        <div class=\\\"stars\\\">\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                         </div>\\n                     <p>${{product.Discounts[0].Prices[0].Price | currency : companyService.selectedCurrency.CurrencyCode}}</p>\\n                    </div>\\n                    <div *ngIf=\\\"contentLoaded\\\" class=\\\"btn-wrap\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n                        <a (click)=\\\"addToCart(product)\\\" mat-raised-button color=\\\"primary\\\">ADD TO CART <mat-icon class=\\\"mat-icon-lg mat-icon material-icons\\\">shopping_cart</mat-icon></a>\\n \\n                    </div>\\n \\n                    <div class=\\\"icons\\\" fxLayout=\\\"column\\\">\\n                       <a (click)=\\\"openProductDialog(product)\\\"><mat-icon>remove_red_eye</mat-icon></a>\\n                       <a (click)=\\\"addToCompare(product)\\\"><mat-icon>cached</mat-icon></a>\\n                     </div>\\n                 </div>\\n              </mat-card>\\n        </div>\\n \\n    </div>\\n    <button mat-mini-fab class=\\\"swiper-button-prev swipe-arrow\\\"><mat-icon>keyboard_arrow_left</mat-icon></button>\\n    <button mat-mini-fab class=\\\"swiper-button-next swipe-arrow\\\"><mat-icon>keyboard_arrow_right</mat-icon></button>\\n  </div>\\n \\n \";","export default \"<div mat-dialog-title>\\n    <ng-container *ngIf=\\\"true\\\">Verifying {{data}}</ng-container>\\n</div>\\n<div mat-dialog-content id='hover'>\\n    <ng-container *ngIf=\\\"true\\\">\\n        <!-- A verification Text has been sent to this number. To continue your enrollment\\n        process please confirm you've received this Text by replying to the sms. If you have not received the Text with 2\\n        minutes, check the accuracy of the Number you provided. -->\\n        A verification Text has been sent to this number (valid for 2 minutes), wait for a few seconds and then proceed with the enrollment process\\n    </ng-container>\\n    <section *ngIf=\\\"true\\\" class=\\\"txt-center\\\">\\n        <img style=\\\"width: 200px;\\\" src=\\\"../../../../assets/images/ezgif.com-gif-maker.gif\\\">\\n    </section>\\n    <div [mat-dialog-close]=\\\"true\\\">Click to continue</div>\\n</div>\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjb2xvci1vcHRpb25zLmNvbXBvbmVudC5zYXNzIn0= */\";","import { ApplicationInitStatus, Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { CartService } from './cart.service';\nimport { NotificationService } from './notification.service';\nimport { ProductService } from './product.service';\nimport { RestApiService } from './restapi.service';\nimport { UserService } from './user.service';\nimport { ConfigService } from './config.service';\nimport { UtilityService } from './utility.service';\nimport { CompanyService } from './company.service';\nimport { ShoppingCartService } from './shopping-cart.service';\n@Injectable({\n  providedIn: 'root'\n})\nexport class OrderService {\n  public calculateOrderResponse: any = {};\n  public  calculateAutoOrderResponse: any = {};\n  public lastRequest = {};\n  public lastAutoOrderRequest = {};\n  shoppingCartItems: CartItem[] = [];\n  public packTotal = 0;\n  public packBusinessVolume = 0;\n  public orderTotal = 0;\n  public orderRewardTotal = 0;\n  public orderBusinessVolume = 0;\n  public autoorderBusinessVolume = 0;\n  public PreventTaxJarCalculation: boolean = true;\n  public UsePoints: boolean = false;\n  public calculateOrderCall: boolean;\n  public userService: UserServiceModal;\n  constructor(\n    public user: UserService,\n    public notificationService: NotificationService,\n    public route: ActivatedRoute,\n    public cartService: CartService,\n    public apiService: RestApiService,\n    public translate: TranslateService,\n    public itemsService: ProductService,\n    public configService: ConfigService,\n    public appInit: ApplicationInitStatus,\n    public utilityService: UtilityService,\n    public companyService: CompanyService,\n    public shoppingCartService: ShoppingCartService\n  ) {\n    this.userService = this.user.userServiceModal;\n    appInit.donePromise.then(() => this.onInit());\n  }\n\n  onInit(): void {\n    this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\n    if(this.itemsService.selectedOrderItems && this.itemsService.selectedOrderItems.length>0){\n      this.calculateOrder();\n    }\n    if(this.itemsService.selectedAutoOrderItems && this.itemsService.selectedAutoOrderItems.length>0){\n      this.calculateAutoOrder();\n    }\n  }\n  /*** calculate Order ***/\n  public calculateOrder(showNotification?: boolean): any {\n    const promise = new Promise((resolve, reject) => {\n      const productdetails = [];\n      const kititems = [];\n      this.itemsService.selectedOrderItems.forEach((item, index) => {\n        productdetails.push({\n          ItemId: item.ItemID,\n          Quantity: item.Quantity || 1,\n          IsReward: false // item.UsePoints\n        });\n      });\n\n      this.itemsService.selectedPacks.forEach((item, index) => {\n        kititems.push({\n          ItemId: item.ItemID,\n          Quantity: item.Quantity || 1,\n          IsReward: false\n        });\n      });\n\n      if (this.userService.couponInfo.promoCode) {\n        const isInCart = this.userService.couponInfo.Allcoupons.some((code) =>  {\n          if (code == this.userService.couponInfo.promoCode) {\n            return true;\n          }\n          return false;\n        });\n        if (!isInCart) {\n          this.userService.couponInfo.Allcoupons.push(this.userService.couponInfo.promoCode);\n        }\n      }\n      const token = null; // cookieService.getAuthToken();\n      const guestLogin = localStorage.getItem('guestLogin') == 'true' ? true : false;\n      if (token && !guestLogin) {\n        const selectedorders = JSON.parse(localStorage.getItem('cart.order'));\n        if (!selectedorders || !selectedorders.length) {\n          this.userService.couponInfo.RewardsForUse = [];\n          this.userService.couponInfo.promoCode = '';\n          this.userService.couponInfo.promoCodeValid = true;\n          this.userService.couponInfo.IsAppliedcode = false;\n          this.userService.couponInfo.Allcoupons = [];\n        }\n      }\n\n      const calculateOrderRequest = {\n        customerId: 0,\n        calculateOrder: {\n          // WarehouseId: 0,\n          ShipMethodId: this.userService?.selectedShippingMethod || 0,\n          StoreId: 1,//this.shoppingCartService.getShoppingCart(1)[0].StoreID,\n          CurrencyCode: this.companyService.selectedCurrency?.CurrencyCode,\n          ShippingAddress: {\n            AddressId: 0,\n            Street1: this.userService.shippingAddress?.Street1 || '',\n            Street2: this.userService.shippingAddress?.Street2 || '',\n            Street3: '',\n            PostalCode: this.userService.shippingAddress?.PostalCode || this.userService.shippingAddress?.PostalCode || '84042',\n            City: this.userService.shippingAddress?.City || '',\n            Region: this.userService.shippingAddress?.Region\n            ? this.userService.shippingAddress?.Region : (this.userService?.defaultState || this.userService?.regionMainState) || 'UT',\n            CountryCode: this.configService.commonData?.selectedCountry || 'us'\n          },\n          PriceGroup: this.userService?.customerTypeID || 2,\n          OrderType: 1,\n          KitItems: kititems,\n          Items: productdetails,\n          PartyId: 0,\n          CouponCodes: this.configService.localSettings.Global?.OrderAllowCoupons ? (this.userService.couponInfo?.Allcoupons || []) : [],\n          CountryCode: this.configService.commonData?.selectedCountry || 'us'\n        }\n      };\n\n      if (_.isEqual(this.lastRequest, calculateOrderRequest)) {\n        resolve(this.calculateOrderResponse);\n      } else {\n        this.lastRequest = cloneDeep(calculateOrderRequest);\n        this.apiService.calculateCustomerOrderTotal(calculateOrderRequest).subscribe((result) => {\n          this.calculateOrderCall = false;\n\n          try {\n            if (parseInt(result.Status, 10) === 0) {\n              this.calculateOrderResponse = result.Data;\n              if (this.calculateOrderResponse.CouponResults) {\n                this.calculateOrderResponse.CouponResults.forEach((item, index) => {\n                  const isInCart = this.userService.couponInfo.Allcoupons.some((code) => {\n                    if (code.toLowerCase() == item.Code.toLowerCase()) {\n                      return true;\n                    }\n                    return false;\n                  });\n\n                  if (item.IsValid) {\n                    if (!isInCart) {\n                      this.userService.couponInfo.Allcoupons.push(item.Code);\n                    }\n                    if (this.userService.couponInfo.promoCode == item.Code) {\n                      this.notificationService.success('success', 'coupon_added_success');\n                    }\n\n                    this.userService.couponInfo.promoCodeValid = true;\n\n                  } else {\n                    this.userService.couponInfo.promoCodeValid = false;\n                    this.userService.couponInfo.IsAppliedcode = false;\n                    this.userService.couponInfo.promoCode = '';\n                    if (isInCart && this.itemsService.selectedOrderItems.length) {\n                      this.userService.couponInfo.Allcoupons = this.userService.couponInfo.Allcoupons.filter((code) => {\n                        return code.toLowerCase() != item.Code.toLowerCase();\n                      });\n                      this.userService.couponInfo.RewardsForUse = this.userService.couponInfo.RewardsForUse.filter((e) => {\n                        return e.Code.toLowerCase() != item.Code.toLowerCase();\n                      });\n\n                    }\n                  }\n\n                });\n              }\n              this.userService.couponInfo.promoCode = '';\n              setTimeout(() => {\n                this.userService.shippingMethods = result.Data.ShippingMethods;\n\n                if (this.userService.shippingMethods && this.userService.shippingMethods.length) {\n                  const selectedShipmethod = this.userService.shippingMethods.filter((shipMethod) => {\n                    return (shipMethod.ShipMethodId === this.userService.selectedShippingMethod);\n\n                  });\n                  if (selectedShipmethod.length > 0) {\n                    this.userService.selectedShippingMethod = this.userService.selectedShippingMethod ||\n                      selectedShipmethod[0].ShipMethodId;\n\n                  } else {\n                    this.userService.selectedShippingMethod = this.userService.selectedShippingMethod ||\n                      this.userService.shippingMethods[0].ShipMethodId;\n                  }\n\n                }\n            }, 100);\n\n              // pack total\n              if (this.itemsService.selectedPacks.length) {\n                this.packTotal = 0;\n                this.packBusinessVolume = 0;\n                this.itemsService.selectedPacks.forEach(item => {\n\n                  this.packTotal = this.packTotal + (item.Quantity * item.Price);\n                  this.packBusinessVolume = this.packBusinessVolume + (item.Quantity * (item.BusinessVolume || item.PV));\n                });\n              }\n              // order total\n              if (this.itemsService.selectedOrderItems.length) {\n                this.orderTotal = 0;\n                this.orderRewardTotal = 0;\n                this.orderBusinessVolume = 0;\n                const selectedOrderItems = cloneDeep(this.itemsService.selectedOrderItems);\n                this.itemsService.selectedOrderItems = [];\n                selectedOrderItems.forEach((item) => {\n                  this.calculateOrderResponse.Items.forEach((item1) => {\n                    if (item1.CurrencyCode == 'RWD') {\n                      item1.UsePoints = true;\n                    }\n\n                    if (item.ItemID == item1.ItemId && !!item.UsePoints == !!item1.UsePoints) {\n                      item.Price = item1.Price || item1.PriceEach || item.Price;\n                      if (item1.CurrencyCode == 'RWD') {\n                        this.orderRewardTotal = this.orderRewardTotal + (item1.Quantity * (item1.Price || item1.PriceEach || 0));\n                      }\n                      else {\n                        this.orderTotal = this.orderTotal + (item1.Quantity * (item1.Price || item1.PriceEach || 0));\n                      }\n                      item1.BusinessVolumeTotal = this.orderBusinessVolume + (item1.Quantity * (item1.Cv || item1.Qv || 0));\n                      this.orderBusinessVolume = this.orderBusinessVolume + (item1.Quantity * (item1.Cv || item.Qv || 0));\n                      this.itemsService.selectedOrderItems.push(item);\n                    }\n                  });\n                });\n              }\n              if (showNotification) {\n                this.notificationService.success('success', this.translate.instant('item_added_your_order_shopping_cart'));\n              }\n              resolve(result);\n            } else {\n              const getMessage = result.Message.toLowerCase().includes('Api returned 404 Not Found'.toLowerCase());\n              let getItemName;\n              if (getMessage && getMessage !== null) {\n                const getNumber = result.Message;\n                const getItemCode = getNumber.match(new RegExp('Item with Id' + '\\\\s(\\\\w+)'))[1]; // getNumber.replace(/\\D/g, '');\n                let getItemDetails = this.itemsService.selectedOrderItems;\n                if (this.itemsService.selectedPacks.length > 0) {\n                  getItemDetails = getItemDetails.concat(this.itemsService.selectedPacks);\n                }\n                getItemDetails.forEach((item, index) => {\n                  if (item.ItemID == getItemCode) {\n                    getItemName = item.ProductName;\n                  }\n                });\n\n                this.translate.get('error_item_not_found').subscribe( (text: string) => {\n                  this.notificationService.error('error_', this.translate.instant('error_item_not_found') + ' ' + getItemName);\n                });\n\n              } else {\n                this.notificationService.error('error_', result.Message);\n              }\n\n              reject(result);\n            }\n          } catch (ex) {\n\n            this.notificationService.error('error_', 'error_occured_try_again');\n            reject(ex);\n          }\n        }, (error) =>  {\n          // this.calculateOrderCall = false;\n          reject(error);\n        });\n      }\n\n    });\n    return promise;\n  }\n\n  /***calculate Auto Order***/\n\n  public calculateAutoOrder(showNotification?: boolean): any {\n    const promise = new Promise((resolve, reject) => {\n      this.PreventTaxJarCalculation = true;\n      const productdetails = [];\n      this.itemsService.selectedAutoOrderItems.forEach((item, index) => {\n        productdetails.push({\n          ItemId: item.ItemID,\n          Quantity: item.Quantity,\n          IsKitItem: false\n        });\n      });\n\n      const calculateOrderRequest = {\n        customerId: 0,\n        calculateOrder: {\n          // WarehouseId: 0,\n          ShipMethodId: this.userService.selectedShippingMethod || 0,\n          StoreId: this.shoppingCartService.getShoppingCart(2)[0].StoreID,\n          CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n          ShippingAddress: {\n            AddressId: 0,\n            Street1: this.userService.shippingAddress.Street1,\n            Street2: this.userService.shippingAddress.Street2,\n            Street3: '',\n            PostalCode: this.userService.shippingAddress.PostalCode || this.userService.shippingAddress.PostalCode || '84042',\n            City: this.userService.shippingAddress.City,\n            Region: this.userService.shippingAddress.Region\n            ? this.userService.shippingAddress.Region : (this.userService.defaultState || this.userService.regionMainState) || 'UT',\n            // || this.itemsService.getState() || this.userService.shippingAddress.MainState);,\n            CountryCode: this.configService.commonData.selectedCountry || 'us'\n          },\n          PriceGroup: this.userService.customerTypeID || 2,\n          OrderType: 2,\n          KitItems: [],\n          Items: productdetails,\n          PartyId: 0,\n          CouponCodes: this.configService.localSettings.Global.OrderAllowCoupons ? (this.userService.couponInfo.Allcoupons || []) : [],\n          CountryCode: this.configService.commonData.selectedCountry || 'us'\n        }\n      };\n      if (_.isEqual(this.lastAutoOrderRequest, calculateOrderRequest)) {\n        resolve(this.calculateAutoOrderResponse);\n\n      } else {\n\n        this.lastAutoOrderRequest = cloneDeep(calculateOrderRequest);\n        this.apiService.calculateCustomerOrderTotal(calculateOrderRequest).subscribe((result) =>  {\n          try {\n\n            if (parseInt(result.Status, 10) === 0) {\n              this.calculateAutoOrderResponse = result.Data;\n              if (showNotification) {\n                this.notificationService.success('success', this.translate.instant('item_added_in_your_autoship'));\n              }\n              this.autoorderBusinessVolume = 0;\n              const selectedAutoOrderItems = cloneDeep(this.itemsService.selectedAutoOrderItems);\n              this.itemsService.selectedAutoOrderItems = [];\n              selectedAutoOrderItems.forEach((autoitem, index) => {\n                this.calculateAutoOrderResponse.Items.forEach((item1) => {\n                  if (autoitem.ItemID == item1.ItemId) {\n                    autoitem.Price = item1.Price || item1.PriceEach;\n                    autoitem.CV = item1.Cv;\n                    autoitem.QV = item1.Qv;\n                    autoitem.BusinessVolumeTotal = this.autoorderBusinessVolume + (item1.Quantity * (item1.Cv || item1.Qv || 0));\n                    this.autoorderBusinessVolume = this.autoorderBusinessVolume + (item1.Quantity * (item1.Cv || item1.Qv || 0));\n                  }\n                });\n              });\n              this.userService.shippingMethods = result.Data.ShipMethods;\n              if (this.userService.shippingMethods && this.userService.shippingMethods.length) {\n                const selectedShipmethod = this.userService.shippingMethods.filter((shipMethod) =>  {\n                  return (shipMethod.ShipMethodID === this.userService.selectedShippingMethod);\n\n                });\n                if (selectedShipmethod.length > 0) {\n                  this.userService.selectedShippingMethod = this.userService.selectedShippingMethod || selectedShipmethod[0].ShipMethodID;\n                }\n                else {\n                  this.userService.selectedShippingMethod = this.userService.selectedShippingMethod ||\n                  this.userService.shippingMethods[0].ShipMethodID;\n                }\n              }\n              this.itemsService.selectedAutoOrderItems = selectedAutoOrderItems;\n              resolve(result);\n            } else {\n              const getMessage = result.Message.toLowerCase().includes('Api returned 404 Not Found'.toLowerCase());\n              let getItemName;\n              if (getMessage && getMessage !== null) {\n                const getNumber = result.Message;\n                const getItemCode = getNumber.match(new RegExp('Item with Id' + '\\\\s(\\\\w+)'))[1]; // getNumber.replace(/\\D/g, '');\n                const getItemDetails = this.itemsService.selectedAutoOrderItems;\n                getItemDetails.forEach((item, index) => {\n                  if (item.ItemID == getItemCode) {\n                    getItemName = item.ProductName;\n                  }\n                });\n\n                this.translate.get('error_item_not_found').subscribe( (text: string) => {\n                  this.notificationService.error('error_', this.translate.instant('error_item_not_found') + ' ' + getItemName);\n                });\n              } else {\n                this.notificationService.error('error_', result.Message);\n              }\n              reject(result);\n            }\n          } catch (ex) {\n\n            this.notificationService.error('error_', 'error_occured_try_again');\n            reject(ex);\n          }\n        }, (error) =>  {\n          reject(error);\n        });\n      }\n    });\n    return promise;\n  }\n\n  /** *Reset last requests\n   * @method  resetLastRequests\n   * Reset last requests in case of continue shoppings.\n   */\n  public resetLastRequests(): any {\n    this.lastRequest = {};\n    this.lastAutoOrderRequest = {};\n  }\n}\n","export default \"<div class=\\\"container\\\">\\n<div class=\\\"vertical-products sec-padding\\\">\\n  <div fxLayout=\\\"row\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"start start\\\" class=\\\"p-0\\\">\\n      <div fxFlex=\\\"100\\\" fxFlex.gt-xs=\\\"33.3\\\" class=\\\"product-panel\\\">\\n        <div class=\\\"widget-column\\\">\\n            <div class=\\\"title\\\">\\n                <h4 class=\\\"widget-title\\\">Featured Products</h4>\\n              </div>\\n              <ul class=\\\"product-list\\\" *ngIf=\\\"products?.length > 0\\\">\\n                <li *ngFor=\\\"let product of products | slice:0:3\\\" fxLayout=\\\"row\\\">\\n                  <div class=\\\"media-image\\\">\\n                    <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"  [theme]=\\\"{ width: '80px', height: '80px' }\\\" animation=\\\"progress\\\" *ngIf=\\\"!contentLoaded\\\"></ngx-skeleton-loader>\\n\\n                    <a *ngIf=\\\"contentLoaded\\\" [routerLink]=\\\"['/product', product.ItemID]\\\">\\n                      <img [default]=\\\"'assets/images/product/no-img.png'\\\" style=\\\"width: 80px; height: 80px;\\\" [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory/'+product.ImageUrl\\\"  class=\\\"small\\\" alt=\\\"\\\"> </a>\\n                  </div>\\n                  <div class=\\\"media-body\\\">\\n                    <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n              *ngIf=\\\"!contentLoaded\\\"\\n                count=\\\"3\\\"\\n                [theme]=\\\"{ width: '170px', 'border-radius': '0', height: '15px' }\\\"\\n              ></ngx-skeleton-loader>\\n                    <a *ngIf=\\\"contentLoaded\\\" [routerLink]=\\\"['/product', product.ItemID]\\\"><span>{{product.ProductName}}</span></a>\\n                    <div *ngIf=\\\"contentLoaded\\\" class=\\\"stars\\\">\\n                        <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                        <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                        <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                        <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                        <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                     </div>\\n                     <p *ngIf=\\\"contentLoaded\\\" class=\\\"price\\\">{{product.Prices[0].Price | currency : companyService.selectedCurrency.CurrencyCode  }}</p>\\n                  </div>\\n                </li>\\n              </ul>\\n        </div>\\n      </div>\\n      <div fxFlex=\\\"100\\\" fxFlex.gt-xs=\\\"33.3\\\" class=\\\"product-panel\\\">\\n          <div class=\\\"widget-column\\\">\\n              <div class=\\\"title\\\">\\n                  <h4 class=\\\"widget-title\\\">Top Selling Products</h4>\\n                </div>\\n                <ul class=\\\"product-list\\\" *ngIf=\\\"products?.length > 0\\\">\\n                  <li *ngFor=\\\"let product of products | slice:6:9 \\\" fxLayout=\\\"row\\\">\\n                    <div class=\\\"media-image\\\">\\n                      <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"  [theme]=\\\"{ width: '80px', height: '80px' }\\\" animation=\\\"progress\\\" *ngIf=\\\"!contentLoaded\\\"></ngx-skeleton-loader>\\n                      <a *ngIf=\\\"contentLoaded\\\" [routerLink]=\\\"['/product', product.ItemID]\\\">\\n                        <img [default]=\\\"'assets/images/product/no-img.png'\\\" style=\\\"width: 80px; height: 80px;\\\" [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory/'+product.ImageUrl\\\" alt=\\\"\\\" class=\\\"small\\\" > </a>\\n                    </div>\\n                    <div class=\\\"media-body\\\">\\n                      <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n              *ngIf=\\\"!contentLoaded\\\"\\n                count=\\\"3\\\"\\n                [theme]=\\\"{ width: '170px', 'border-radius': '0', height: '15px' }\\\"\\n              ></ngx-skeleton-loader>\\n                      <a *ngIf=\\\"contentLoaded\\\" [routerLink]=\\\"['/product', product.ItemID]\\\"><span>{{product.ProductName}}</span></a>\\n                      <div *ngIf=\\\"contentLoaded\\\" class=\\\"stars\\\">\\n                          <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                          <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                          <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                          <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                          <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                       </div>\\n                       <p *ngIf=\\\"contentLoaded\\\" class=\\\"price\\\">{{product.Prices[0].Price | currency : companyService.selectedCurrency.CurrencyCode }}</p>\\n                    </div>\\n                  </li>\\n                </ul>\\n          </div>\\n        </div>\\n        <div fxFlex=\\\"100\\\" fxFlex.gt-xs=\\\"33.3\\\" class=\\\"product-panel\\\">\\n            <div class=\\\"widget-column\\\">\\n                <div class=\\\"title\\\">\\n                    <h4 class=\\\"widget-title\\\">Hot Offer</h4>\\n                  </div>\\n                  <ul class=\\\"product-list\\\" *ngIf=\\\"products?.length > 0\\\">\\n                    <li *ngFor=\\\"let product of products | slice:9:12 \\\" fxLayout=\\\"row\\\">\\n                      <div class=\\\"media-image\\\">\\n                        <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"  [theme]=\\\"{ width: '80px', height: '80px' }\\\" animation=\\\"progress\\\" *ngIf=\\\"!contentLoaded\\\"></ngx-skeleton-loader>\\n                        <a *ngIf=\\\"contentLoaded\\\">\\n                          <img [routerLink]=\\\"['/product', product.ItemID]\\\" style=\\\"width: 80px; height: 80px;\\\" [default]=\\\"'assets/images/product/no-img.png'\\\" [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory/'+product.ImageUrl\\\"  class=\\\"small\\\" alt=\\\"\\\"> </a>\\n                      </div>\\n                      <div class=\\\"media-body\\\">\\n                        <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n                        *ngIf=\\\"!contentLoaded\\\"\\n                          count=\\\"3\\\"\\n                          [theme]=\\\"{ width: '170px', 'border-radius': '0', height: '15px' }\\\"\\n                        ></ngx-skeleton-loader>\\n                       <a *ngIf=\\\"contentLoaded\\\" [routerLink]=\\\"['/product', product.ItemID]\\\"><span>{{product.ProductName}}</span></a>\\n                        <div *ngIf=\\\"contentLoaded\\\" class=\\\"stars\\\">\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                            <mat-icon class=\\\"mat-icon-xs mat-icon material-icons ng-star-inserted\\\">star_rate</mat-icon>\\n                         </div>\\n                         <p *ngIf=\\\"contentLoaded\\\" class=\\\"price\\\">{{product.Prices[0].Price | currency : companyService.selectedCurrency.CurrencyCode }}</p>\\n                      </div>\\n                    </li>\\n                  </ul>\\n            </div>\\n          </div>\\n  </div>\\n</div>\\n</div>\";","export default \".headerClass {\\n  background-color: var(--theme-deafult);\\n  color: var(--theme-deafult-text);\\n  padding: 10px 20px;\\n}\\n\\n.m-bb-10 {\\n  margin-bottom: 10px;\\n}\\n\\n#preventIphoneselect input {\\n  -webkit-touch-callout: none;\\n}\\n\\n.m-ll-25 {\\n  margin-left: 25px;\\n}\\n\\n.thinkpolicy {\\n  text-decoration: none;\\n}\\n\\n.thinkpolicy:hover {\\n  text-decoration: none;\\n}\\n\\n.mat-badge-content {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n\\n::ng-deep .mat-checkbox-layout {\\n  white-space: normal !important;\\n}\\n\\n.margin-img {\\n  margin: 0px !important;\\n}\\n\\n.width-img {\\n  width: 60px !important;\\n}\\n\\n#application {\\n  background-color: #EBEBEB;\\n}\\n\\n#application .custom-errors {\\n  color: red;\\n  font-size: 12px;\\n  margin-top: -20px;\\n}\\n\\n#application .has-errors {\\n  position: absolute !important;\\n  margin: 0px !important;\\n  padding: 0 !important;\\n  top: 45px !important;\\n  left: 5px !important;\\n  margin-top: 3px !important;\\n  font-size: 12px !important;\\n  margin-left: -10px !important;\\n}\\n\\n#application .main {\\n  max-width: 1110px;\\n  margin: auto;\\n  padding: 16px;\\n}\\n\\n@media only screen and (min-width: 1200px) {\\n  #application .main .firstContent {\\n    padding: 36px 36px 20px 0;\\n  }\\n}\\n\\n#application .main .firstContent .headerLogo .avtar {\\n  border-radius: 50%;\\n  width: 45px;\\n  height: 45px;\\n}\\n\\n#application .main .firstContent .companyLabel {\\n  color: #4E4E5A;\\n  font-size: 10px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-style: sans-serif;\\n}\\n\\n#application .main .firstContent .companyName {\\n  color: #333333;\\n  font-size: 13px;\\n  font-weight: 500px !important;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-style: sans-serif;\\n}\\n\\n#application .main .firstContent .borderLeft {\\n  border-left: 1px solid #000;\\n  height: 20px;\\n}\\n\\n#application .main .firstContent .flag-icon {\\n  width: 20px;\\n  height: 15px;\\n  margin-right: 10px;\\n}\\n\\n#application .main .firstContent .taxBox {\\n  color: #51c1e8;\\n  cursor: pointer;\\n}\\n\\n#application .main .firstContent .f-s-12-m-0 {\\n  font-size: 12px !important;\\n  margin: 0 !important;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  #application .main .firstContent .mat-expansion-panel-header {\\n    padding: 10px 10px !important;\\n  }\\n  #application .main .firstContent .mat-expansion-panel-header .mat-icon {\\n    color: #3b4e60;\\n    font-size: 24px;\\n    width: 24px;\\n    height: 24px;\\n    padding-right: 12px;\\n  }\\n  #application .main .firstContent .mat-expansion-panel-header .editIcon .mat-icon {\\n    padding-right: 0px;\\n  }\\n  #application .main .firstContent .m-top-25 {\\n    margin-top: 25px !important;\\n  }\\n  #application .main .firstContent .p-left-15 {\\n    padding-left: 15px !important;\\n  }\\n}\\n\\n@media only screen and (min-width: 600px) {\\n  #application .main .firstContent .m-l-b {\\n    margin: 0px 0px 10px 19px;\\n  }\\n}\\n\\n#application .main .firstContent .mat-expansion-panel .mat-expansion-panel-header {\\n  padding: 0px 10px;\\n}\\n\\n#application .main .firstContent .mat-expansion-panel .mat-expansion-panel-header .mat-icon {\\n  color: #3b4e60;\\n  font-size: 24px;\\n  width: 24px;\\n  height: 24px;\\n  padding-right: 12px;\\n}\\n\\n#application .main .firstContent .mat-expansion-panel .mat-expansion-panel-header .editIcon .mat-icon {\\n  padding-right: 0px;\\n}\\n\\n#application .main .firstContent .samSpaceButton .mat-button {\\n  padding: 0px 8px 0px 16px;\\n}\\n\\n#application .main .secondContent .mat-card {\\n  padding: 5px 24px 0px 4px;\\n}\\n\\n#application .main .secondContent .orderSummary {\\n  color: #3B4E60;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-size: 15px !important;\\n  font-weight: 700;\\n}\\n\\n#application .main .secondContent .itemCount {\\n  color: #3b4e60;\\n  font-size: 12px !important;\\n  letter-spacing: 0;\\n  opacity: 0.54;\\n}\\n\\n#application .main .secondContent .items {\\n  padding-left: 5px;\\n  padding-bottom: 15px;\\n  margin-top: 15px !important;\\n}\\n\\n#application .main .secondContent .items .cart-items__images {\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  width: 90px;\\n  height: 90px;\\n  overflow: hidden;\\n  margin-right: 15px;\\n  flex: 0 0 90px;\\n}\\n\\n#application .main .secondContent .items .cart-items__images img {\\n  border-radius: 0;\\n  width: 100%;\\n  height: auto;\\n  margin: 0;\\n  flex-shrink: 0;\\n}\\n\\n#application .main .secondContent .items .md-avatar:first-child,\\n#application .main .secondContent .items .-inner > .md-avatar:first-child {\\n  border-radius: 0;\\n  width: 90px;\\n  height: 90px;\\n}\\n\\n#application .main .secondContent .items .md-secondary-container {\\n  top: 87%;\\n  font-size: 14px;\\n  font-weight: 500;\\n  color: rgba(0, 0, 0, 0.54);\\n  margin-bottom: 10px;\\n}\\n\\n#application .main .secondContent .items .input-group {\\n  width: 88px;\\n  line-height: 0;\\n}\\n\\n#application .main .secondContent .items .input-group .input-group-btn button {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 30px;\\n  box-shadow: none;\\n}\\n\\n#application .main .secondContent .items .input-group .input-control {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 28px;\\n  text-align: center;\\n  color: var(--theme-sidebar-selected);\\n}\\n\\n#application .main .secondContent .items .md-button.remove-items {\\n  position: absolute;\\n  top: -10px;\\n  right: 0;\\n}\\n\\n#application .main .secondContent .items mat-divider {\\n  left: 50px;\\n  width: calc(\\\"100% - 50px\\\");\\n  bottom: -1px;\\n}\\n\\n#application .main .secondContent .mat-expansion-panel {\\n  box-shadow: none;\\n}\\n\\n#application .main .secondContent .mat-expansion-panel-header {\\n  padding: 0px 0px 0px 24px;\\n}\\n\\n#application .main .pdfcontent .orderSummary {\\n  color: #3B4E60;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-size: 15px !important;\\n  font-weight: 700;\\n}\\n\\n#application .main .pdfcontent a {\\n  text-decoration: none;\\n  color: var(--theme-deafult-secondary);\\n}\\n\\n#application .main .pdfcontent a:hover {\\n  text-decoration: none;\\n  color: var(--theme-deafult-secondary);\\n}\\n\\n@media screen and (min-width: 1300px) {\\n  #application .main .pdfcontent .mat-card {\\n    padding: 16px 16px 16px 4px;\\n  }\\n}\\n\\n@media screen and (min-width: 1300px) {\\n  #application .main .pdfcontent .mat-card {\\n    padding: 5px 14px 5px 4px;\\n    width: 330px;\\n  }\\n}\\n\\n#application .main .headingTitle-f-s-30 {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-weight: bold;\\n  font-size: 30px;\\n  font-style: italic;\\n  margin: 0;\\n  letter-spacing: -0.75px;\\n  color: #3B4E60;\\n}\\n\\n#application .main .subTitle-f-s-16 {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-weight: bold;\\n  font-size: 16px;\\n  font-style: italic;\\n  margin: 0;\\n  color: #3B4E60;\\n}\\n\\n#application .main .borderBottom {\\n  border-bottom: 1px solid #cfcfcf;\\n}\\n\\n#application .main .borderTop {\\n  border-top: 1px solid #cfcfcf;\\n}\\n\\n#application .main .m-t-b-15 {\\n  margin: 15px 0px;\\n}\\n\\n#application .main .m-t-b-40-15 {\\n  margin: 15px 40px;\\n}\\n\\n#application .addButton button {\\n  color: #3b4e60;\\n  text-align: center !important;\\n  border: 1px solid #3b4e60;\\n  background: #fff 0 0 no-repeat padding-box;\\n  height: 36px;\\n}\\n\\n#application .color-f-s-15 {\\n  color: #3b4e60;\\n  font-size: 21px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n#application .color-f-s-13 {\\n  color: #3b4e60;\\n  font-size: 13px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n#application .color-f-s-12 {\\n  color: #3b4e60;\\n  font-size: 12px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n#application .color-f-s-11 {\\n  color: #3b4e60;\\n  font-size: 11px;\\n  font-family: Helvetica;\\n  margin: 0px 13px 0px 0px;\\n}\\n\\n#application .color2-f-s-12 {\\n  color: #3A4D5F;\\n  font-size: 16px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  text-align: justify;\\n  line-height: 1.3;\\n  margin: 0px;\\n}\\n\\n#application .color-f-s-13 {\\n  color: black;\\n  font-size: 13px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  line-height: 1.3;\\n  margin: 12px 0 0 0 !important;\\n}\\n\\n#application .color3-f-s-13 {\\n  color: var(--theme-sidebar-selected);\\n  font-size: 13px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n#application .color-f-s-24 .mat-icon {\\n  color: #3b4e60;\\n  font-size: 24px;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n#application .p-t-9 {\\n  padding-top: 9px !important;\\n}\\n\\n#application .mat-icon {\\n  cursor: pointer;\\n}\\n\\n#application .p-t-b-7 {\\n  padding: 7px 0px 7px 0px !important;\\n}\\n\\n#application .m-l-48 {\\n  margin-left: 48px !important;\\n}\\n\\n#application .product_detail_text1 {\\n  font-size: 13px !important;\\n  margin: 0 !important;\\n  line-height: 18px !important;\\n}\\n\\n@media only screen and (min-width: 1200px) {\\n  #application .m-top2-25 {\\n    padding-top: 25px !important;\\n  }\\n}\\n\\n#application .coupon_error {\\n  top: 44px;\\n  position: absolute;\\n}\\n\\n.firstcard .enroll_info {\\n  margin-left: 10px;\\n}\\n\\n.term_condition {\\n  min-height: 40px;\\n  height: auto;\\n  margin: 10px 0px;\\n}\\n\\n#application .mat-standard-chip .mat-chip-remove {\\n  border: none;\\n  -webkit-appearance: none;\\n  -moz-appearance: none;\\n  padding: 0;\\n  background: none;\\n}\\n\\n#application .mat-standard-chip .mat-chip-remove.mat-icon,\\n.mat-standard-chip .mat-chip-remove .mat-icon {\\n  width: 18px;\\n  height: 18px;\\n  font-size: 18px;\\n}\\n\\n#application mat-form-field {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n\\n::ng-deep .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {\\n  background: var(--theme-deafult-secondary) !important;\\n}\\n\\n::ng-deep .mat-form-field-infix .has-error .help-block {\\n  position: absolute;\\n  margin: 0;\\n  padding: 0;\\n  top: 46px !important;\\n  left: 0px !important;\\n}\\n\\n.logo {\\n  letter-spacing: normal;\\n  font-size: 24px;\\n  font-weight: 700;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n#sideCartBox {\\n  position: fixed;\\n  right: 25px;\\n  top: 100px;\\n  bottom: inherit;\\n  left: inherit;\\n  max-height: 610px;\\n  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\\n}\\n\\n.full-sideCartBox-height {\\n  max-height: 100% !important;\\n}\\n\\n#sideCartBox {\\n  overflow-y: auto;\\n  overflow-x: hidden;\\n}\\n\\n.policyblock {\\n  margin-left: -50px !important;\\n  margin-top: 10px !important;\\n}\\n\\n.cards-available {\\n  margin-top: 5px !important;\\n}\\n\\n.gap-between {\\n  border: 2px solid #ebebeb !important;\\n  border-radius: 5px !important;\\n  margin-left: -65px !important;\\n  margin-right: -65px !important;\\n}\\n\\n#sideCartBox::-webkit-scrollbar {\\n  width: 4px;\\n}\\n\\n#sideCartBox::-webkit-scrollbar-thumb {\\n  background: var(--theme-deafult-secondary);\\n  border-radius: 10px;\\n}\\n\\n#sideCartBox::-webkit-scrollbar-track {\\n  background: #eeeeee;\\n}\\n\\n@media screen and (max-width: 1300px) {\\n  #sideCartBox {\\n    position: initial !important;\\n  }\\n\\n  #pdfcontentBox {\\n    position: initial !important;\\n  }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcGxpY2F0aW9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usc0NBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtBQUNGOztBQUdFO0VBRUUsMkJBQUE7QUFESjs7QUFLQTtFQUNFLGlCQUFBO0FBRkY7O0FBS0E7RUFDRSxxQkFBQTtBQUZGOztBQUtBO0VBQ0UscUJBQUE7QUFGRjs7QUFLQTtFQUNFLDJEQUFBO0FBRkY7O0FBS0E7RUFDRSw4QkFBQTtBQUZGOztBQUtBO0VBQ0Usc0JBQUE7QUFGRjs7QUFLQTtFQUNFLHNCQUFBO0FBRkY7O0FBS0E7RUFtQkUseUJBQUE7QUFwQkY7O0FBR0U7RUFDRSxVQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FBREo7O0FBSUU7RUFDRSw2QkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0FBRko7O0FBT0U7RUFDRSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0FBTEo7O0FBUU07RUFERjtJQUVJLHlCQUFBO0VBTE47QUFDRjs7QUFPTTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUFMUjs7QUFRTTtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQ0Esd0NBQUE7RUFDQSxzQkFBQTtBQU5SOztBQVNNO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSw2QkFBQTtFQUNBLHdDQUFBO0VBQ0Esc0JBQUE7QUFQUjs7QUFVTTtFQUNFLDJCQUFBO0VBQ0EsWUFBQTtBQVJSOztBQVdNO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtBQVRSOztBQVlNO0VBQ0UsY0FBQTtFQUNBLGVBQUE7QUFWUjs7QUFZTTtFQUNFLDBCQUFBO0VBQ0Esb0JBQUE7QUFWUjs7QUFhTTtFQUNFO0lBQ0UsNkJBQUE7RUFYUjtFQWFR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QWlGQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7QUE5RUY7O0FBaUZBO0VBQ0UsNkJBQUE7RUFDQSwyQkFBQTtBQTlFRjs7QUFnRkE7RUFDRSwwQkFBQTtBQTdFRjs7QUErRUE7RUFDRSxvQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsNkJBQUE7RUFDQSw4QkFBQTtBQTVFRjs7QUErRUE7RUFDRSxVQUFBO0FBNUVGOztBQStFQTtFQUNFLDBDQUFBO0VBQ0EsbUJBQUE7QUE1RUY7O0FBK0VBO0VBQ0UsbUJBQUE7QUE1RUY7O0FBK0VBO0VBQ0U7SUFDRSw0QkFBQTtFQTVFRjs7RUErRUE7SUFDRSw0QkFBQTtFQTVFRjtBQUNGIiwiZmlsZSI6ImFwcGxpY2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlckNsYXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXRleHQpO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG59XG5cbi5tLWJiLTEwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI3ByZXZlbnRJcGhvbmVzZWxlY3Qge1xuICBpbnB1dHtcbiAgICAvLyAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAvLyAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTtcbn19XG5cbi5tLWxsLTI1IHtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG59XG5cbi50aGlua3BvbGljeSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRoaW5rcG9saWN5OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWF0LWJhZGdlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWltZyB7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC1pbWcge1xuICB3aWR0aDogNjBweCAhaW1wb3J0YW50O1xufVxuXG4jYXBwbGljYXRpb24ge1xuXG4gIC5jdXN0b20tZXJyb3JzIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgfVxuXG4gIC5oYXMtZXJyb3JzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB0b3A6IDQ1cHggIWltcG9ydGFudDtcbiAgICBsZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAzcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7XG5cbiAgLm1haW4ge1xuICAgIG1heC13aWR0aDogMTExMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxNnB4O1xuXG4gICAgLmZpcnN0Q29udGVudCB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDM2cHggMjBweCAwO1xuICAgICAgfVxuXG4gICAgICAuaGVhZGVyTG9nbyAuYXZ0YXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICB9XG5cbiAgICAgIC5jb21wYW55TGFiZWwge1xuICAgICAgICBjb2xvcjogIzRFNEU1QTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBzYW5zLXNlcmlmO1xuICAgICAgfVxuXG4gICAgICAuY29tcGFueU5hbWUge1xuICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogc2Fucy1zZXJpZjtcbiAgICAgIH1cblxuICAgICAgLmJvcmRlckxlZnQge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cblxuICAgICAgLmZsYWctaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnRheEJveCB7XG4gICAgICAgIGNvbG9yOiAjNTFjMWU4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAuZi1zLTEyLW0tMHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICMzYjRlNjA7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmVkaXRJY29uIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tLXRvcC0yNSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnAtbGVmdC0xNSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAubS1sLWIge1xuICAgICAgICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDE5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuXG4gICAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjM2I0ZTYwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5lZGl0SWNvbiAubWF0LWljb24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2FtU3BhY2VCdXR0b24gLm1hdC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwcHggOHB4IDBweCAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRDb250ZW50IHtcbiAgICAgIC5tYXQtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAyNHB4IDBweCA0cHg7XG4gICAgICB9XG5cbiAgICAgIC5vcmRlclN1bW1hcnkge1xuICAgICAgICBjb2xvcjogIzNCNEU2MDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtQ291bnQge1xuICAgICAgICBjb2xvcjogIzNiNGU2MDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAuNTQ7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5jYXJ0LWl0ZW1zX19pbWFnZXMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgZmxleDogMCAwIDkwcHg7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kLWF2YXRhcjpmaXJzdC1jaGlsZCxcbiAgICAgICAgLi1pbm5lcj4ubWQtYXZhdGFyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZC1zZWNvbmRhcnktY29udGFpbmVyIHtcbiAgICAgICAgICB0b3A6IDg3JTtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgICB3aWR0aDogODhweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICAgIC5pbnB1dC1ncm91cC1idG4ge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaW5wdXQtY29udHJvbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRoZW1lLXNpZGViYXItc2VsZWN0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZC1idXR0b24ucmVtb3ZlLWl0ZW1zIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hdC1kaXZpZGVyIHtcbiAgICAgICAgICBsZWZ0OiA1MHB4O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCcxMDAlIC0gNTBweCcpO1xuICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBkZmNvbnRlbnQge1xuXG4gICAgICAub3JkZXJTdW1tYXJ5IHtcbiAgICAgICAgY29sb3I6ICMzQjRFNjA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICAgICAgfVxuXG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTMwMHB4KSB7XG4gICAgICAucGRmY29udGVudCB7XG4gICAgICAgIC5tYXQtY2FyZCB7XG4gICAgICAgICAgcGFkZGluZzogMTZweCAxNnB4IDE2cHggNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMzAwcHgpIHtcbiAgICAgIC5wZGZjb250ZW50IHtcbiAgICAgICAgLm1hdC1jYXJkIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTRweCA1cHggNHB4O1xuICAgICAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nVGl0bGUtZi1zLTMwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43NXB4O1xuICAgICAgY29sb3I6ICMzQjRFNjA7XG4gICAgfVxuXG4gICAgLnN1YlRpdGxlLWYtcy0xNiB7XG4gICAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzNCNEU2MDtcbiAgICB9XG5cbiAgICAuYm9yZGVyQm90dG9tIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZjZmNmO1xuICAgIH1cblxuICAgIC5ib3JkZXJUb3Age1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmNmY2Y7XG4gICAgfVxuXG4gICAgLm0tdC1iLTE1IHtcbiAgICAgIG1hcmdpbjogMTVweCAwcHg7XG4gICAgfVxuXG4gICAgLm0tdC1iLTQwLTE1IHtcbiAgICAgIG1hcmdpbjogMTVweCA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hZGRCdXR0b24gYnV0dG9uIHtcbiAgICBjb2xvcjogIzNiNGU2MDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2I0ZTYwO1xuICAgIGJhY2tncm91bmQ6ICNmZmYgMCAwIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gIH1cblxuICAuY29sb3ItZi1zLTE1IHtcbiAgICBjb2xvcjogIzNiNGU2MDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgfVxuXG4gIC5jb2xvci1mLXMtMTMge1xuICAgIGNvbG9yOiAjM2I0ZTYwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmO1xuICB9XG5cbiAgLmNvbG9yLWYtcy0xMiB7XG4gICAgY29sb3I6ICMzYjRlNjA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gIH1cblxuICAuY29sb3ItZi1zLTExIHtcbiAgICBjb2xvcjogIzNiNGU2MDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYTtcbiAgICBtYXJnaW46IDBweCAxM3B4IDBweCAwcHg7XG4gIH1cblxuICAuY29sb3IyLWYtcy0xMiB7XG4gICAgY29sb3I6ICMzQTRENUY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG5cbiAgLmNvbG9yLWYtcy0xMyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIC8vIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDEycHggMCAwIDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jb2xvcjMtZi1zLTEzIHtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtc2lkZWJhci1zZWxlY3RlZCk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gIH1cblxuICAuY29sb3ItZi1zLTI0IC5tYXQtaWNvbiB7XG4gICAgY29sb3I6ICMzYjRlNjA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIHNhbnMtc2VyaWY7XG4gIH1cblxuICAucC10LTkge1xuICAgIHBhZGRpbmctdG9wOiA5cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLnAtdC1iLTcge1xuICAgIHBhZGRpbmc6IDdweCAwcHggN3B4IDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbC00OCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcm9kdWN0X2RldGFpbF90ZXh0MSB7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLm0tdG9wMi0yNSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jb3Vwb25fZXJyb3Ige1xuICAgIHRvcDogNDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLmZpcnN0Y2FyZCAuZW5yb2xsX2luZm8ge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnRlcm1fY29uZGl0aW9uIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDEwcHggMHB4O1xufVxuXG4jYXBwbGljYXRpb24gLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUge1xuICBib3JkZXI6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4jYXBwbGljYXRpb24gLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb24sXG4ubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZSAubWF0LWljb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbiNhcHBsaWNhdGlvbiBtYXQtZm9ybS1maWVsZCB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWRlYWZ1bHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLWluZml4IC5oYXMtZXJyb3IgLmhlbHAtYmxvY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdG9wOiA0NnB4ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ubG9nbyB7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4jc2lkZUNhcnRCb3gge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAyNXB4O1xuICB0b3A6IDEwMHB4O1xuICBib3R0b206IGluaGVyaXQ7XG4gIGxlZnQ6IGluaGVyaXQ7XG4gIG1heC1oZWlnaHQ6IDYxMHB4O1xuICBib3gtc2hhZG93OiAwcHggM3B4IDFweCAtMnB4IHJnYigwIDAgMCAvIDIwJSksIDBweCAycHggMnB4IDBweCByZ2IoMCAwIDAgLyAxNCUpLCAwcHggMXB4IDVweCAwcHggcmdiKDAgMCAwIC8gMTIlKTtcbn1cblxuLmZ1bGwtc2lkZUNhcnRCb3gtaGVpZ2h0IHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZUNhcnRCb3gge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5wb2xpY3libG9ja3tcbiAgbWFyZ2luLWxlZnQ6LTUwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xufVxuLmNhcmRzLWF2YWlsYWJsZXtcbiAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG59XG4uZ2FwLWJldHdlZW57XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlYmViZWIgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtNjVweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IC02NXB4ICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlQ2FydEJveDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNHB4O1xufVxuXG4jc2lkZUNhcnRCb3g6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4jc2lkZUNhcnRCb3g6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICNzaWRlQ2FydEJveCB7XG4gICAgcG9zaXRpb246IGluaXRpYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gICNwZGZjb250ZW50Qm94IHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG59Il19 */\";","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'groupByCount'\n})\nexport class GroupByCountPipe implements PipeTransform {\n\ttransform(value, count) {\n        var result = {};\n        if (value && value.length > 0) {\n            if (!count) {\n                count = 1;\n            }\n            var counter = 0, length = value.length / count;\n            for (var i = 0; i < length; i++) {\n                result[counter] = value.slice(counter * count, (counter * count) + count);\n                counter++;\n            }\n        }\n        return result;\n    }\n}","export default \"<div mat-dialog-title>\\n    <ng-container *ngIf=\\\"showExplain\\\">\\n        <div>Verifying {{data.email}}</div>\\n    </ng-container>\\n</div>\\n<div mat-dialog-content id='hover'>\\n    <ng-container *ngIf=\\\"showExplain\\\">\\n        A verification email has been sent to this address. To continue your enrollment process please confirm you've\\n        received this email by clicking the verification link it provides. If you have not received the email with 2\\n        minutes, check the accuracy of the email address you provided (Please check your Junk/Spam folder).\\n    </ng-container>\\n    <ng-container *ngIf=\\\"emailNotVerified && !showExplain\\\"> If you have not received the email with 2\\n        minutes, check the accuracy of the email address you provided or click <a\\n            (click)=\\\"verifyemailbylink(data.email)\\\" style=\\\"color: var(--theme-deafult-secondary);\\\">here</a> to resend\\n        the verification email.\\n    </ng-container>\\n    <section *ngIf=\\\"showExplain\\\" class=\\\"txt-center\\\">\\n        <img style=\\\"width: 200px;\\\" src=\\\"../../../../assets/images/ezgif.com-gif-maker.gif\\\">\\n    </section>\\n    <ng-container *ngIf=\\\"emailNotVerified && !showExplain\\\">\\n        <div [mat-dialog-close]=\\\"true\\\">Close</div>\\n    </ng-container>\\n    <ng-container *ngIf=\\\"emailVerified && !showExplain\\\">\\n        <p>Verified Successfully</p>\\n        <div [mat-dialog-close]=\\\"true\\\">Close</div>\\n    </ng-container>\\n</div>\";","export default \"<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n    <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n</button>\\n<div class=\\\"dialog-content-wrapper invoiceDialog\\\" id=\\\"invoice-wrapper\\\">\\n    <mat-toolbar class=\\\"header m-0\\\">\\n        <mat-toolbar-row fxFlex fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n            <span class=\\\"title dialog-title\\\" fxFlex translate=\\\"invoice_\\\"></span>\\n        </mat-toolbar-row>\\n    </mat-toolbar>\\n    <div mat-dialog-content id=\\\"invoice-content\\\" fxLayout=\\\"column\\\">\\n        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n            <div fxFlex=\\\"40\\\">\\n                <div fxLayout=\\\"column\\\">\\n                    <div>\\n                        <p class=\\\"colorf-s-14\\\">\\n                            <span [textContent]=\\\"config.localSettings.Company.Address.Street\\\"></span>&nbsp;\\n                            <br />\\n                            <span [textContent]=\\\"config.localSettings.Company.Address.City\\\"></span>&nbsp;\\n                            <span [textContent]=\\\"config.localSettings.Company.Address.State\\\"></span>&nbsp;\\n                            <span [textContent]=\\\"config.localSettings.Company.Address.Zip\\\"></span>&nbsp;\\n                            <br />\\n                            <span [textContent]=\\\"config.localSettings.Company.Address.Country\\\"></span>\\n                            <br />\\n                            <span [textContent]=\\\"config.localSettings.Company.Address.Phone\\\"></span>\\n                        </p>\\n                    </div>\\n                </div>\\n            </div>\\n            <div fxFlex=\\\"20\\\">\\n\\n            </div>\\n            <div fxLayoutAlign=\\\"end start\\\" fxFlex=\\\"40\\\">\\n                <div fxLayoutAlign=\\\"end\\\" fxLayout=\\\"column\\\">\\n                    <div class=\\\"invoice\\\">\\n                        <h3 translate=\\\"invoice_\\\"></h3>\\n                    </div>\\n                    <div>\\n                        <label class=\\\"colorf-s-14\\\" translate=\\\"Order Date\\\"></label> <span class=\\\"colorf-s-14\\\"\\n                            [textContent]=\\\"OrderData.OrderDate  | date :'MM/dd/yyyy'\\\"></span>\\n                    </div>\\n                    <div>\\n                        <label class=\\\"colorf-s-14\\\" translate=\\\"invoice_\\\"></label> <span class=\\\"colorf-s-14\\\"\\n                            [textContent]=\\\"OrderData.OrderNumber\\\"></span>\\n                    </div>\\n                </div>\\n            </div>\\n\\n        </div>\\n        <div class=\\\"horizontalLine\\\">\\n        </div>\\n        <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" fxLayoutAlign.gt-xs=\\\"space-around center\\\" class=\\\"p-t-10 m-b-30\\\">\\n            <div class=\\\"p-r-b\\\">\\n                <div fxLayout=\\\"row\\\" *ngIf=\\\"OrderData?.Packages && OrderData?.Packages?.length>0\\\">\\n                    <div class=\\\"p-r-15\\\">\\n                        <label class=\\\"colorf-s-14\\\" translate=\\\"invoice_ship_to\\\"></label>&nbsp;\\n                    </div>\\n                    <div>\\n                        <span class=\\\"colorf-s-14\\\" [textContent]=\\\"OrderData?.Packages[0].ShipTo\\\"></span><br>\\n                        <span class=\\\"colorf-s-14\\\" [textContent]=\\\"OrderData?.Packages[0].Address1\\\"></span>&nbsp;<span\\n                            class=\\\"colorf-s-14\\\" [textContent]=\\\"OrderData?.Packages[0].Address2\\\"></span><br>\\n                        <span class=\\\"colorf-s-14\\\" [textContent]=\\\"OrderData?.Packages[0].City\\\"></span>&nbsp;<span\\n                            class=\\\"colorf-s-14\\\" [textContent]=\\\"OrderData.State\\\"></span>&nbsp;<span class=\\\"colorf-s-14\\\"\\n                            [textContent]=\\\"OrderData?.Packages[0].Zip\\\"></span>,&nbsp;<span class=\\\"colorf-s-14\\\"\\n                            [textContent]=\\\"OrderData.Packages[0].CountryCode\\\"></span>\\n                    </div>\\n                </div>\\n            </div>\\n            <div>\\n            </div>\\n        </div>\\n        <div class=\\\"table1 m-b-30\\\">\\n            <table>\\n                <thead>\\n                    <tr>\\n                        <th translate=\\\"invoice_customer\\\"></th>\\n                        <th translate=\\\"Source\\\"></th>\\n                        <th translate=\\\"invoice_status\\\"></th>\\n                        <th translate=\\\"ship_via\\\"></th>\\n                        <th translate=\\\"shipping_date\\\"></th>\\n                        <th translate=\\\"tracking\\\"></th>\\n                    </tr>\\n                </thead>\\n                <tbody>\\n                    <tr>\\n                        <td [textContent]=\\\"OrderData.DistributorID\\\"></td>\\n                        <td [textContent]=\\\"OrderData.OrderTypeDescription\\\"></td>\\n                        <td [textContent]=\\\"OrderData.IsShipped\\\"></td>\\n                        <td [textContent]=\\\"OrderData.Packages?.length>0?OrderData.Packages[0].Carrier:'--'\\\"> </td>\\n                        <td [textContent]=\\\"OrderData.Packages?.length>0?OrderData.Packages[0].ShippedDate :'--'\\\"></td>\\n                        <td [textContent]=\\\"OrderData.Packages?.length>0?OrderData.Packages[0].TrackingNumber:'--'\\\"></td>\\n                    </tr>\\n                </tbody>\\n            </table>\\n        </div>\\n        <div class=\\\"table2 m-b-30\\\">\\n            <table>\\n                <thead>\\n                    <tr>\\n                        <th translate=\\\"SKU\\\"></th>\\n                        <th translate=\\\"global_description\\\"></th>\\n                        <th translate=\\\"global_quantity\\\"></th>\\n                        <th translate=\\\"unit_price\\\"></th>\\n                        <th translate=\\\"global_pv\\\"></th>\\n                        <th translate=\\\"invoice_unit_cv\\\"></th>\\n                        <th translate=\\\"invoice_line_total\\\"></th>\\n                    </tr>\\n                </thead>\\n                <tbody>\\n                    <tr *ngFor=\\\"let items of OrderData.LineItems\\\">\\n                        <td [textContent]=\\\"items.SKU\\\"></td>\\n                        <td [textContent]=\\\"items.ProductName\\\"></td>\\n                        <td [textContent]=\\\"items.Qty\\\"></td>\\n                        <td [textContent]=\\\"items.Amount | currency:companyService.selectedCurrency.CurrencyCode\\\"> </td>\\n                        <td [textContent]=\\\"items.CV\\\"> </td>\\n                        <td [textContent]=\\\"items.QV\\\"> </td>\\n                        <td\\n                            [textContent]=\\\"(items.Amount* items.Qty)| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                </tbody>\\n            </table>\\n        </div>\\n        <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" fxFlex=\\\"100\\\">\\n            <div fxLayout=\\\"column\\\" fxFlex=\\\"67\\\" fxFlex.sm=\\\"62\\\" fxHide.lt-sm class=\\\"m-t-20\\\">\\n                <div>\\n                    <label class=\\\"colorf-s-14\\\" translate=\\\"invoice_notes\\\"></label>\\n                </div>\\n                <div class=\\\"noteBox\\\">\\n\\n                </div>\\n            </div>\\n            <div fxFlex=\\\"5\\\" fxHide.lt-sm></div>\\n            <div fxFlex=\\\"28\\\" fxFlex.sm=\\\"33\\\" fxFlex.xs=\\\"100\\\" class=\\\"table3\\\">\\n                <table style=\\\"border-spacing: 0px; max-width: 100%;\\\">\\n                    <tr>\\n                        <td translate=\\\"subTotal\\\"></td>\\n                        <td class=\\\"table3td\\\"\\n                            [textContent]=\\\"OrderData?.Totals[0]?.SubTotal| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                    <tr>\\n                        <td translate=\\\"shippinghandling\\\"></td>\\n                        <td class=\\\"table3td\\\"\\n                            [textContent]=\\\"OrderData?.Totals[0]?.Shipping| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                    <tr>\\n                        <td translate=\\\"tax\\\"></td>\\n                        <td class=\\\"table3td\\\"\\n                            [textContent]=\\\"OrderData?.Totals[0]?.Tax| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                    <tr>\\n                        <td translate=\\\"grand_total\\\"></td>\\n                        <td class=\\\"table3td\\\"\\n                            [textContent]=\\\"(OrderData?.Totals[0]?.SubTotal + OrderData?.Totals[0]?.Shipping +OrderData?.Totals[0]?.Tax)| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                    <tr>\\n                        <td translate=\\\"discount\\\"></td>\\n                        <td class=\\\"table3td\\\"\\n                            [textContent]=\\\"OrderData?.Totals[0]?.DiscountTotal| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                    <tr>\\n                        <td translate=\\\"total_paid\\\"></td>\\n                        <td class=\\\"table3td\\\"\\n                            [textContent]=\\\"OrderData.Totals[0]?.Total| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                    <tr>\\n                        <td translate=\\\"total_due\\\"></td>\\n                        <td class=\\\"table3tdLast\\\"\\n                            [textContent]=\\\"OrderData.Totals[0]?.TotalDues| currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                        </td>\\n                    </tr>\\n                </table>\\n            </div>\\n            <div fxLayout=\\\"column\\\" fxFlex=\\\"67\\\" fxFlex.sm=\\\"62\\\" fxFlex.xs=\\\"100\\\" fxHide.gt-xs class=\\\"m-t-20\\\">\\n                <div>\\n                    <label class=\\\"colorf-s-14\\\" translate=\\\"invoice_notes\\\"></label>\\n                </div>\\n                <div class=\\\"noteBox\\\" [textContent]=\\\"OrderData.SpecialInstructions\\\">\\n                </div>\\n            </div>\\n        </div>\\n        <div fxLayoutAlign=\\\"center center\\\" class=\\\"footer\\\">\\n            <p translate=\\\"thank_you_for_your_business\\\"></p>\\n        </div>\\n    </div>\\n    <hr>\\n    <div fxLayoutAlign=\\\"end center\\\" class=\\\"print-icon\\\">\\n        <button mat-icon-button styleSheetFile=\\\"assets/scss/orderinvoice.css\\\" printSectionId=\\\"invoice-content\\\" ngxPrint>\\n            <mat-icon>print</mat-icon>\\n        </button>\\n    </div>\\n</div>\";","export default \"<div class=\\\"main-slider\\\">\\n  <div class=\\\"swiper-container h-100\\\" [swiper]=\\\"config\\\">\\n    <div class=\\\"swiper-wrapper h-100\\\">\\n      <div *ngFor=\\\"let slide of slides\\\" class=\\\"swiper-slide\\\">\\n        <div [attr.data-background]=\\\"slide.image\\\" class=\\\"slide-item swiper-lazy\\\">\\n          <div class=\\\"container1 sl-wrap\\\">\\n            <div class=\\\"swiper-lazy-preloader swiper-lazy-preloader-white\\\"></div>\\n            <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\" class=\\\"content\\\" >\\n              <div class=\\\"w-100\\\">\\n              <h1 class=\\\"swiper_h1\\\">{{slide.title}}</h1>\\n              <h3 class=\\\"swiper_h3\\\">{{slide.subtitle}}</h3>\\n              </div>\\n            <button mat-raised-button color=\\\"primary\\\">Shop now</button>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <div class=\\\"swiper-pagination white\\\"></div>\\n    <button mat-mini-fab color=\\\"primary\\\" class=\\\"swiper-button-prev swipe-arrow\\\">\\n      <mat-icon>keyboard_arrow_left</mat-icon>\\n    </button>\\n    <button mat-mini-fab color=\\\"primary\\\" class=\\\"swiper-button-next swipe-arrow\\\">\\n      <mat-icon>keyboard_arrow_right</mat-icon>\\n    </button>\\n  </div>\\n</div>\";","import { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment';\n@Pipe({\n\tname: 'changedateformat'\n})\nexport class ChangeDateFormatPipe implements PipeTransform {\n\ttransform(value) {\n\t\treturn moment(value).format('DD MMMM YYYY');\n\t}\n}","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GetAutoship, GetAutoshipResult } from 'src/app/modals/autoship.modal';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { ProductService } from '../../shared/services/product.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { PersistentService } from '../../shared/services/persistent.service';\nimport { UserService } from '../../shared/services/user.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport * as _ from 'lodash';\nimport { CookieService } from 'ngx-cookie-service';\nimport $ from 'jquery';\nimport { CompanyService } from '../../shared/services/company.service';\n\n@Component({\n    selector: 'app-manage-autoship',\n    templateUrl: './manage-autoship.component.html',\n    styleUrls: ['./manage-autoship.component.scss']\n})\nexport class ManageAutoshipComponent implements OnInit {\n    public AutoOrdersData: Array<GetAutoship> = [];\n    public LineItems:Array<GetAutoship>=[];\n    private total;\n    public autoshipConfiguration = {\n        setting: {}\n    };\n    public autoShipId: number;\n    userService: UserServiceModal;\n    AutoshipSetting: [];\n    constructor(\n        public configService: ConfigService,\n        private titleService: Title,\n        public translate: TranslateService,\n        private router: Router,\n        public apiService: RestApiService,\n        public itemsService: ProductService,\n        public utilityService: UtilityService,\n        public persistentService: PersistentService,\n        public user: UserService,\n        public cookieService: CookieService,\n        public companyService: CompanyService\n    ) {\n        this.userService = this.user.userServiceModal;\n    }\n\n    ngOnInit() {\n        this.translate.get('global_Company_Title').subscribe((text: string) => {\n            this.titleService.setTitle(this.translate.instant('pagetitle_manage_autoship') + ' | ' + text);\n        });\n        window.scrollTo(0, 0);\n        this.init();\n    }\n\n    setAutoshipId(id) {\n        let submitapp = localStorage.getItem('SubmitApplication') && JSON.parse(localStorage.getItem('SubmitApplication'));\n        if (submitapp) {\n            submitapp.AutoOrderId = id;\n            localStorage.setItem('SubmitApplication', JSON.stringify(submitapp));\n        } else {\n            submitapp = { AutoOrderId: id };\n            localStorage.setItem('SubmitApplication', JSON.stringify(submitapp));\n        }\n    }\n\n    getAutoOrders() {\n        const promise = new Promise((resolve, reject) => {\n            this.apiService.getCustomerAutoships(this.userService.customerData.CustomerId)\n            .subscribe((result: GetAutoshipResult) => {\n                try {\n                    if (result.Status === 0) {\n                        this.AutoOrdersData = result.Data;\n                        for(let i=0;i<this.AutoOrdersData.length;i++){   \n                            this.total=0;\n                          for(let j=0;j<this.AutoOrdersData[i].LineItems.length;j++){\n                          this.total +=this.AutoOrdersData[i].LineItems[j].Quantity;\n                          this.AutoOrdersData[i].TotalQuantity=this.total;\n                          }\n                       }\n                        resolve(result.Data);\n                    }\n                } catch (ex) {\n                    console.error('ex', ex);\n                    reject({});\n                }\n            }, (error) => {\n                this.AutoOrdersData = [];\n                reject({});\n            }, () => {\n\n            });\n        });\n        return promise;\n    }\n\n    init() {\n        localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n        this.getAutoOrders().then((data) => {\n            if (!this.persistentService.retailData.AddMoreItemInAutoshipFlag) {\n                this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n            }\n            this.persistentService.retailData.IsPaid = false;\n            this.persistentService.retailData.isAutoshipEdit = false;\n            this.persistentService.retailData.SelectedAutoshipPayment = {};\n            this.persistentService.retailData.isChanged = false;\n\n            this.userService.isAddressChanged = false;\n            this.userService.isPaymentChanged = false;\n            if (this.utilityService.getAutoshipEditFlag()) {\n                this.persistentService.retailData.AddMoreItemInAutoshipFlag = true;\n                _.each(this.AutoOrdersData, (order: any) => {\n                    if (order.AutoShipID == this.persistentService.retailData.editAutoshipItems[0].AutoOrderID) {\n                        this.persistentService.retailData.AddMoreItemInAutoshipData = {\n                            id: order.AutoShipID,\n                            isPaid: order.isPaid\n                        };\n                    }\n                });\n                this.persistentService.retailData.CurrentSelectedAutoOrder = this.persistentService.retailData.editAutoshipItems[0].AutoOrderID;\n                this.autoShipId = this.persistentService.retailData.editAutoshipItems[0].AutoOrderID;\n            }\n\n            if (this.persistentService.retailData.AddMoreItemInAutoshipFlag) {\n                this.showAutoship(this.persistentService.retailData.AddMoreItemInAutoshipData.id, this.persistentService.retailData.AddMoreItemInAutoshipData.isPaid);\n                this.persistentService.retailData.getAutoOrderDetailsByID = this.persistentService.retailData.AddMoreItemInAutoshipData;\n                setTimeout(() => {\n                    $([document.documentElement, document.body]).animate({\n                        scrollTop: $('#autoshipEditor').offset().top - 100\n                    }, 2000);\n                }, 2000);\n            }\n        });\n    }\n\n    canAddAutoship() {\n        return ((this.AutoOrdersData && this.AutoOrdersData.length == 0) || this.configService.localSettings.Autoship.AllowMultipleAutoship);\n    }\n\n    showAutoship(id, IsPaid = false) {\n        this.persistentService.retailData.isAutoshipEdit = false;\n        if (this.persistentService.retailData.AddMoreItemInAutoshipData && this.persistentService.retailData.AddMoreItemInAutoshipData.id > 0  && id !== this.persistentService.retailData.AddMoreItemInAutoshipData.id) {\n            this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n            this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n            this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n            this.userService.isEditAutoshipAddressChanged = false;\n            this.persistentService.retailData.editAutoshipItems = [];\n            this.itemsService.selectedAutoOrderItems = [];\n            this.persistentService.retailData.isAutoshipEdit = false;\n        }\n\n        if (this.persistentService.retailData.isAutoshipEdit) {\n            this.persistentService.retailData.isAutoshipEdit = false;\n        } else {\n            this.persistentService.retailData.isAutoshipEdit = true;\n        }\n        this.persistentService.retailData.getAutoOrderDetailsByID = {\n            id: id,\n            isPaid : IsPaid\n        };\n        this.autoShipId = id;\n        this.utilityService.setAutoshipEditFlag(true);\n    }\n\n    createAutoship() {\n        this.utilityService.setAutoshipEditFlag(false);\n        this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n        this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n        this.persistentService.retailData.editAutoshipItems = [];\n        this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n        this.router.navigate(['products/all'], { skipLocationChange: false });\n    }\n}\n","export default \"#manageAutoship {\\n  display: block;\\n}\\n\\n#manageAutoship .bgm-lightgrey {\\n  background-color: #eeeded !important;\\n}\\n\\n#manageAutoship .managebottom-btn {\\n  padding-bottom: 70px;\\n}\\n\\n#manageAutoship .popover.customToolTipClass {\\n  background-color: #333;\\n  border: #333;\\n}\\n\\n#manageAutoship .popover.customToolTipClass .popover-inner {\\n  color: #fafafa;\\n  background-color: #333;\\n  text-align: left;\\n  padding: 5px 5px 15px 5px;\\n}\\n\\n#manageAutoship .popover.customToolTipClass .arrow {\\n  display: none;\\n}\\n\\n#manageAutoship .p-page {\\n  position: relative;\\n}\\n\\n#manageAutoship .p-page--large {\\n  max-width: 1030px;\\n  margin-left: auto;\\n  margin-right: auto;\\n}\\n\\n::ng-deep .mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\\n  background-color: var(--theme-deafult-secondary) !important;\\n  color: white !important;\\n}\\n\\n#manageAutoship .h1,\\n#manageAutoship .h2,\\n#manageAutoship h1,\\n#manageAutoship h2 {\\n  font-size: 22px;\\n}\\n\\n#manageAutoship h1,\\n#manageAutoship h2,\\n#manageAutoship h3,\\n#manageAutoship h4,\\n#manageAutoship h5,\\n#manageAutoship h6 {\\n  margin: 0;\\n  font-weight: 400;\\n}\\n\\n#manageAutoship .mat-card {\\n  padding: 0px !important;\\n}\\n\\n#manageAutoship .card1 {\\n  background: #fff;\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), 0 2px 10px rgba(0, 0, 0, 0.12);\\n  display: flex;\\n  flex-direction: column;\\n  position: relative;\\n  /* margin-bottom: 10px */\\n}\\n\\n#manageAutoship .b-b {\\n  border-bottom: 1px solid #cfcfcf !important;\\n}\\n\\n#manageAutoship .p-t-8 {\\n  padding-top: 8px !important;\\n}\\n\\n#manageAutoship .break-word-all {\\n  word-break: break-all;\\n}\\n\\n#manageAutoship .bgm-white {\\n  background-color: #fff !important;\\n}\\n\\n#manageAutoship .b-t {\\n  border-top: 1px solid #cfcfcf !important;\\n}\\n\\n#manageAutoship .table > thead > tr > th {\\n  vertical-align: bottom;\\n  border-bottom: 2px solid #cfcfcf;\\n}\\n\\n#manageAutoship .table th {\\n  vertical-align: middle;\\n  font-weight: 500;\\n  color: #333;\\n  border-width: 1px;\\n}\\n\\n#manageAutoship .table > tbody > tr > td,\\n#manageAutoship .table > tbody > tr > th,\\n#manageAutoship .table > tfoot > tr > td,\\n#manageAutoship .table > tfoot > tr > th,\\n#manageAutoship .table > thead > tr > td {\\n  padding: 13px;\\n  line-height: 1.42857;\\n  vertical-align: top;\\n  border-top: 1px solid #cfcfcf;\\n}\\n\\n#manageAutoship .card-footer1,\\n#manageAutoship .card-footer1--link {\\n  padding: 16px;\\n}\\n\\n#manageAutoship .h-w-56 {\\n  height: 56px;\\n  width: 56px;\\n}\\n\\n#manageAutoship .btn-icon .zmdi {\\n  font-size: 22px;\\n  line-height: 40px;\\n}\\n\\n#manageAutoship .empty_state {\\n  color: #000;\\n  font-size: 30px;\\n  text-align: left;\\n  position: initial;\\n  display: inline;\\n  float: left;\\n  font-family: Roboto;\\n  opacity: 0.54;\\n}\\n\\n#manageAutoship .common_placeholder {\\n  color: #000;\\n  font-size: 30px;\\n  width: 100%;\\n  text-align: center;\\n  height: auto;\\n  min-height: 40vh;\\n  font-family: Roboto;\\n  opacity: 0.54;\\n}\\n\\n#manageAutoship .position-static {\\n  position: static;\\n}\\n\\n#manageAutoship button.bounce-animate {\\n  animation-name: bounce;\\n  animation-duration: 0.8s;\\n  animation-delay: 3s;\\n  animation-iteration-count: 3;\\n  animation-timing-function: ease-in-out;\\n}\\n\\n#manageAutoship .title {\\n  padding-top: 10px;\\n  padding-bottom: 10px;\\n  font-size: 25px;\\n  font-weight: 800;\\n}\\n\\n#manageAutoship .single-card {\\n  background: black;\\n  color: #fff;\\n}\\n\\n#ds_application .md-card {\\n  box-sizing: border-box;\\n  flex-direction: column;\\n  margin: 8px;\\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);\\n  color: rgba(0, 0, 0, 0.87);\\n  background-color: #fff;\\n  border-radius: 2px;\\n}\\n\\n#ds_application .help-block {\\n  position: absolute;\\n}\\n\\n#ds_application span > a {\\n  color: red;\\n}\\n\\n#ds_application .ds-checkbox + .help-block {\\n  margin-bottom: 0;\\n  position: relative !important;\\n  clear: both;\\n}\\n\\n#ds_application .card-flatter {\\n  box-shadow: none;\\n}\\n\\n#ds_application .md-headline {\\n  font-size: 20px;\\n  font-weight: 400;\\n  line-height: 32px;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n  #ds_application .ds-card__header {\\n    padding-left: 15px;\\n    padding-right: 15px;\\n  }\\n}\\n\\n#ds_application .welcome_title {\\n  font-weight: bolder;\\n  font-size: 45px;\\n  font-style: italic;\\n  color: #000;\\n}\\n\\n@media only screen and (max-width: 767px) {\\n  #ds_application .welcome_title {\\n    font-size: 35px;\\n  }\\n}\\n\\n#ds_application .ds-card--flatter {\\n  box-shadow: none;\\n}\\n\\n#ds_application .mat-button {\\n  padding: 8px 30px;\\n  font-size: 18px;\\n}\\n\\n#ds_application .disabled-step {\\n  cursor: default;\\n  opacity: 0.3;\\n}\\n\\n#ds_application .step-head {\\n  display: flex;\\n  flex-direction: row;\\n  justify-content: space-between;\\n}\\n\\n#ds_application .find-enroller .align-center {\\n  text-align: center;\\n}\\n\\n#ds_application mat-content .card1 {\\n  width: 100%;\\n  float: left;\\n}\\n\\n@media screen and (max-width: 599px) {\\n  #ds_application .taxId_info {\\n    margin: 0 !important;\\n  }\\n\\n  #ds_application .what_shipping_address {\\n    margin-top: 20px;\\n  }\\n}\\n\\n.text-muted {\\n  color: #777 !important;\\n}\\n\\n.word_break {\\n  word-break: break-all;\\n}\\n\\n.overflow-initial {\\n  overflow: initial;\\n}\\n\\n.widgetTooltip {\\n  font-size: 20px;\\n}\\n\\n@media only screen and (max-width: 425px) {\\n  .widgetTooltip {\\n    font-size: 18px;\\n  }\\n\\n  .widgetTooltip.c-gray {\\n    font-size: 14px;\\n  }\\n\\n  .mob-font-12 {\\n    font-size: 12px;\\n  }\\n\\n  .left-40 {\\n    left: 30px;\\n  }\\n\\n  .ds-field__label {\\n    font-size: 12px;\\n  }\\n\\n  .ds-field--is-dirty .ds-field__label,\\n.ds-field__input:focus ~ .ds-field__label {\\n    font-size: 10px;\\n    bottom: 25px;\\n  }\\n}\\n\\n@media only screen and (max-width: 375px) {\\n  .left-40 {\\n    left: 45px;\\n  }\\n}\\n\\n@media only screen and (max-width: 320px) {\\n  .left-40 {\\n    left: 40px;\\n  }\\n\\n  .ds-carts__grid-wrapper {\\n    width: 100%;\\n  }\\n\\n  .ds-product__item {\\n    width: 100%;\\n  }\\n\\n  .ds-product__item__image img {\\n    height: auto;\\n    width: 100%;\\n  }\\n\\n  .mob-t-20 {\\n    margin-top: 20px !important;\\n  }\\n\\n  .ds-row + .ds-row {\\n    margin-top: 15px;\\n  }\\n}\\n\\n.reffered_by {\\n  float: left;\\n  margin-top: -3px;\\n  margin-right: 5px;\\n}\\n\\n.m-t-7 {\\n  margin-top: 7px;\\n}\\n\\nds-product {\\n  border: 1px solid #d3d3d3;\\n  border-bottom: 1px solid #d3d3d3;\\n}\\n\\nds-product {\\n  margin: 7px 5px;\\n}\\n\\n#ds_application2 {\\n  margin-top: 8px;\\n  font-family: Helvetica Neue !important;\\n}\\n\\n#ds_application2 .step_collapsed {\\n  font-size: 13px !important;\\n  font-weight: 400 !important;\\n  line-height: 18px !important;\\n  opacity: 0.7 !important;\\n}\\n\\n#ds_application2 .md-card {\\n  box-sizing: border-box;\\n  flex-direction: column;\\n  margin: 8px;\\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);\\n  color: rgba(0, 0, 0, 0.87);\\n  background-color: #fff;\\n  border-radius: 2px;\\n}\\n\\n.table-responsive {\\n  overflow-y: hidden;\\n  overflow-x: auto;\\n}\\n\\ntable {\\n  width: 100%;\\n  max-width: 100%;\\n  table-layout: auto;\\n}\\n\\n.fixed {\\n  /* table-layout: fixed; */\\n}\\n\\ntable,\\ntd,\\nth {\\n  border-collapse: collapse;\\n}\\n\\nth,\\ntd {\\n  padding: 10px;\\n  border-bottom: solid 1px;\\n  text-align: center;\\n}\\n\\n.w {\\n  width: 350px;\\n}\\n\\n#ds_application2 .mat-card-footer {\\n  display: block;\\n  padding: 16px 16px 16px 16px;\\n  margin: 0px;\\n}\\n\\n.mat-fab-bottom-right {\\n  position: absolute !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21hbmFnZS1hdXRvc2hpcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNDLGNBQUE7QUFDRDs7QUFFQTtFQUNDLG9DQUFBO0FBQ0Q7O0FBRUE7RUFDQyxvQkFBQTtBQUNEOztBQUVBO0VBQ0Msc0JBQUE7RUFDQSxZQUFBO0FBQ0Q7O0FBRUE7RUFDQyxjQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0FBQ0Q7O0FBRUE7RUFDQyxhQUFBO0FBQ0Q7O0FBRUE7RUFFQyxrQkFBQTtBQUFEOztBQUdBO0VBQ0MsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FBQUQ7O0FBRUE7RUFDQywyREFBQTtFQUNBLHVCQUFBO0FBQ0Q7O0FBQ0E7Ozs7RUFJQyxlQUFBO0FBRUQ7O0FBQ0E7Ozs7OztFQU1DLFNBQUE7RUFDQSxnQkFBQTtBQUVEOztBQUFBO0VBQ0MsdUJBQUE7QUFHRDs7QUFEQTtFQUNDLGdCQUFBO0VBQ0Esd0VBQUE7RUFFQSxhQUFBO0VBRUEsc0JBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0FBSUQ7O0FBRUE7RUFDQywyQ0FBQTtBQUNEOztBQUdBO0VBQ0MsMkJBQUE7QUFBRDs7QUFHQTtFQUNDLHFCQUFBO0FBQUQ7O0FBRUE7RUFDSSxpQ0FBQTtBQUNKOztBQUNBO0VBQ0Msd0NBQUE7QUFFRDs7QUFDQTtFQUNDLHNCQUFBO0VBQ0EsZ0NBQUE7QUFFRDs7QUFDQTtFQUNDLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QUFFRDs7QUFDQTs7Ozs7RUFLQyxhQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0FBRUQ7O0FBQ0E7O0VBRUMsYUFBQTtBQUVEOztBQUNBO0VBQ0MsWUFBQTtFQUNBLFdBQUE7QUFFRDs7QUFDQTtFQUNDLGVBQUE7RUFDQSxpQkFBQTtBQUVEOztBQUNBO0VBQ0MsV0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFB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SkU7RUFDRCxZQUFBO0FBT0Q7O0FBSkU7RUFDRSxjQUFBO0VBQ0EsNEJBQUE7RUFDQSxXQUFBO0FBT0o7O0FBSkE7RUFDQyw2QkFBQTtBQU9EIiwiZmlsZSI6Im1hbmFnZS1hdXRvc2hpcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiNtYW5hZ2VBdXRvc2hpcCB7XG5cdGRpc3BsYXk6IGJsb2NrXG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAuYmdtLWxpZ2h0Z3JleSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlZWVkZWQhaW1wb3J0YW50XG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAubWFuYWdlYm90dG9tLWJ0biB7XG5cdHBhZGRpbmctYm90dG9tOiA3MHB4XG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAucG9wb3Zlci5jdXN0b21Ub29sVGlwQ2xhc3Mge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuXHRib3JkZXI6ICMzMzNcbn1cblxuI21hbmFnZUF1dG9zaGlwIC5wb3BvdmVyLmN1c3RvbVRvb2xUaXBDbGFzcyAucG9wb3Zlci1pbm5lciB7XG5cdGNvbG9yOiAjZmFmYWZhO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRwYWRkaW5nOiA1cHggNXB4IDE1cHggNXB4XG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAucG9wb3Zlci5jdXN0b21Ub29sVGlwQ2xhc3MgLmFycm93IHtcblx0ZGlzcGxheTogbm9uZVxufVxuXG4jbWFuYWdlQXV0b3NoaXAgLnAtcGFnZSB7XG5cdC8vIHBhZGRpbmc6IDEwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4jbWFuYWdlQXV0b3NoaXAgLnAtcGFnZS0tbGFyZ2Uge1xuXHRtYXgtd2lkdGg6IDEwMzBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0b1xufVxuOjpuZy1kZWVwIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCwgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQsIC5tYXQtZmFiLm1hdC1hY2NlbnQsIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuI21hbmFnZUF1dG9zaGlwIC5oMSxcbiNtYW5hZ2VBdXRvc2hpcCAuaDIsXG4jbWFuYWdlQXV0b3NoaXAgaDEsXG4jbWFuYWdlQXV0b3NoaXAgaDIge1xuXHRmb250LXNpemU6IDIycHhcbn1cblxuI21hbmFnZUF1dG9zaGlwIGgxLFxuI21hbmFnZUF1dG9zaGlwIGgyLFxuI21hbmFnZUF1dG9zaGlwIGgzLFxuI21hbmFnZUF1dG9zaGlwIGg0LFxuI21hbmFnZUF1dG9zaGlwIGg1LFxuI21hbmFnZUF1dG9zaGlwIGg2IHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXdlaWdodDogNDAwXG59XG4jbWFuYWdlQXV0b3NoaXAgLm1hdC1jYXJke1xuXHRwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cbiNtYW5hZ2VBdXRvc2hpcCAuY2FyZDEge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMTIpO1xuXHRkaXNwbGF5OiAtbXMtZmxleGJveDtcblx0ZGlzcGxheTogZmxleDtcblx0LW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LyogbWFyZ2luLWJvdHRvbTogMTBweCAqL1xufVxuXG4jbWFuYWdlQXV0b3NoaXAgLmNhcmQtYm9keTEge1xufVxuXG4jbWFuYWdlQXV0b3NoaXAgLmItYntcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZmNmY2YhaW1wb3J0YW50XG59XG5cblxuI21hbmFnZUF1dG9zaGlwIC5wLXQtOCB7XG5cdHBhZGRpbmctdG9wOiA4cHghaW1wb3J0YW50XG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAuYnJlYWstd29yZC1hbGwge1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGxcbn1cbiNtYW5hZ2VBdXRvc2hpcCAuYmdtLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmIWltcG9ydGFudDtcbn1cbiNtYW5hZ2VBdXRvc2hpcCAuYi10IHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmNmY2YhaW1wb3J0YW50XG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAudGFibGU+dGhlYWQ+dHI+dGgge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2NmY2ZjZlxufVxuXG4jbWFuYWdlQXV0b3NoaXAgLnRhYmxlIHRoIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6ICMzMzM7XG5cdGJvcmRlci13aWR0aDogMXB4XG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAudGFibGU+dGJvZHk+dHI+dGQsXG4jbWFuYWdlQXV0b3NoaXAgLnRhYmxlPnRib2R5PnRyPnRoLFxuI21hbmFnZUF1dG9zaGlwIC50YWJsZT50Zm9vdD50cj50ZCxcbiNtYW5hZ2VBdXRvc2hpcCAudGFibGU+dGZvb3Q+dHI+dGgsXG4jbWFuYWdlQXV0b3NoaXAgLnRhYmxlPnRoZWFkPnRyPnRkIHtcblx0cGFkZGluZzogMTNweDtcblx0bGluZS1oZWlnaHQ6IDEuNDI4NTc7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2ZjZmNmXG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAuY2FyZC1mb290ZXIxLFxuI21hbmFnZUF1dG9zaGlwIC5jYXJkLWZvb3RlcjEtLWxpbmsge1xuXHRwYWRkaW5nOiAxNnB4O1xufVxuXG4jbWFuYWdlQXV0b3NoaXAgLmgtdy01NiB7XG5cdGhlaWdodDogNTZweDtcblx0d2lkdGg6IDU2cHhcbn1cblxuI21hbmFnZUF1dG9zaGlwIC5idG4taWNvbiAuem1kaSB7XG5cdGZvbnQtc2l6ZTogMjJweDtcblx0bGluZS1oZWlnaHQ6IDQwcHhcbn1cblxuI21hbmFnZUF1dG9zaGlwIC5lbXB0eV9zdGF0ZSB7XG5cdGNvbG9yOiAjMDAwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBvc2l0aW9uOiBpbml0aWFsO1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRmb250LWZhbWlseTogUm9ib3RvO1xuXHRvcGFjaXR5OiAuNTRcbn1cblxuI21hbmFnZUF1dG9zaGlwIC5jb21tb25fcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogIzAwMDtcblx0Zm9udC1zaXplOiAzMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1pbi1oZWlnaHQ6IDQwdmg7XG5cdGZvbnQtZmFtaWx5OiBSb2JvdG87XG5cdG9wYWNpdHk6IC41NFxufVxuXG4jbWFuYWdlQXV0b3NoaXAgLnBvc2l0aW9uLXN0YXRpYyB7XG5cdHBvc2l0aW9uOiBzdGF0aWNcbn1cblxuI21hbmFnZUF1dG9zaGlwIGJ1dHRvbi5ib3VuY2UtYW5pbWF0ZSAge1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlO1xuXHRhbmltYXRpb24tZHVyYXRpb246IC44cztcblx0YW5pbWF0aW9uLWRlbGF5OiAzcztcblx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMztcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXRcbn1cblxuI21hbmFnZUF1dG9zaGlwIC50aXRsZSB7XG5cdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0Zm9udC1zaXplOiAyNXB4O1xuXHRmb250LXdlaWdodDogODAwXG59XG5cbiNtYW5hZ2VBdXRvc2hpcCAuc2luZ2xlLWNhcmQge1xuXHRiYWNrZ3JvdW5kOiBibGFjaztcblx0Y29sb3I6ICNmZmZcbn1cblxuI2RzX2FwcGxpY2F0aW9uIC5tZC1jYXJkIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbjogOHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIC4xMik7XG5cdGNvbG9yOiByZ2JhKDAsIDAsIDAsIC44Nyk7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJvcmRlci1yYWRpdXM6IDJweFxufVxuXG4jZHNfYXBwbGljYXRpb24gLmhlbHAtYmxvY2sge1xuXHRwb3NpdGlvbjogYWJzb2x1dGVcbn1cblxuI2RzX2FwcGxpY2F0aW9uIHNwYW4+YSB7XG5cdGNvbG9yOiByZWRcbn1cblxuI2RzX2FwcGxpY2F0aW9uIC5kcy1jaGVja2JveCsuaGVscC1ibG9jayB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG5cdGNsZWFyOiBib3RoXG59XG5cbiNkc19hcHBsaWNhdGlvbiAuY2FyZC1mbGF0dGVyIHtcblx0Ym94LXNoYWRvdzogbm9uZVxufVxuXG4jZHNfYXBwbGljYXRpb24gLm1kLWhlYWRsaW5lIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMzJweFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0I2RzX2FwcGxpY2F0aW9uIC5kcy1jYXJkX19oZWFkZXIge1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4XG5cdH1cbn1cblxuI2RzX2FwcGxpY2F0aW9uIC53ZWxjb21lX3RpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcblx0Zm9udC1zaXplOiA0NXB4O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiAjMDAwXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1xuXHQjZHNfYXBwbGljYXRpb24gLndlbGNvbWVfdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMzVweFxuXHR9XG59XG5cbiNkc19hcHBsaWNhdGlvbiAuZHMtY2FyZC0tZmxhdHRlciB7XG5cdGJveC1zaGFkb3c6IG5vbmVcbn1cblxuI2RzX2FwcGxpY2F0aW9uIC5tYXQtYnV0dG9uIHtcblx0cGFkZGluZzogOHB4IDMwcHg7XG5cdGZvbnQtc2l6ZTogMThweFxufVxuXG4jZHNfYXBwbGljYXRpb24gLmRpc2FibGVkLXN0ZXAge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdG9wYWNpdHk6IC4zXG59XG5cbiNkc19hcHBsaWNhdGlvbiAuc3RlcC1oZWFkIHtcblx0ZGlzcGxheTogLW1zLWZsZXhib3g7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHQtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW5cbn1cblxuI2RzX2FwcGxpY2F0aW9uIC5maW5kLWVucm9sbGVyIC5hbGlnbi1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXJcbn1cblxuI2RzX2FwcGxpY2F0aW9uIG1hdC1jb250ZW50IC5jYXJkMSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmbG9hdDogbGVmdFxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU5OXB4KSB7XG5cdCNkc19hcHBsaWNhdGlvbiAudGF4SWRfaW5mbyB7XG5cdFx0bWFyZ2luOiAwIWltcG9ydGFudFxuXHR9XG5cdCNkc19hcHBsaWNhdGlvbiAud2hhdF9zaGlwcGluZ19hZGRyZXNzIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4XG5cdH1cbn1cblxuLnRleHQtbXV0ZWQge1xuXHRjb2xvcjogIzc3NyFpbXBvcnRhbnRcbn1cblxuLndvcmRfYnJlYWsge1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGxcbn1cblxuLm92ZXJmbG93LWluaXRpYWwge1xuXHRvdmVyZmxvdzogaW5pdGlhbFxufVxuXG4ud2lkZ2V0VG9vbHRpcCB7XG5cdGZvbnQtc2l6ZTogMjBweFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDI1cHgpIHtcblx0LndpZGdldFRvb2x0aXAge1xuXHRcdGZvbnQtc2l6ZTogMThweFxuXHR9XG5cdC53aWRnZXRUb29sdGlwLmMtZ3JheSB7XG5cdFx0Zm9udC1zaXplOiAxNHB4XG5cdH1cblx0Lm1vYi1mb250LTEyIHtcblx0XHRmb250LXNpemU6IDEycHhcblx0fVxuXHQubGVmdC00MCB7XG5cdFx0bGVmdDogMzBweFxuXHR9XG5cdC5kcy1maWVsZF9fbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMTJweFxuXHR9XG5cdC5kcy1maWVsZC0taXMtZGlydHkgLmRzLWZpZWxkX19sYWJlbCxcblx0LmRzLWZpZWxkX19pbnB1dDpmb2N1c34uZHMtZmllbGRfX2xhYmVsIHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Ym90dG9tOiAyNXB4XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM3NXB4KSB7XG5cdC5sZWZ0LTQwIHtcblx0XHRsZWZ0OiA0NXB4XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyMHB4KSB7XG5cdC5sZWZ0LTQwIHtcblx0XHRsZWZ0OiA0MHB4XG5cdH1cblx0LmRzLWNhcnRzX19ncmlkLXdyYXBwZXIge1xuXHRcdHdpZHRoOiAxMDAlXG5cdH1cblx0LmRzLXByb2R1Y3RfX2l0ZW0ge1xuXHRcdHdpZHRoOiAxMDAlXG5cdH1cblx0LmRzLXByb2R1Y3RfX2l0ZW1fX2ltYWdlIGltZyB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiAxMDAlXG5cdH1cblx0Lm1vYi10LTIwIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4IWltcG9ydGFudFxuXHR9XG5cdC5kcy1yb3crLmRzLXJvdyB7XG5cdFx0bWFyZ2luLXRvcDogMTVweFxuXHR9XG59XG5cbi5yZWZmZXJlZF9ieSB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tdG9wOiAtM3B4O1xuXHRtYXJnaW4tcmlnaHQ6IDVweFxufVxuXG4ubS10LTcge1xuXHRtYXJnaW4tdG9wOiA3cHhcbn1cblxuZHMtcHJvZHVjdCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzXG59XG5cbmRzLXByb2R1Y3Qge1xuXHRtYXJnaW46IDdweCA1cHhcbn1cblxuI2RzX2FwcGxpY2F0aW9uMiB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0Zm9udC1mYW1pbHk6IEhlbHZldGljYSBOZXVlIWltcG9ydGFudFxufVxuXG4jZHNfYXBwbGljYXRpb24yIC5zdGVwX2NvbGxhcHNlZCB7XG5cdGZvbnQtc2l6ZTogMTNweCFpbXBvcnRhbnQ7XG5cdGZvbnQtd2VpZ2h0OiA0MDAhaW1wb3J0YW50O1xuXHRsaW5lLWhlaWdodDogMThweCFpbXBvcnRhbnQ7XG5cdG9wYWNpdHk6IC43IWltcG9ydGFudFxufVxuXG4jZHNfYXBwbGljYXRpb24yIC5tZC1jYXJkIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbjogOHB4O1xuXHRib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIC4xMik7XG5cdGNvbG9yOiByZ2JhKDAsIDAsIDAsIC44Nyk7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJvcmRlci1yYWRpdXM6IDJweFxufVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG5cdG92ZXJmbG93LXk6IGhpZGRlbjtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cblxudGFibGUge1xuXHR3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cdHRhYmxlLWxheW91dDogYXV0bztcbiAgfVxuICBcbiAgLmZpeGVkIHtcblx0LyogdGFibGUtbGF5b3V0OiBmaXhlZDsgKi9cbiAgfVxuICBcbiAgdGFibGUsXG4gIHRkLFxuICB0aCB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cbiAgXG4gIHRoLFxuICB0ZCB7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIFxuICAudyB7XG5cdHdpZHRoOiAzNTBweDtcbiAgfVxuXG4gICNkc19hcHBsaWNhdGlvbjIgLm1hdC1jYXJkLWZvb3RlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTZweCAxNnB4IDE2cHggMTZweDtcbiAgICBtYXJnaW46IDBweDtcbn1cblxuLm1hdC1mYWItYm90dG9tLXJpZ2h0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbiJdfQ== */\";","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'removestar'\n})\nexport class RemoveStarPipe implements PipeTransform {\n\ttransform(value) {\n\t\tif (!value) {\n\t\t\treturn '';\n\t\t}\n\t\treturn value.replace(/[&/\\\\#,+()$~%.'\":*?<>{}]/g, '');\n\t}\n}","export default \"<div class=\\\"product-dialog\\\">\\n\\n  <button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n    <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n  </button>\\n  <div mat-dialog-title>\\n\\n  </div>\\n  <div mat-dialog-content>\\n    <div fxLayout=\\\"row wrap\\\">\\n      <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"50\\\">\\n        <div class=\\\"swiper-container h-100\\\">\\n          <div class=\\\"swiper-wrapper img-parent\\\">\\n            <img [default]=\\\"'assets/images/product/no-img.png'\\\"\\n              [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory/'+product?.ImageUrl\\\" alt=\\\"\\\"\\n              class=\\\"img-fluid\\\">\\n          </div>\\n        </div>\\n      </div>\\n      <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"50\\\" ngClass.gt-sm=\\\"px-2 m-0\\\" ngClass.sm=\\\"mt-2\\\" ngClass.xs=\\\"mt-2\\\">\\n        <div class=\\\"product-right\\\">\\n          <div class=\\\"product-details\\\">\\n            <h2 class=\\\"mb-10\\\">{{product?.ProductName}}</h2>\\n            <h4 class=\\\"mb-10\\\"><del>{{product?.OriginalPrice |\\n                currency:companyService.selectedCurrency.CurrencyCode}}</del></h4>\\n            <h3 class=\\\"price mb-10\\\"\\n              [textContent]=\\\"getPrice(product, OrderQuantityCount) | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n            </h3>\\n            <div class=\\\"discription\\\">\\n              <p class=\\\"bold\\\">Product details</p>\\n              <p class=\\\"text-muted productDescription\\\" [innerHTML]=\\\"product?.Description\\\"></p>\\n            </div>\\n          </div>\\n          <div class=\\\"py-1 mt-15\\\" *ngIf=\\\"product?.HasOptions\\\">\\n            <div *ngIf=\\\"product?.ItemOptions && product?.ItemOptions.length>0\\\">\\n              <ng-container *ngFor=\\\"let option of product?.ItemOptions; let i = index\\\">\\n                <div class=\\\"m-0 p-20-0 custom-size\\\">\\n                  <p [textContent]=\\\"option.Option\\\"></p>\\n                  <mat-select readonly=\\\"true\\\" [(ngModel)]=\\\"value[i]\\\"\\n                    (selectionChange)=\\\"checkOptions(product?.ItemOptions);\\\" name=\\\"value.Option\\\"\\n                    placeholder=\\\"Select {{option.Option}}\\\" (click)=\\\"openSelect($event)\\\" class=\\\"md-no-underline-select\\\">\\n\\n                    <mat-option *ngFor=\\\"let value of getValidValues(product, option, option.Values)\\\"\\n                      (ngInit)=\\\"setInitialItemOption(option, value)\\\" [value]=\\\"value.Option\\\"\\n                      (click)=\\\"value.isAvailable && selectOption(product, option, value, false)\\\">\\n                      {{value.Option}} </mat-option>\\n                  </mat-select>\\n                </div>\\n              </ng-container>\\n            </div>\\n          </div>\\n          <div class=\\\"\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n            <div class=\\\"quantity mt-15\\\">\\n              <span class=\\\"text-muted fw-500\\\">Quantity</span>\\n              <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" class=\\\"text-muted mt-15\\\">\\n                <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center start\\\">\\n                  <button [disabled]=\\\"(!isOptionsSelected && product?.ItemOptions.length>0)\\\" mat-icon-button\\n                    matTooltip=\\\"Remove\\\" (click)=\\\"decreaseQuantity()\\\">\\n                    <mat-icon>remove</mat-icon>\\n                  </button>\\n                  <input [(ngModel)]=\\\"OrderQuantityCount\\\" maxlength=\\\"2\\\" validate\\n                    [disabled]=\\\"!isOptionsSelected && product?.ItemOptions.length>0\\\" inputonlynumber=\\\"true\\\"\\n                    name=\\\"quantity\\\" (keyup)=\\\"($event.which === 38) ? increaseQuantity() : 0\\\"\\n                    (keydown)=\\\"($event.which === 40) ? decreaseQuantity() : 0\\\" class=\\\"form-control input-number\\\">\\n                  <button [disabled]=\\\"(!isOptionsSelected && product?.ItemOptions.length>0)\\\" mat-icon-button\\n                    matTooltip=\\\"Add\\\" (click)=\\\"increaseQuantity()\\\">\\n                    <mat-icon>add</mat-icon>\\n                  </button>\\n                </div>\\n              </div>\\n            </div>\\n\\n          </div>\\n          <div>\\n            <button [disabled]=\\\"product?.HasOptions && !isOptionsSelected && product?.ItemOptions.length>0\\\"\\n              mat-raised-button color=\\\"primary\\\" class=\\\"btn-project mr-10\\\"\\n              (click)=\\\"buyButtonEnabled() && addToCart('', product)\\\" translate=\\\"\\\">{{'global_addtocart' |\\n              translate}}</button>\\n           </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n\\n</div>\";","import { ApplicationInitStatus, APP_INITIALIZER, Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Settings, AppSettings } from './components/shared/services/color-option.service';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MarketSelectorComponent } from './components/shared/model/market-selector/market-selector.component';\nimport { ConfigService } from './components/shared/services/config.service';\nimport { UserService } from './components/shared/services/user.service';\nimport { PersistentService } from './components/shared/services/persistent.service';\n\n@Component({\n  selector: 'app-root',\n  templateUrl: './app.component.html',\n  styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n\n  title = 'retail';\n  public settings: Settings;\n  public url: any;\n  constructor(\n    @Inject(APP_INITIALIZER) public appInit: ApplicationInitStatus,\n    public configService: ConfigService,\n    private dialog: MatDialog,\n    private spinner: NgxSpinnerService,\n    public appSettings: AppSettings,\n    public router: Router,\n    private translate: TranslateService,\n    public userService: UserService,\n    public persistent: PersistentService\n    ) {\n\n    // the lang to use, if the lang isn't available, it will use the current loader to get them\n    if(sessionStorage.getItem('selectedLanguageCode')){\n      translate.setDefaultLang(sessionStorage.getItem('selectedLanguageCode'));\n      translate.use(sessionStorage.getItem('selectedLanguageCode'));\n    }else{\n      translate.setDefaultLang('en');\n      translate.use('en');\n    }\n    this.settings = this.appSettings.settings;\n    this.router.events.subscribe((event) => {\n      if (event instanceof NavigationEnd) {\n        this.url = event.url;\n      }\n    });\n  }\n  @HostListener('window:beforeunload', ['$event']) unloadHandler(event: Event) {\n    localStorage.setItem('userService', JSON.stringify(this.userService.userServiceModal));\n    localStorage.setItem('retailData', JSON.stringify(this.persistent.retailData));\n  }\n\n  ngOnInit() {\n    /** spinner starts on init */\n    this.spinner.show();\n\n    setTimeout(() => {\n      /** spinner ends after 5 seconds */\n      this.spinner.hide();\n    }, 5000);\n\n    this.router.events.subscribe((evt) => {\n      if (!(evt instanceof NavigationEnd)) {\n        return;\n      }\n      window.scrollTo(0, 0);\n      // this.showMarketSelector();\n    });\n    document.documentElement.style.setProperty('--theme-deafult', '#FFA500');\n  }\n  showMarketSelector() {\n    if (!(sessionStorage.getItem('IsMarketCountrySelected') === 'true')) {\n      const dialogRef = this.dialog.open(MarketSelectorComponent, {\n        maxWidth: '400px',\n        data: {},\n        panelClass: 'marketselector-dialog-container',\n        disableClose: true\n\n      });\n\n      dialogRef.afterClosed().subscribe(dialogResult => {\n        const result = dialogResult;\n      });\n    }\n  }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'productSearch',\n    pure: false\n})\nexport class ProductSearchPipe implements PipeTransform {\n    transform(items: any[], filter: string): any {\n        if (!items || !filter) {\n            return items;\n        }\n        // filter items array, items which match and return true will be\n        // kept, false will be filtered out\n        return items.filter(item => {\n            return (item.ProductName?.toLowerCase().indexOf(filter.toLowerCase()) > -1)  ||  (item.Description?.toLowerCase().indexOf(filter.toLowerCase()) > -1) || (item.SKU?.toLowerCase().indexOf(filter.toLowerCase()) > -1);\n        });\n    }\n}\n","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ShippingAddress, UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { State } from 'src/app/modals/state.modal';\nimport { RestApiService } from '../../services/restapi.service';\nimport { UserService } from '../../services/user.service';\n\n@Component({\n  selector: 'app-shipping-address-dialog',\n  templateUrl: './shipping-address-dialog.component.html',\n  styleUrls: ['./shipping-address-dialog.component.scss']\n})\nexport class ShippingAddressDialogComponent implements OnInit {\n  IsDialogMax: boolean = false;\n  hostHeight: any;\n  hostWidth: any;\n  differentAddressShow: boolean = false;\n  public newShipping: ShippingAddress = {} as ShippingAddress;\n  newAddressSelected: boolean = false;\n  defaultAddress: any = {};\n  userService: UserServiceModal;\n  public allowedCountries: any = [];\n  states: Array<State> = [];\n  constructor(\n    public dialogRef: MatDialogRef<any>,\n    public matDialogRef: MatDialogRef<ShippingAddressDialogComponent>,\n    public user: UserService,\n    public apiService: RestApiService\n  ) {\n    this.defaultAddress = this.user.userServiceModal.shippingAddress;\n    this.userService = this.user.userServiceModal;\n  }\n\n  ngOnInit(): void {\n    this.apiService.getActiveCountries().subscribe(data => {\n      this.allowedCountries = data.Data;\n      this.getCountryState(this.newShipping.CountryCode || 'US');\n    }, () => { });\n\n  }\n  getCountryState(country?: string) {\n    this.apiService.getStates(country || 'US').subscribe((result) => {\n      sessionStorage.setItem((country || 'US') + 'State', JSON.stringify(result.Data));\n      this.states = result.Data;\n    },\n      (error) => {\n      }, () => {\n\n      });\n  }\n  onClickDifferentAddress(checked) {\n    this.differentAddressShow = checked;\n    this.newAddressSelected = checked;\n  }\n  saveNewAddress() {\n    this.matDialogRef.close({ address: this.newShipping, isReplacement: true });\n  }\n  close() {\n    this.matDialogRef.close({ address: this.newShipping, isReplacement: false });\n  }\n\n}\n","export default \".product-item-2 .color1-f-s-10 {\\n  color: #ffa500;\\n  font-size: 10px;\\n  font-family: roboto;\\n  margin: 10px 0px;\\n}\\n.product-item-2 .color-f-s-10 {\\n  color: #ffa500;\\n  font-size: 10px;\\n  font-family: roboto;\\n}\\n.product-item-2 .l-20 {\\n  left: -20px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2R1Y3QtY2Fyb3VzZWwtdGhyZWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0k7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUFBUjtBQUVJO0VBQ0ksY0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtBQUFSO0FBRUk7RUFDSSxXQUFBO0FBQVIiLCJmaWxlIjoicHJvZHVjdC1jYXJvdXNlbC10aHJlZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9kdWN0LWl0ZW0tMiB7XG4gICAgLmNvbG9yMS1mLXMtMTAge1xuICAgICAgICBjb2xvcjogI2ZmYTUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogcm9ib3RvO1xuICAgICAgICBtYXJnaW46IDEwcHggMHB4O1xuICAgIH1cbiAgICAuY29sb3ItZi1zLTEwIHtcbiAgICAgICAgY29sb3I6ICNmZmE1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgICB9XG4gICAgLmwtMjAge1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICB9XG59Il19 */\";","export default \"#hover .txt-center {\\n  text-align: center;\\n}\\n#hover div:hover {\\n  cursor: pointer;\\n  background-color: var(--theme-deafult-secondary);\\n  width: 85px;\\n  padding: 7px;\\n  border-radius: 15px;\\n  text-align: center;\\n  margin-left: 120px;\\n  margin-top: 20px;\\n  color: white;\\n}\\n#hover div {\\n  background-color: var(--theme-deafult-secondary);\\n  width: 85px;\\n  padding: 7px;\\n  border-radius: 15px;\\n  text-align: center;\\n  margin-left: 120px;\\n  margin-top: 20px;\\n  color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2VtYWlsLXZlcmlmeS1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDRSxrQkFBQTtBQUFKO0FBRUk7RUFDSSxlQUFBO0VBQ0EsZ0RBQUE7RUFDSixXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBQUFKO0FBRUk7RUFDSSxnREFBQTtFQUNKLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0FBQUoiLCJmaWxlIjoiZW1haWwtdmVyaWZ5LWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiNob3ZlciB7XG4gIC50eHQtY2VudGVye1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgIGRpdjpob3ZlcntcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSk7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgZGl2e1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSk7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59Il19 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\n\n@Component({\n  selector: 'app-text-sms-verify-dialog',\n  templateUrl: './text-sms-verify-dialog.component.html',\n  styleUrls: ['./text-sms-verify-dialog.component.scss']\n})\nexport class TextSmsVerifyDialogComponent implements OnInit {\n\n  constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n    public dialogRef: MatDialogRef<TextSmsVerifyDialogComponent>) { }\n\n  ngOnInit(): void {\n    document.getElementsByClassName('loading-spinner')[0].classList.add('hidden')\n    setTimeout(() => {\n      this.dialogRef.close();\n    }, 10000);\n  }\n}","export default \"<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n    <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n</button>\\n<div class=\\\"dialog-content-wrapper shippingmethodDialog\\\" id=\\\"shippingmethod-wrapper\\\">\\n    <mat-toolbar class=\\\"header m-0\\\">\\n        <mat-toolbar-row fxFlex fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n            <span class=\\\"title dialog-title\\\" fxFlex translate=\\\"\\\"> Edit Shipping Method</span>\\n        </mat-toolbar-row>\\n    </mat-toolbar>\\n    <div mat-dialog-content id=\\\"shippingmethod-content\\\" fxLayout=\\\"column\\\">\\n        <div fxLayoutAlign=\\\"center center\\\" class=\\\"m-b-20\\\">\\n            <span translate=\\\"choose_your_ship_method\\\"></span>\\n        </div>\\n        <ng-container *ngIf=\\\"shipMethods && shipMethods.length>0\\\">\\n        \\n        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" class=\\\"m-b-20\\\" *ngFor=\\\"let ship of shipMethods\\\">\\n            <div fxFlex=\\\"100\\\">\\n                <mat-radio-group aria-label=\\\"Select an option\\\" fxLayout=\\\"column\\\"\\n                    [(ngModel)]=\\\"selectedShippingMethod\\\">\\n                    <mat-radio-button [value]=\\\"ship.ShipMethodId\\\"\\n                        >\\n                        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"80\\\">\\n                                <span [textContent]=\\\"ship.Description\\\"></span>\\n                            </div>\\n                            <div fxFlex=\\\"20\\\" fxLayoutAlign=\\\"start none\\\">\\n                                <span> <small class=\\\"text-muted\\\"\\n                                    [textContent]=\\\"ship.ShippingAmount | currency: companyService.selectedCurrency.CurrencyCode\\\"></small></span>\\n                            </div>\\n                        </div>\\n                    </mat-radio-button>\\n                </mat-radio-group>\\n            </div>\\n        </div>\\n    </ng-container>\\n    </div>\\n    <div mat-dialog-actions class=\\\"m-0 p-16\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n        <div>\\n            <button mat-raised-button class=\\\"updateButton\\\" (click)=\\\"updateShipMethod()\\\">\\n                {{'update' | translate}}\\n            </button>\\n        </div>\\n    </div>\\n</div>\";","import { ShoppingCartService } from './shopping-cart.service';\nimport { cloneDeep } from 'lodash';\nimport { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport * as _ from 'lodash';\nimport { OrderService } from './order.service';\nimport { UserService } from './user.service';\nimport { ProductService } from './product.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { Router } from '@angular/router';\nimport { NotificationService } from './notification.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from '../model/confirm-dialog/confirm-dialog.component';\nimport { UtilityService } from './utility.service';\nimport { CompanyService } from './company.service';\nimport { ConfigService } from './config.service';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ItemsListService {\n  public isShowViewButton: boolean = false;\n  public totalItem: any = {};\n  public buttonText: any = {};\n  public productList: any = [];\n  public categoryList: any = [];\n  public products: any = [];\n  public selectedCategory: string = 'all';\n  public selectedCategoryType: string = '';\n  public selectedCategories: any = {};\n  public allProductList: any = [];\n  userServiceModal: UserServiceModal;\n  public type: any;\n  swalErrorMsg: string;\n\n\n  constructor(\n    private itemsService: ProductService,\n    public snackBar: MatSnackBar,\n    public orderService: OrderService,\n    public userService: UserService,\n    public route: Router,\n    public notificationService: NotificationService,\n    public translate: TranslateService,\n    private dialog: MatDialog,\n    public utilityService: UtilityService,\n    public companyService: CompanyService,\n    public configService: ConfigService,\n    public shoppingCartService: ShoppingCartService\n  ) {\n    this.userServiceModal = this.userService.userServiceModal;\n  }\n\n  viewAll(index) {\n    if (this.totalItem[index] === 4) {\n      this.totalItem[index] = 100;\n      this.buttonText[index] = 'view_less';\n    } else {\n      this.totalItem[index] = 4;\n      this.buttonText[index] = 'view_more';\n    }\n  }\n\n  checkSelect(type) {\n    if (type && type != 'all') {\n      for (const i in this.selectedCategories) {\n        if (this.selectedCategories[i] === true) {\n          return;\n        }\n      }\n      this.selectedCategories['all'] = true;\n      _.each(this.categoryList, (item) => {\n        this.selectedCategories[item.CategoryId] = true;\n      });\n    } else {\n\n      let checkselectall = false;\n      if (this.categoryList.length >= 1) {\n        _.each(this.categoryList, (item) => {\n          if (this.selectedCategories['all'] === true) {\n            this.selectedCategories[item.CategoryId] = true;\n            checkselectall = true;\n          } else {\n            this.selectedCategories[item.CategoryId] = false;\n            checkselectall = false;\n          }\n        });\n      } else {\n        this.selectedCategories['all'] = true;\n      }\n      if (!checkselectall) {\n        if (this.categoryList.length > 0) {\n          this.selectedCategories[this.categoryList[0].CategoryId] = true;\n        }\n        this.productList = _.filter(this.products, (item) => {\n          if (typeof type === 'string' || typeof type === 'number') {\n            return item.CategoryId == type;\n          } else {\n            return this.selectedCategories[item.CategoryId];\n          }\n        });\n        return true;\n      }\n    }\n  }\n  getItemsByCategory(type = null) {\n    this.selectedCategory = type || 'all';\n    type = (type === '[object Object]') ? 'all' : type;\n    if (type && type != 'all') {\n      if (typeof type === 'string' || typeof type === 'number') {\n        this.selectedCategories['all'] = false;\n        _.each(this.categoryList, (item) => {\n          if (item.Category.toLowerCase() != type.toString().toLowerCase()) {\n            this.selectedCategories[item.CategoryId] = false;\n          }\n          else if (item.Category.toLowerCase() == type.toString().toLowerCase()) {\n            this.selectedCategories[item.CategoryId] = true;\n          }\n        });\n      } else {\n        this.checkSelect(type);\n      }\n\n      this.productList = _.filter(this.products, (item) => {\n        if (typeof type === 'string' || typeof type === 'number') {\n          return item.Category.toLowerCase() == type.toString().toLowerCase();\n        } else {\n          return type[item.CategoryId];\n        }\n      });\n    } else {\n      this.isShowViewButton = true;\n      if (!this.checkSelect(type)) {\n        this.productList = this.products;\n      }\n    }\n    if (this.selectedCategories['all'] == true) {\n      this.selectedCategoryType = 'all';\n    } else if (this.productList.length > 0) {\n      this.selectedCategoryType = this.productList[0].CategoryDescription || '';\n    }\n  }\n\n  groupByKeepOrder(arr, prop) {\n    const newArr = []; \n    const wrapObj = {};\n\n    _.forEach(arr, (item) => {\n      let propName = item[prop];\n      if (propName) {\n        propName = propName.toString();\n       if (!wrapObj[propName]) {\n          wrapObj[propName] = [];\n          newArr.push(wrapObj[propName]);\n        }\n        // adds item to the group\n        wrapObj[propName].push(item);\n      }\n    });\n    // delete wrapObj; // don't need this anymore\n    return newArr;\n  }\n\n  checkRestrictedState(countrycall, country, CheckoutCall, swalcheck, uniqueCategoryIdCheck, productCall, newRegionCall, isRedirect, isReload) {\n    const promise = new Promise((resolve, reject) => {\n      const newRegion = newRegionCall ? country.CountryCode : '';\n      const request = {\n        CurrencyCode: this.companyService.selectedCurrency.CurrencyCode,\n        LanguageCode: this.configService.commonData.selectedLanguage || 'en',\n        RegionID: newRegionCall ? this.companyService.getRegionID(newRegion) : 1,\n        PriceGroup: this.userServiceModal.customerTypeID,\n        StoreID: this.shoppingCartService.getShoppingCart(1)[0].StoreID,\n        CategoryId: 0\n      };\n      this.itemsService.getProducts(request).subscribe((result: any) => {\n        try {\n          let preOrderLength = 0;\n          let preAutoOrderLength = 0;\n          // if (result.length > 0) {\n          if (result.length > 0) {\n            preOrderLength = this.itemsService.selectedOrderItems.length;\n            preAutoOrderLength = this.itemsService.selectedAutoOrderItems.length;\n\n            if (this.itemsService.selectedOrderItems.length > 0) {\n              const selectedOrder = cloneDeep(this.itemsService.selectedOrderItems);\n              this.itemsService.selectedOrderItems = [];\n              _.each(selectedOrder, (product) => {\n                const itemDetails = _.filter(result, (item) => {\n                  if (item.HasOptions) {\n                    _.each(item.OptionsMap, (value) => {\n                      if (value.ItemId == product.ItemID) {\n                        item.ItemID = value.ItemId;\n                        return;\n                      }\n                    });\n                  }\n                  if (item.ItemID == product.ItemID && product.selectedOptions) {\n                    item.selectedOptions = product.selectedOptions;\n                  }\n                  return (item.ItemID == product.ItemID);\n                });\n                if (itemDetails.length > 0) {\n                  const optionItem = cloneDeep(itemDetails[0]);\n                  if (!product.UsePoints) {\n                    optionItem.Quantity = product.Quantity;\n                    optionItem.UsePoints = false;\n                  }\n                  else if (product.UsePoints) {\n                    optionItem.UsePoints = product.UsePoints;\n                    optionItem.rewardQuantity = product.rewardQuantity;\n                  }\n                  this.itemsService.selectedOrderItems.push(optionItem);\n                }\n              });\n              if (this.itemsService.selectedOrderItems.length !== preOrderLength) {\n                this.swalErrorMsg = 'error_some_items_not_exist';\n              }\n            }\n            if (this.itemsService.selectedAutoOrderItems.length > 0) {\n              const selectedAutoOrder = cloneDeep(this.itemsService.selectedAutoOrderItems);\n              this.itemsService.selectedAutoOrderItems = [];\n              _.each(selectedAutoOrder, (product) => {\n                const itemDetails = _.filter(result, (item) => {\n                  if (item.HasOptions) {\n                    _.each(item.OptionsMap, (value) => {\n                      if (value.ItemId == product.ItemID) {\n                        item.ItemID = value.ItemId;\n                        return;\n                      }\n                    });\n                  }\n                  if (item.ItemID == product.ItemID && product.selectedOptions) {\n                    item.selectedOptions = product.selectedOptions;\n                  }\n                  return (item.ItemID == product.ItemID && item.AllowAutoship);\n                });\n                if (itemDetails.length > 0) {\n                  const optionItem = cloneDeep(itemDetails[0]);\n                  optionItem.Quantity = product.Quantity;\n                  optionItem.UsePoints = false;\n                  this.itemsService.selectedAutoOrderItems.push(optionItem);\n                }\n              });\n              if (this.itemsService.selectedAutoOrderItems.length !== preAutoOrderLength) {\n                this.swalErrorMsg = 'error_some_items_not_exist';\n              }\n            }\n          } else {\n            this.allProductList = [];\n            this.itemsService.selectedOrderItems = [];\n            this.itemsService.selectedAutoOrderItems = [];\n            this.swalErrorMsg = 'error_products_not_exist_in_region';\n          }\n\n          localStorage.setItem('cart.order', JSON.stringify(this.itemsService.selectedOrderItems));\n          if (this.itemsService.selectedOrderItems.length === 0) {\n            this.orderService.calculateOrderResponse = {};\n          } else {\n            this.orderService.calculateOrder();\n          }\n\n          localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n          if (this.itemsService.selectedAutoOrderItems.length === 0) {\n            this.orderService.calculateAutoOrderResponse = {};\n          } else {\n            this.orderService.calculateAutoOrder();\n          }\n          // check user logged in and has selectedOrders\n          if ((this.itemsService.selectedAutoOrderItems.length !== preAutoOrderLength) || (this.itemsService.selectedOrderItems.length !== preOrderLength)) {\n            if (countrycall) {\n            }\n            if (countrycall || CheckoutCall || productCall) {\n              this.userServiceModal.checkItems = false;\n              if (swalcheck) {\n                this.restrictedStateSwal(this.swalErrorMsg, productCall, isRedirect, isReload);\n              } else if (isRedirect) {\n                this.redirection();\n              }\n            }\n          }\n          resolve({ items: result, errorMsg: this.swalErrorMsg ? true : false });\n\n        } catch (ex) {\n          this.notificationService.error('Error', this.translate.instant('error_occured_try_again'));\n          this.clearcart();\n          if (countrycall) {\n          }\n          if (countrycall || CheckoutCall || productCall) {\n            this.userServiceModal.checkItems = false;\n            this.route.navigate(['/products/all']);\n          }\n          reject(ex);\n        }\n      }, (error) => {\n        this.clearcart();\n        reject(error);\n        this.route.navigate(['/products/all']);\n      });\n    });\n    return promise;\n  }\n\n  clearcart() {\n    this.allProductList = [];\n    this.itemsService.selectedOrderItems = [];\n    this.itemsService.selectedAutoOrderItems = [];\n    localStorage.setItem('cart.order', JSON.stringify(this.itemsService.selectedOrderItems));\n    localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n    this.orderService.calculateOrderResponse = {};\n    this.orderService.calculateAutoOrderResponse = {};\n    this.userServiceModal.checkItems = false;\n  }\n\n\n\n  destory() {\n    this.isShowViewButton = true;\n    this.totalItem = {};\n    this.buttonText = {};\n    this.productList = [];\n    this.categoryList = [];\n    this.products = [];\n  }\n\n  redirection() {\n    this.route.navigate(['/products/all']);\n  }\n\n  restrictedStateSwal(datatitle, productCall, isRedirect, isReload) {\n    const dialogRef1 = this.dialog.open(ConfirmDialogComponent, {\n      maxWidth: '400px',\n      data: {\n        title: this.translate.instant(datatitle),\n        message: '',\n        takeaction: productCall ? this.translate.instant('ok_btn') : this.translate.instant('go_product'),\n        noaction: this.translate.instant('stay_on_checkout'),\n      },\n      panelClass: '',\n      disableClose: true\n\n    });\n    dialogRef1.afterClosed().subscribe(dialogResult => {\n      if (dialogResult) {\n        if (isRedirect) {\n          this.redirection();\n        }\n        if (isReload) {\n          location.reload();\n        }\n      }\n    });\n  }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UserService } from '../../shared/services/user.service';\n\n@Component({\n  selector: 'app-forgot-password',\n  templateUrl: './forgot-password.component.html',\n  styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n  public forgotPasswordData: any = {\n    userName: ''\n  };\n  public loadingDetails: boolean = true;\n  public forgotpasswordtype: number = 1;\n  public forgotPasswordOptions: any = [\n    { option: 1, description: 'resetpassword_option_username' },\n    { option: 2, description: 'resetpassword_option_email' },\n    { option: 3, description: 'resetpassword_option_customerid' }\n  ];\n  public selectedForgotPasswordOption: any = {\n    option: 1\n  };\n  public sentEmail: boolean = false;\n  constructor(\n    private titleService: Title,\n    public translate: TranslateService,\n    public notificationService: NotificationService,\n    public apiServie: RestApiService,\n    public userService: UserService) { }\n\n  ngOnInit(): void {\n\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_forgotpassword') + ' | ' + text);\n    });\n  }\n\n\n  // /**\n  //  * @ngdoc method\n  //  * @name emailSentForgotPassword\n  //  * @description method to send forget password link\n  //  */\n  emailSentForgotPassword() {\n    this.loadingDetails = true;\n    this.forgotpasswordtype = this.selectedForgotPasswordOption.option;\n    if (this.forgotPasswordData.userName && this.selectedForgotPasswordOption.option) {\n      if (this.selectedForgotPasswordOption.option == 1) {\n        this.forgotpasswordtype =  1; // 'username';\n      } else if (this.selectedForgotPasswordOption.option == 2) {\n        this.forgotpasswordtype = 2; // 'email';\n      } else if (this.selectedForgotPasswordOption.option == 3) {\n        this.forgotpasswordtype = 3; // 'customerid';\n      }\n      const forgotPasswordRequest = {\n        value: this.forgotPasswordData.userName,\n        valType: this.forgotpasswordtype\n      };\n      this.apiServie.triggerForgotPasswordProcess(forgotPasswordRequest).subscribe(() => {\n        this.loadingDetails = false;\n        this.forgotPasswordData.userName = '';\n        this.sentEmail = true;\n      }, (error) => {\n        this.loadingDetails = false;\n      }, () => {\n      });\n    } else {\n      this.loadingDetails = false;\n      this.notificationService.error('Error', 'choose_one_option');\n      return;\n    }\n  }\n}\n","export default \"/* external css: flickity.css */\\n* {\\n  box-sizing: border-box;\\n}\\nbody {\\n  font-family: sans-serif;\\n}\\n.carousel-main {\\n  text-align: center;\\n  margin-top: -50px;\\n}\\n.carousel-cell {\\n  width: 100%;\\n  margin-right: 10px;\\n  margin-top: 10px;\\n  background: #e4e4e4;\\n  border-radius: 5px;\\n  counter-increment: carousel-cell;\\n  background-size: cover;\\n  overflow: hidden;\\n}\\n/* cell number */\\n.carousel-cell:before {\\n  display: block;\\n  text-align: center;\\n  line-height: 200px;\\n  background-size: cover;\\n  font-size: 80px;\\n  color: white;\\n}\\n.carousel-nav .carousel-cell {\\n  width: 80px;\\n  max-height: 80px;\\n}\\n@media (min-width: 300px) and (max-width: 476px) {\\n  .carousel-nav .carousel-cell {\\n    width: 50px;\\n  }\\n}\\n@media (min-width: 100px) and (max-width: 300px) {\\n  .carousel-nav .carousel-cell {\\n    width: 40px;\\n  }\\n}\\n.carousel-nav .carousel-cell:before {\\n  font-size: 50px;\\n  line-height: 80px;\\n}\\n.carousel-nav .carousel-cell.is-nav-selected {\\n  background-size: cover;\\n  border: 1px solid black;\\n}\\n.carousel-nav .flickity-button {\\n  display: none !important;\\n}\\n/*! Flickity v2.2.2\\nhttps://flickity.metafizzy.co\\n---------------------------------------------- */\\n.flickity-enabled {\\n  position: relative;\\n}\\n.flickity-enabled:focus {\\n  outline: none;\\n}\\n.flickity-viewport {\\n  overflow: hidden;\\n  position: relative;\\n  height: 100%;\\n}\\n.flickity-slider {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n}\\n/* draggable */\\n.flickity-enabled.is-draggable {\\n  -webkit-tap-highlight-color: transparent;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n  user-select: none;\\n}\\n.flickity-enabled.is-draggable .flickity-viewport {\\n  cursor: move;\\n  cursor: grab;\\n}\\n.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {\\n  cursor: grabbing;\\n}\\n/* ---- flickity-button ---- */\\n.flickity-button {\\n  position: absolute;\\n  background: rgba(255, 255, 255, 0.75);\\n  border: none;\\n  color: #333;\\n  height: 100px;\\n  width: 100px;\\n  margin-left: 40%;\\n  margin-right: 3%;\\n}\\n.flickity-button:hover {\\n  background: white;\\n  cursor: pointer;\\n}\\n.flickity-button:focus {\\n  outline: none;\\n  box-shadow: 0 0 0 5px #19f;\\n}\\n.flickity-button:active {\\n  opacity: 0.6;\\n}\\n.flickity-button:disabled {\\n  opacity: 0.3;\\n  cursor: auto;\\n  /* prevent disabled button from capturing pointer up event. #716 */\\n  pointer-events: none;\\n}\\n.flickity-button-icon {\\n  fill: currentColor;\\n}\\n/* ---- previous/next buttons ---- */\\n.flickity-prev-next-button {\\n  top: 50%;\\n  width: 44px;\\n  height: 44px;\\n  border-radius: 50%;\\n  /* vertically center */\\n  transform: translateY(-50%);\\n}\\n.flickity-prev-next-button.previous {\\n  left: 10px;\\n}\\n.flickity-prev-next-button.next {\\n  right: 10px;\\n}\\n/* right to left */\\n.flickity-rtl .flickity-prev-next-button.previous {\\n  left: auto;\\n  right: 10px;\\n}\\n.flickity-rtl .flickity-prev-next-button.next {\\n  right: auto;\\n  left: 10px;\\n}\\n.flickity-prev-next-button .flickity-button-icon {\\n  position: absolute;\\n  left: 20%;\\n  top: 20%;\\n  width: 60%;\\n  height: 60%;\\n}\\n.center {\\n  width: 50%;\\n  overflow: hidden;\\n}\\n.flickity-button {\\n  height: 100px;\\n  width: 100px;\\n}\\n.material-icons.color_white {\\n  color: #ffffff;\\n}\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n::ng-deep .slider-dialog .mat-dialog-container {\\n  width: 1050px !important;\\n  height: 90vh !important;\\n  overflow: hidden;\\n  background: transparent !important;\\n  box-shadow: none !important;\\n  padding: 12px !important;\\n}\\n::ng-deep .slider-dialog .mat-dialog-content {\\n  margin: 0px;\\n  padding: 0px;\\n}\\n::ng-deep .cdk-overlay-pane {\\n  max-width: 100% !important;\\n}\\n.m-t-70 {\\n  margin-top: 70px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2ZsaWNraXR5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUFBO0FBRUE7RUFDSSxzQkFBQTtBQUFKO0FBR0U7RUFDRSx1QkFBQTtBQUFKO0FBR0U7RUFDRSxrQkFBQTtFQUNBLGlCQUFBO0FBQUo7QUFHRTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtBQUFKO0FBR0UsZ0JBQUE7QUFDQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBQUFKO0FBR0U7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7QUFBSjtBQUVFO0VBQ0U7SUFDRSxXQUFBO0VBQ0o7QUFDRjtBQUNFO0VBQ0U7SUFDRSxXQUFBO0VBQ0o7QUFDRjtBQUVFO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0FBQUo7QUFHRTtFQUNFLHNCQUFBO0VBQ0EsdUJBQUE7QUFBSjtBQUVFO0VBQ0Usd0JBQUE7QUFDSjtBQUNFOztnREFBQTtBQUlBO0VBQ0Usa0JBQUE7QUFDSjtBQUVFO0VBQ0UsYUFBQTtBQUNKO0FBRUU7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQUNKO0FBRUU7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FBQ0o7QUFFRSxjQUFBO0FBRUE7RUFDRSx3Q0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7RUFFQSxpQkFBQTtBQUFKO0FBR0U7RUFDRSxZQUFBO0VBRUEsWUFBQTtBQUFKO0FBR0U7RUFFRSxnQkFBQTtBQUFKO0FBR0UsOEJBQUE7QUFDQTtFQUNFLGtCQUFBO0VBQ0EscUNBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBQUFKO0FBR0U7RUFDRSxpQkFBQTtFQUNBLGVBQUE7QUFBSjtBQUdFO0VBQ0UsYUFBQTtFQUNBLDBCQUFBO0FBQUo7QUFHRTtFQUNFLFlBQUE7QUFBSjtBQUdFO0VBQ0UsWUFBQTtFQUNBLFlBQUE7RUFDQSxrRUFBQTtFQUNBLG9CQUFBO0FBQUo7QUFHRTtFQUNFLGtCQUFBO0FBQUo7QUFHRSxvQ0FBQTtBQUVBO0VBQ0UsUUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0FBREo7QUFJRTtFQUNFLFVBQUE7QUFESjtBQUdFO0VBQ0UsV0FBQTtBQUFKO0FBRUUsa0JBQUE7QUFDQTtFQUNFLFVBQUE7RUFDQSxXQUFBO0FBQ0o7QUFDRTtFQUNFLFdBQUE7RUFDQSxVQUFBO0FBRUo7QUFDRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtBQUVKO0FBRUE7RUFDSSxVQUFBO0VBQ0EsZ0JBQUE7QUFDSjtBQUNBO0VBQ0ksYUFBQTtFQUNBLFlBQUE7QUFFSjtBQUNBO0VBQTZCLGNBQUE7QUFHN0I7QUFGQTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBQUtGO0FBREE7RUFDRSwwQkFBQTtBQUlGO0FBREE7RUFDRSx5QkFBQTtBQUlGO0FBRkE7RUFDSSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDJCQUFBO0VBQ0Esd0JBQUE7QUFLSjtBQUhDO0VBQ0MsV0FBQTtFQUNBLFlBQUE7QUFNRjtBQUpDO0VBQ0csMEJBQUE7QUFPSjtBQUxBO0VBQ0UsZ0JBQUE7QUFRRiIsImZpbGUiOiJmbGlja2l0eS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGV4dGVybmFsIGNzczogZmxpY2tpdHkuY3NzICovXG5cbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICBib2R5IHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1tYWluIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIH1cblxuICAuY2Fyb3VzZWwtY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDIyOCwgMjI4LCAyMjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBjb3VudGVyLWluY3JlbWVudDogY2Fyb3VzZWwtY2VsbDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBjZWxsIG51bWJlciAqL1xuICAuY2Fyb3VzZWwtY2VsbDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLmNhcm91c2VsLW5hdiAuY2Fyb3VzZWwtY2VsbCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWF4LWhlaWdodDogODBweDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzAwcHgpIGFuZCAobWF4LXdpZHRoOiA0NzZweCkge1xuICAgIC5jYXJvdXNlbC1uYXYgLmNhcm91c2VsLWNlbGwge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDBweCkgYW5kIChtYXgtd2lkdGg6IDMwMHB4KSB7XG4gICAgLmNhcm91c2VsLW5hdiAuY2Fyb3VzZWwtY2VsbCB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWwtbmF2IC5jYXJvdXNlbC1jZWxsOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICB9XG5cbiAgLmNhcm91c2VsLW5hdiAuY2Fyb3VzZWwtY2VsbC5pcy1uYXYtc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIH1cbiAgLmNhcm91c2VsLW5hdiAuZmxpY2tpdHktYnV0dG9ue1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAvKiEgRmxpY2tpdHkgdjIuMi4yXG4gIGh0dHBzOi8vZmxpY2tpdHkubWV0YWZpenp5LmNvXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAuZmxpY2tpdHktZW5hYmxlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5mbGlja2l0eS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAvKiBkcmFnZ2FibGUgKi9cblxuICAuZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cblxuICAuZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0LmlzLXBvaW50ZXItZG93biB7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cblxuICAvKiAtLS0tIGZsaWNraXR5LWJ1dHRvbiAtLS0tICovXG4gIC5mbGlja2l0eS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjc1KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICB9XG5cbiAgLmZsaWNraXR5LWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmZsaWNraXR5LWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzE5ZjtcbiAgfVxuXG4gIC5mbGlja2l0eS1idXR0b246YWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cblxuICAuZmxpY2tpdHktYnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIC8qIHByZXZlbnQgZGlzYWJsZWQgYnV0dG9uIGZyb20gY2FwdHVyaW5nIHBvaW50ZXIgdXAgZXZlbnQuICM3MTYgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLyogLS0tLSBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgLS0tLSAqL1xuXG4gIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC8qIHZlcnRpY2FsbHkgY2VudGVyICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbiAgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLyogcmlnaHQgdG8gbGVmdCAqL1xuICAuZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG4gIC5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTBweDtcbiAgfVxuXG4gIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIC5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIwJTtcbiAgICB0b3A6IDIwJTtcbiAgICB3aWR0aDogNjAlO1xuICAgIGhlaWdodDogNjAlO1xuICB9XG5cbiAgXG4uY2VudGVye1xuICAgIHdpZHRoOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGlja2l0eS1idXR0b24ge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuLy8gaWYgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgaWNvblxuLm1hdGVyaWFsLWljb25zLmNvbG9yX3doaXRlIHtjb2xvcjogI2ZmZmZmZjt9XG4uY2xvc2UtYnV0dG9ue1xuICBmbG9hdDogcmlnaHQ7XG4gIHRvcDotMjRweDtcbiAgcmlnaHQ6LTI0cHg7XG59XG5cbi8vaWYgeW91IHdhbnQgc29tZSBjc3MgYW5pbWF0aW9uXG4uY2xvc2UtaWNvbiB7XG4gIHRyYW5zaXRpb246IDFzIGVhc2UtaW4tb3V0O1xufVxuXG4uY2xvc2UtaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG46Om5nLWRlZXAgLnNsaWRlci1kaWFsb2cgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA5MHZoICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG4gfVxuIDo6bmctZGVlcCAuc2xpZGVyLWRpYWxvZyAubWF0LWRpYWxvZy1jb250ZW50e1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xuIH1cbiA6Om5nLWRlZXAgLmNkay1vdmVybGF5LXBhbmV7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gfVxuLm0tdC03MHtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn0iXX0= */\";","// loader-interceptor.service.ts\nimport { Injectable } from '@angular/core';\nimport {\n    HttpRequest,\n    HttpHandler,\n    HttpEvent,\n    HttpInterceptor,\n    HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\nimport { tap } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiInterceptor implements HttpInterceptor {\n    private requests: HttpRequest<any>[] = [];\n    constructor(public router: Router, public cookieService: CookieService) { }\n\n    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n        return next.handle(req).pipe(tap(() => {}, (err) => {\n            if (err instanceof HttpErrorResponse) {\n                if (Number(err.status) === 401) {\n                    this.router.navigate(['/login']).then(() => {\n                        localStorage.removeItem('user');\n                        this.cookieService.deleteAll('/');\n                        sessionStorage.clear();\n                        localStorage.clear();\n                        window.location.reload();\n                    });\n                }else{\n                    return;\n                }\n            }\n        }));\n    }\n}\n","export default \"<mat-card class=\\\"p-0\\\" id=\\\"selectmarket\\\" style=\\\"width:320px\\\">\\n    <mat-card-header class=\\\"p-0 bgm-color3 mat-card-header-text\\\">\\n        <mat-card-title flex=\\\"100\\\" translate=\\\"select_market\\\" class=\\\"select-market-text\\\"></mat-card-title>\\n    </mat-card-header>\\n    <mat-card-content>\\n        <div class=\\\"panel panel-default text-center m-b-0\\\" ng-init=\\\"isValid=false\\\">\\n            <div class=\\\"p-t-10\\\" *ngIf=\\\"userService.enrollerInfo?.FirstName\\\">\\n                <span translate=\\\"your_affiliate_is\\\"></span>\\n                <div class=\\\"p-t-10\\\">\\n                    <img class=\\\"user_img\\\" [src]=\\\"userService.enrollerInfo.ImageUrl\\\" />\\n                    <span class=\\\"f-bold p-l-10\\\">{{userService.enrollerInfo.FirstName + ' ' +\\n                            userService.enrollerInfo.LastName + ' '}}</span>\\n                    {{('from_' | translate) + ' ' + userService.enrollerInfo.Country}}\\n                </div>\\n                <div class=\\\"p-t-10 \\\">\\n                    <button (click)=\\\"changeAffiliate()\\\" class=\\\"change-affiliate-icon \\\">\\n                        <mat-icon class=\\\"affiliate_edit_icon \\\">edit</mat-icon>{{'market_change_affiliate' |\\n                            translate}}\\n                    </button>\\n                </div>\\n            </div>\\n            <div *ngIf=\\\"selectedCountry\\\" class=\\\"panel-body p-l-0 p-t-20 control-group\\\">\\n                <div class=\\\"btn-group\\\">\\n                    <div class=\\\"widget-text\\\">\\n                        <a class=\\\"btnclass\\\" mat-button [matMenuTriggerFor]=\\\"countryMenu\\\"\\n                            #countryMenuTrigger=\\\"matMenuTrigger\\\">\\n                            <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+ selectedCountry.CountryCode +'.svg'\\\"\\n                                width=\\\"18\\\">\\n                            <span class=\\\"m-l-10\\\">{{selectedCountry.CountryName}}</span>\\n                            <mat-icon class=\\\"mat-icon-sm caret cur-icon\\\">arrow_drop_down</mat-icon>\\n                        </a>\\n                        <mat-menu #countryMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\"\\n                            class=\\\"app-dropdown\\\">\\n                            <span *ngFor=\\\"let country of allowedCountries\\\">\\n                                <button class=\\\"no-border\\\" mat-menu-item (click)=\\\"changeLang(country.CountryCode)\\\">\\n                                    <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+ country.CountryCode +'.svg'\\\"\\n                                        width=\\\"18\\\"> {{country.CountryName}}\\n\\n                                </button>\\n                            </span>\\n                        </mat-menu>\\n                    </div>\\n\\n                </div>\\n            </div>\\n            <div class=\\\"selector-font p-20\\\" translate=\\\"you_r_shopping_as\\\"></div>\\n            <div *ngIf=\\\"selectedUserType\\\" class=\\\"panel-body control-group\\\">\\n                <div class=\\\"btn-group\\\">\\n                    <div class=\\\"widget-text\\\">\\n                        <a class=\\\"btnclass\\\" mat-button [matMenuTriggerFor]=\\\"custypeMenu\\\"\\n                            #custypeMenuTrigger=\\\"matMenuTrigger\\\">\\n                            <span>{{selectedUserType.Description}}</span>\\n                            <mat-icon class=\\\"mat-icon-sm caret cur-icon\\\">arrow_drop_down</mat-icon>\\n                        </a>\\n                        <mat-menu #custypeMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\"\\n                            class=\\\"app-dropdown\\\">\\n                            <span *ngFor=\\\"let customerType of customerTypes\\\">\\n                                <button class=\\\"no-border\\\" mat-menu-item (click)=\\\"selectCustomerType(customerType.ID)\\\">\\n                                    {{customerType.Description}}\\n                                </button>\\n                            </span>\\n                        </mat-menu>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n    </mat-card-content>\\n    <mat-card-actions class=\\\"text-center\\\">\\n        <button mat-button id=\\\"btnCountryContinue\\\" class=\\\"bgm-color1 btn btn-primary\\\"\\n            (click)=\\\"continue()\\\">{{'market_continue' | translate}}</button>\\n    </mat-card-actions>\\n</mat-card>\";","import { HttpClient } from '@angular/common/http';\nimport { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nexport function OnIFrameSave(data) {\n  console.log('Iframe SaveData', data);\n}\nexport function OnIFrameError(error) {\n  console.log('Iframe Error', error);\n  if (!error) {\n    return;\n  }\n  window.alert(error);\n}\n@Component({\n  selector: 'app-hostedpayment-dialog',\n  templateUrl: './hostedpayment-dialog.component.html',\n  styleUrls: ['./hostedpayment-dialog.component.scss']\n})\n\nexport class HostedpaymentDialogComponent implements OnInit {\n  public paymentData: any = {};\n  public iFrameUrl: any;\n  constructor(public sanitizer: DomSanitizer, public http: HttpClient, public dialogRef: MatDialogRef<HostedpaymentDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {\n    this.dialogRef.disableClose = true;\n  }\n  @HostListener('window:message', ['$event'])\n  onMessage(e) {\n    \n    if (e.data.event == 'cardSaved') {\n      this.dialogRef.close(e.data.data);\n    } else if (e.data.isTestCardEvent == true) {\n      this.dialogRef.close(e.data);\n    }\n  }\n  @HostListener('window:OnIFrameSave', ['$event'])\n  OnIFrameSave(e) {\n  }\n  @HostListener('window:OnIFrameError', ['$event'])\n  OnIFrameError(e) {\n\n  }\n  ngOnInit(): void {\n    this.paymentData = this.data;\n    this.setUpIframeMethods();\n    this.executePaymentScripts(this.paymentData.Script);\n    this.iFrameUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.paymentData.IFrameUrl);\n  }\n  onConfirm(): void {\n    // Close the dialog, return true\n    this.dialogRef.close(true);\n  }\n\n  onDismiss(): void {\n    // Close the dialog, return false\n    this.dialogRef.close(false);\n  }\n  getIframeHeight(): string {\n    return this.paymentData.Height;\n  }\n\n  getIframeUrl(): any {\n    return this.sanitizer.bypassSecurityTrustResourceUrl(this.paymentData.IFrameUrl);\n  }\n\n  getIframeWidth(): string {\n    return this.paymentData.Width;\n  }\n\n\n  executePaymentScripts(html) {\n    // Extract, load and execute <script src> tags\n    // Extract and execute <script> tags with inline javascript\n\n    var externalScripts = this.getExternalScripts(html);\n    html = this.removeExternalScriptTags(html);\n\n    this.runExternalScripts(externalScripts).then(() => {\n      var inlineScripts = this.getInlineScripts(html);\n      this.runInlineScripts(inlineScripts);\n    });\n  }\n\n  getExternalScripts(html) {\n    var externalScriptOpenRegex = /<script[^>]*src=\"[^\"]*\"[^>]*>/g;\n    var srcAttrRegex = /src=\"([^\"]*)\"/;\n\n    var scriptTags = html.match(externalScriptOpenRegex);\n\n    if (!scriptTags) {\n      return [];\n    }\n\n    return scriptTags.map((tag) => {\n      var link = srcAttrRegex.exec(tag);\n\n      if (!link) {\n        return null;\n      }\n\n      // Index 1 is the first capture group result\n      return link[1];\n    }).filter(function (link) {\n      return !!link;\n    });\n  }\n\n  getInlineScripts(html) {\n    var inlineScriptTagRegex = /<script[^>]*>([\\s\\S]*)<\\/script>/g;\n    var scriptTags = html.match(inlineScriptTagRegex);\n\n    if (!scriptTags) {\n      return [];\n    }\n\n    return scriptTags.map((tag) => {\n      var script = inlineScriptTagRegex.exec(tag);\n\n      if (!script) {\n        return null;\n      }\n\n      // Index 1 is the first capture group result\n      return script[1];\n    }).filter(function (script) {\n      return !!script;\n    });\n  }\n\n  removeExternalScriptTags(html) {\n    var externalScriptRegex = /<script[^>]*src=\"[^\"]*\"[^>]*>.*<\\/script>/g;\n    return html.replace(externalScriptRegex, '');\n  }\n\n  runExternalScripts(urlArray) {\n    const promise = new Promise((resolve, reject) => {\n      var firstScript = urlArray.splice(0, 1)[0];\n      if (!firstScript) {\n        resolve(true);\n        return promise;\n      }\n\n      this.http.get<any>(firstScript).subscribe(() => {\n        this.runExternalScripts(urlArray);\n        resolve(true);\n      });\n    });\n    return promise;\n  }\n  runInlineScripts(scriptArray) {\n    window.eval(scriptArray.join('\\n;\\n'));\n  }\n  setUpIframeMethods() {\n    window['OnIFrameSave'] = OnIFrameSave;\n    window['OnIFrameError'] = OnIFrameError;\n  }\n  onload() {\n    //this.save(data);\n  }\n}\n","import { Directive, ElementRef, Renderer2, HostListener } from '@angular/core'; \n@Directive({\n  selector: '[iconclass]'\n})\nexport class IconClassDirective {\n  constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n  } \n}\n\n","export default \"<div class=\\\"home-header\\\" *ngIf=\\\"showheaderoncomplete != 'complete'\\\" [ngClass]=\\\"{'midHeader': (isTop && (currentRouterPath == '/home')) , 'midHeader1' : !isTop }\\\">\\n  <ng-container *ngIf=\\\"currentRouterPath == '/home'\\\">\\n    <mat-toolbar fxShow fxHide.lt-md color=\\\"primary\\\"\\n      [ngClass]=\\\"{'noColor header p-0-10': isTop , 'kuro header' : !isTop }\\\" fxFlex=\\\"100\\\">\\n      <mat-toolbar-row class=\\\"container p-0 h-90\\\">\\n        <div class=\\\"mt p-l-20 p-r-20\\\" fxLayout=\\\"row\\\">\\n          <div>\\n            <p class=\\\"margin-img\\\">\\n              <a class=\\\"c-white logo\\\" routerLink=\\\"/home\\\"><img src=\\\"../../../../assets/images/logo_small.png\\\"\\n                  class=\\\"width-img\\\" />\\n              </a>\\n            </p>\\n          </div>\\n          <div fxLayout=\\\"row\\\" class=\\\"m-l-30\\\" fxLayoutAlign=\\\"center center\\\">\\n            <p class=\\\"heading\\\">\\n              <span class=\\\"m-l-10 f-w-100\\\" [ngClass]=\\\"{'text-gray': '/home' ? router.isActive('/home', true): false}\\\"\\n                routerLink=\\\"/home\\\">Home</span>\\n              <span class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/products/all' ? router.isActive('/products/all', true): false}\\\"\\n                routerLink=\\\"/products/all\\\">Shop</span>\\n              <span class=\\\"m-l-15 f-w-100\\\" [ngClass]=\\\"{'text-gray': '/faq' ? router.isActive('/faq', true): false}\\\"\\n                routerLink=\\\"/faq\\\">FAQ</span>\\n              <span *ngIf=\\\"!isLoggedIn()\\\" class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/join' ? router.isActive('/join', true): false}\\\"\\n                routerLink=\\\"/join\\\">Join</span>\\n              <span class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/contact' ? router.isActive('/contact', true): false}\\\"\\n                routerLink=\\\"/contact\\\">Contact</span>\\n              <span class=\\\"m-l-15 f-w-100\\\" [ngClass]=\\\"{'text-gray': '/about' ? router.isActive('/about', true): false}\\\"\\n                routerLink=\\\"/about\\\">About</span>\\n            </p>\\n          </div>\\n          <mat-menu #menu=\\\"matMenu\\\">\\n            <div id=\\\"header-menu\\\" fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutGap=\\\"20px\\\" class=\\\"p-20 line_space \\\">\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                <div fxLayout=\\\"row wrap\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"flex-start space-evenly\\\">\\n                  <div *ngFor=\\\"let category of allItems; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"25\\\" fxFlex.lt-md=\\\"48\\\"\\n                    fxLayoutAlign=\\\"flex-start flex-start\\\" fxFill>\\n                    <div fxFlex=\\\"24\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"flex-start flex-start\\\" fxLayout=\\\"column\\\" fxFill\\n                      class=\\\"p-relative\\\">\\n                      <b><span [routerLink]=\\\"['/products', category.CategoryId]\\\">{{category.Category}}</span></b>\\n                      <span [routerLink]=\\\"['/products',category.CategoryId]\\\">All</span>\\n                      <div *ngFor=\\\"let item of HomeProductlist\\\">\\n                        <span *ngIf=\\\"item.CategoryId == category.CategoryId\\\"\\n                          [routerLink]=\\\"['/product', item.ItemID]\\\">{{item.ProductName}}</span>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </mat-menu>\\n        </div>\\n        <div class=\\\"mt p-l-20 p-r-20 \\\" fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"end end\\\">\\n          <div>\\n            <app-shopping-widgets [shoppingCartItems]=\\\"shoppingCartItems\\\"></app-shopping-widgets>\\n          </div>\\n\\n          <div class=\\\"enroll_img\\\" *ngIf=\\\"!isLoggedIn()\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n            <div>\\n              <a class=\\\"avtar\\\" mat-button [matMenuTriggerFor]=\\\"langMenu\\\" #langMenuTrigger=\\\"matMenuTrigger\\\">\\n                <img width=\\\"18\\\" [default]=\\\"'assets/images/user.png'\\\">\\n                &nbsp;<span [ngStyle.lt-sm]=\\\"{'font-size.px': 15}\\\"\\n                  class=\\\"text-uppercase f-500 heading m-l-12 c-white f-w-100\\\" mat-button data-bind=\\\"label\\\">SIGN\\n                  IN\\n                  <mat-icon class=\\\"display-inline-relative\\\">arrow_drop_down</mat-icon>\\n                </span>\\n              </a>\\n            </div>\\n            <mat-menu #langMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\" class=\\\"app-dropdown swal\\\">\\n              <div class=\\\"logout-menu\\\">\\n                <!-- Name -->\\n                <div class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-around center\\\">\\n                  <div>\\n                    <span [ngStyle.lt-sm]=\\\"{'font-size.px': 12}\\\" class=\\\"text-uppercase f-500\\\"\\n                      data-bind=\\\"label\\\">Guest</span>\\n                  </div>\\n                  <div class=\\\"avtar nocursor\\\">\\n                    <mat-icon>perm_identity</mat-icon>\\n\\n                  </div>\\n                </div>\\n                <!-- Sign Out -->\\n                <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"isLoggedIn()\\\">\\n                  <button class=\\\"shop-btn product-button w-60  \\\" mat-raised-button color=\\\"black\\\" (click)=\\\"logout()\\\">Sign\\n                    Out</button>\\n                </div>\\n                <!-- Sign In -->\\n                <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"!isLoggedIn()\\\">\\n                  <button class=\\\"shop-btn product-button w-60  \\\" mat-raised-button color=\\\"black\\\" (click)=\\\"login()\\\">Sign\\n                    In</button>\\n                </div>\\n\\n                <!-- Orders -->\\n              </div>\\n            </mat-menu>\\n          </div>\\n          <div class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\" *ngIf=\\\"isLoggedIn()\\\">\\n            <div>\\n              <a class=\\\"avtar\\\" mat-button [matMenuTriggerFor]=\\\"langMenu\\\" #langMenuTrigger=\\\"matMenuTrigger\\\">\\n                <img [src]=\\\"userServiceModal?.enrollerInfo?.ImageUrl\\\" width=\\\"18\\\" [default]=\\\"'assets/images/user.png'\\\">\\n                &nbsp;<span [ngStyle.lt-sm]=\\\"{'font-size.px': 15}\\\"\\n                  class=\\\"text-uppercase f-500 heading m-l-12 f-w-100 c-white\\\" mat-button\\n                  data-bind=\\\"label\\\">{{userServiceModal?.enrollerInfo?.FirstName}}\\n                  &nbsp;{{userServiceModal?.enrollerInfo?.LastName}}\\n                  <mat-icon class=\\\"display-inline-relative\\\">arrow_drop_down</mat-icon>\\n                </span>\\n              </a>\\n            </div>\\n            <mat-menu #langMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\" class=\\\"app-dropdown swal\\\">\\n\\n              <div class=\\\"logout-menu\\\">\\n                <!-- Name -->\\n                <div class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-around center\\\">\\n                  <div>\\n\\n                    <span [ngStyle.lt-sm]=\\\"{'font-size.px': 12}\\\" class=\\\"text-uppercase f-500\\\" data-bind=\\\"label\\\"\\n                      [textContent]=\\\"(userServiceModal?.customerData?.FirstName || userServiceModal?.enrollerInfo?.FirstName) + ' ' + (userServiceModal?.customerData?.LastName || userServiceModal?.enrollerInfo?.LastName)\\\"></span>\\n\\n                  </div>\\n                  <div class=\\\"avtar nocursor\\\">\\n                    <img style=\\\"height:45px;width:45px;\\\"\\n                      [src]=\\\"userServiceModal?.customerData?.ImageUrl || userServiceModal?.enrollerInfo?.ImageUrl\\\"\\n                      alt=\\\"companylogo\\\" [default]=\\\"'assets/images/user.png'\\\">\\n                  </div>\\n                </div>\\n                <!-- Sign Out -->\\n                <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"isLoggedIn()\\\">\\n                  <button class=\\\"shop-btn product-button w-60  \\\" mat-raised-button color=\\\"black\\\" (click)=\\\"logout()\\\">Sign\\n                    Out</button>\\n                </div>\\n                <!-- Sign In -->\\n                <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"!isLoggedIn()\\\">\\n                  <button class=\\\"shop-btn product-button w-60\\\" (click)=\\\"login()\\\" mat-raised-button color=\\\"black\\\">Sign\\n                    In</button>\\n                </div>\\n                <!-- Orders -->\\n                <a>\\n                  <div fxLayoutAlign=\\\" stretch\\\" class=\\\" receiptOrder\\\" fxLayout=\\\"row\\\" routerLink=\\\"/orderhistory\\\">\\n                    <mat-icon class=\\\"receipt\\\">receipt</mat-icon>\\n                    <span *ngIf=\\\"isLoggedIn()\\\" class=\\\"m-l-7 f-w-100\\\"\\n                      [ngClass]=\\\"{'text-gray': '/orderhistory' ? router.isActive('/orderhistory', true): false}\\\">Order\\n                      History</span>\\n                  </div>\\n                </a>\\n\\n                <!--MAnage Autoship-->\\n                <a>\\n                  <div fxLayoutAlign=\\\" stretch\\\" class=\\\" \\\" fxLayout=\\\"row\\\" routerLink=\\\"/manageautoship\\\">\\n                    <mat-icon class=\\\"receipt\\\">assessment</mat-icon>\\n                    <span *ngIf=\\\"isLoggedIn()\\\" class=\\\"m-l-17 f-w-100\\\"\\n                      [ngClass]=\\\"{'text-gray': '/   manageautoship' ? router.isActive('/manageautoship', true): false}\\\">Manage\\n                      Autoship</span>\\n                  </div>\\n                </a>\\n\\n              </div>\\n            </mat-menu>\\n          </div>\\n        </div>\\n      </mat-toolbar-row>\\n    </mat-toolbar>\\n\\n    <mat-toolbar fxHide fxShow.lt-md color=\\\"primary\\\"\\n      [ngClass]=\\\"{'noColor header p-0-10': isTop , 'kuro header' : !isTop }\\\" fxFlex=\\\"100\\\">\\n      <mat-toolbar-row class=\\\"container p-0 h-90\\\">\\n        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n          <div class=\\\"mt\\\" fxLayout=\\\"row\\\" fxFlex=\\\"33\\\" fxLayoutAlign=\\\"flex-start flex-start\\\">\\n            <div class=\\\"logo1\\\">\\n              <span fxHide=\\\"false\\\" fxHide.gt-sm>\\n                <button mat-icon-button class=\\\"mat\\\" (click)=\\\"toggleMobileMenu($event)\\\">\\n                  <mat-icon>menu</mat-icon>\\n                </button>\\n              </span>\\n            </div>\\n          </div>\\n          <div fxLayout=\\\"row\\\" fxFlex=\\\"33\\\" fxLayoutAlign=\\\"center center\\\">\\n            <p class=\\\"margin-img\\\">\\n              <a class=\\\"c-white logo\\\" routerLink=\\\"/home\\\"><img src=\\\"../../../../assets/images/logo_small.png\\\"\\n                  class=\\\"width-img\\\" />\\n              </a>\\n            </p>\\n          </div>\\n          <div class=\\\"mt p-l-20 p-r-20 \\\" fxLayout=\\\"row\\\" fxFlex=\\\"33\\\" fxLayoutAlign=\\\"end end\\\">\\n            <div>\\n              <app-shopping-widgets [shoppingCartItems]=\\\"shoppingCartItems\\\"></app-shopping-widgets>\\n            </div>\\n          </div>\\n        </div>\\n      </mat-toolbar-row>\\n    </mat-toolbar>\\n  </ng-container>\\n  <ng-container *ngIf=\\\"currentRouterPath != '/home'\\\">\\n    <mat-toolbar fxShow fxHide.lt-md color=\\\"primary\\\" class=\\\"kuro header\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"center center\\\">\\n      <mat-toolbar-row class=\\\"container p-0 h-90 p-r-10\\\">\\n        <div class=\\\"mt p-l-20 p-r-20\\\" fxLayout=\\\"row\\\">\\n          <div>\\n            <p class=\\\"margin-img\\\">\\n              <a class=\\\"c-white logo\\\" routerLink=\\\"/home\\\"><img src=\\\"../../../../assets/images/logo_small.png\\\"\\n                  class=\\\"width-img\\\" />\\n              </a>\\n            </p>\\n          </div>\\n          <div fxLayout=\\\"row\\\" class=\\\"m-l-30\\\" fxLayoutAlign=\\\"center center\\\">\\n            <p class=\\\"heading\\\">\\n              <span class=\\\"m-l-10 f-w-100\\\" [ngClass]=\\\"{'text-gray': '/home' ? router.isActive('/home', true): false}\\\"\\n                routerLink=\\\"/home\\\">Home</span>\\n              <!-- <span class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/products/all' ? router.isActive('/products/all', true): false}\\\"\\n                (click)=\\\"run()\\\" [matMenuTriggerFor]=\\\"menu\\\">Shop <mat-icon class=\\\"display-inline-relative\\\">\\n                  arrow_drop_down</mat-icon></span> -->\\n              <span class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/products/all' ? router.isActive('/products/all', true): false}\\\"\\n                routerLink=\\\"/products/all\\\">Shop</span>\\n              <span class=\\\"m-l-15 f-w-100\\\" [ngClass]=\\\"{'text-gray': '/faq' ? router.isActive('/faq', true): false}\\\"\\n                routerLink=\\\"/faq\\\">FAQ</span>\\n              <span *ngIf=\\\"!isLoggedIn()\\\" class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/join' ? router.isActive('/join', true): false}\\\"\\n                routerLink=\\\"/join\\\">Join</span>\\n              <span class=\\\"m-l-15 f-w-100\\\"\\n                [ngClass]=\\\"{'text-gray': '/contact' ? router.isActive('/contact', true): false}\\\"\\n                routerLink=\\\"/contact\\\">Contact</span>\\n              <span class=\\\"m-l-15 f-w-100\\\" [ngClass]=\\\"{'text-gray': '/about' ? router.isActive('/about', true): false}\\\"\\n                routerLink=\\\"/about\\\">About</span>\\n            </p>\\n          </div>\\n        </div>\\n        <mat-menu #menu=\\\"matMenu\\\">\\n          <div id=\\\"header-menu\\\" fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutGap=\\\"20px\\\" class=\\\"p-20 line_space\\\">\\n            <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n              <div fxLayout=\\\"row wrap\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"flex-start space-evenly\\\">\\n                <div *ngFor=\\\"let category of allItems; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"25\\\" fxFlex.lt-md=\\\"48\\\"\\n                  fxLayoutAlign=\\\"flex-start flex-start\\\" fxFill>\\n                  <div fxFlex=\\\"24\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"flex-start flex-start\\\" fxLayout=\\\"column\\\" fxFill\\n                    class=\\\"p-relative\\\">\\n                    <b><span [routerLink]=\\\"['/products', category.CategoryId]\\\">{{category.Category}}</span></b>\\n                    <span [routerLink]=\\\"['/products',category.CategoryId]\\\">All</span>\\n                    <div *ngFor=\\\"let item of HomeProductlist\\\">\\n                      <span *ngIf=\\\"item.CategoryId == category.CategoryId\\\"\\n                        [routerLink]=\\\"['/product', item.ItemID]\\\">{{item.ProductName}}</span>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n        </mat-menu>\\n        <div class=\\\"mt p-l-20 p-r-20 \\\" fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"end end\\\">\\n          <div>\\n            <app-shopping-widgets [shoppingCartItems]=\\\"shoppingCartItems\\\"></app-shopping-widgets>\\n          </div>\\n          <div>\\n            <!-- <span  class=\\\"m-l-15 f-w-100\\\"> -->\\n            <div class=\\\"enroll_img\\\" *ngIf=\\\"!isLoggedIn()\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n              <div>\\n                <a class=\\\"avtar\\\" mat-button [matMenuTriggerFor]=\\\"langMenu\\\" #langMenuTrigger=\\\"matMenuTrigger\\\">\\n                  <img width=\\\"18\\\" [default]=\\\"'assets/images/user.png'\\\">\\n                  &nbsp;<span [ngStyle.lt-sm]=\\\"{'font-size.px': 15}\\\"\\n                    class=\\\"text-uppercase f-500 heading m-l-12 f-w-100 c-white\\\" mat-button data-bind=\\\"label\\\">SIGN\\n                    IN\\n                    <mat-icon class=\\\"display-inline-relative\\\">arrow_drop_down</mat-icon>\\n                  </span>\\n                </a>\\n              </div>\\n              <mat-menu #langMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\" class=\\\"app-dropdown swal\\\">\\n                <div class=\\\"logout-menu\\\">\\n                  <!-- Name -->\\n                  <div class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-around center\\\">\\n                    <div>\\n                      <span [ngStyle.lt-sm]=\\\"{'font-size.px': 12}\\\" class=\\\"text-uppercase f-500\\\"\\n                        data-bind=\\\"label\\\">Guest</span>\\n                    </div>\\n                    <div class=\\\"avtar nocursor\\\">\\n                      <mat-icon>perm_identity</mat-icon>\\n\\n                    </div>\\n                  </div>\\n                  <!-- Sign Out -->\\n                  <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"isLoggedIn()\\\">\\n                    <button class=\\\"shop-btn product-button w-60  \\\" mat-raised-button color=\\\"black\\\"\\n                      (click)=\\\"logout()\\\">Sign Out</button>\\n                  </div>\\n                  <!-- Sign In -->\\n                  <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"!isLoggedIn()\\\">\\n                    <button class=\\\"shop-btn product-button w-60\\\" mat-raised-button color=\\\"black\\\" (click)=\\\"login()\\\">Sign\\n                      In</button>\\n                  </div>\\n                  <!-- Orders -->\\n                </div>\\n              </mat-menu>\\n            </div>\\n            <!-- </span> -->\\n          </div>\\n\\n          <div class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n            <div *ngIf=\\\"isLoggedIn()\\\">\\n              <a class=\\\"avtar\\\" mat-button [matMenuTriggerFor]=\\\"langMenu\\\" #langMenuTrigger=\\\"matMenuTrigger\\\">\\n                <img [src]=\\\"userServiceModal?.enrollerInfo?.ImageUrl\\\" width=\\\"18\\\" [default]=\\\"'assets/images/user.png'\\\">\\n                &nbsp;<span [ngStyle.lt-sm]=\\\"{'font-size.px': 15}\\\"\\n                  class=\\\"text-uppercase f-500 heading m-l-12 f-w-100 c-white\\\" mat-button\\n                  data-bind=\\\"label\\\">{{userServiceModal?.enrollerInfo?.FirstName}}\\n                  &nbsp;{{userServiceModal?.enrollerInfo?.LastName}}\\n                  <mat-icon class=\\\"display-inline-relative\\\">arrow_drop_down</mat-icon>\\n                </span>\\n              </a>\\n            </div>\\n            <mat-menu #langMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\" xPosition=\\\"before\\\" class=\\\"app-dropdown swal\\\">\\n              <div class=\\\"logout-menu\\\">\\n                <!-- Name -->\\n                <div class=\\\"enroll_img\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-around center\\\">\\n                  <div>\\n                    <span [ngStyle.lt-sm]=\\\"{'font-size.px': 12}\\\" class=\\\"text-uppercase f-500\\\" data-bind=\\\"label\\\"\\n                      [textContent]=\\\"(userServiceModal?.customerData?.FirstName || userServiceModal?.enrollerInfo?.FirstName) + ' ' + (userServiceModal?.customerData?.LastName || userServiceModal?.enrollerInfo?.LastName)\\\"></span>\\n                  </div>\\n                  <div class=\\\"avtar nocursor\\\">\\n                    <img style=\\\"height:45px;width:45px;\\\"\\n                      [src]=\\\"userServiceModal?.customerData?.ImageUrl || userServiceModal?.enrollerInfo?.ImageUrl\\\"\\n                      alt=\\\"companylogo\\\" [default]=\\\"'assets/images/user.png'\\\">\\n\\n                  </div>\\n                </div>\\n                <!-- Sign Out -->\\n                <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"isLoggedIn()\\\">\\n                  <button class=\\\"shop-btn product-button w-60  \\\" mat-raised-button color=\\\"black\\\" (click)=\\\"logout()\\\">Sign\\n                    Out</button>\\n                </div>\\n                <!-- Sign In -->\\n                <div fxLayoutAlign=\\\"space-around center\\\" class=\\\"\\\" *ngIf=\\\"!isLoggedIn()\\\">\\n                  <button class=\\\"shop-btn product-button w-60  \\\" mat-raised-button color=\\\"black\\\" (click)=\\\"login()\\\">Sign\\n                    In</button>\\n                </div>\\n                <!-- Orders -->\\n                <a>\\n                  <div fxLayoutAlign=\\\" stretch\\\" class=\\\"avtar receiptOrder\\\" fxLayout=\\\"row\\\" routerLink=\\\"/orderhistory\\\">\\n                    <mat-icon class=\\\"receipt\\\">receipt</mat-icon>\\n                    <span *ngIf=\\\"isLoggedIn()\\\" class=\\\"m-l-7 f-w-100\\\"\\n                      [ngClass]=\\\"{'text-gray': '/orderhistory' ? router.isActive('/orderhistory', true): false}\\\">Order\\n                      History</span>\\n                  </div>\\n                </a>\\n                <!--Manage Autoship-->\\n                <a>\\n                  <div fxLayoutAlign=\\\" stretch\\\" class=\\\"avtar \\\" fxLayout=\\\"row\\\" routerLink=\\\"/manageautoship\\\">\\n                    <mat-icon class=\\\"receipt\\\">assessment</mat-icon>\\n                    <span *ngIf=\\\"isLoggedIn()\\\" class=\\\"m-l-7 f-w-100\\\"\\n                      [ngClass]=\\\"{'text-gray': '/   manageautoship' ? router.isActive('/manageautoship', true): false}\\\">Manage\\n                      Autoship</span>\\n                  </div>\\n                </a>\\n              </div>\\n            </mat-menu>\\n          </div>\\n        </div>\\n      </mat-toolbar-row>\\n    </mat-toolbar>\\n    <mat-toolbar fxHide fxShow.lt-md color=\\\"primary\\\" class=\\\"kuro header\\\" fxFlex=\\\"100\\\">\\n      <mat-toolbar-row class=\\\"container p-0 h-90\\\">\\n        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n          <div class=\\\"mt\\\" fxLayout=\\\"row\\\" fxFlex=\\\"33\\\" fxLayoutAlign=\\\"flex-start flex-start\\\">\\n            <div class=\\\"logo1\\\">\\n              <span fxHide=\\\"false\\\" fxHide.gt-sm>\\n                <button mat-icon-button class=\\\"mat\\\" (click)=\\\"toggleMobileMenu($event)\\\">\\n                  <mat-icon>menu</mat-icon>\\n                </button>\\n              </span>\\n            </div>\\n          </div>\\n          <div fxLayout=\\\"row\\\" fxFlex=\\\"33\\\" class=\\\"m-t-0\\\" fxLayoutAlign=\\\"center center\\\">\\n            <p class=\\\"margin-img\\\">\\n              <a class=\\\"c-white logo\\\" routerLink=\\\"/home\\\"><img src=\\\"../../../../assets/images/logo_small.png\\\"\\n                  class=\\\"width-img\\\" />\\n              </a>\\n            </p>\\n          </div>\\n          <div class=\\\"mt p-l-20 p-r-20 \\\" fxLayout=\\\"row\\\" fxFlex=\\\"33\\\" fxLayoutAlign=\\\"end end\\\">\\n            <div>\\n              <app-shopping-widgets [shoppingCartItems]=\\\"shoppingCartItems\\\"></app-shopping-widgets>\\n            </div>\\n\\n          </div>\\n        </div>\\n      </mat-toolbar-row>\\n    </mat-toolbar>\\n  </ng-container>\\n</div>\";","export default \"<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"false\\\">\\n    <mat-icon class=\\\"close-icon\\\">close</mat-icon>\\n</button>\\n<div class=\\\"dialog-content-wrapper hosted_payment-Dialog\\\" id=\\\"hosted_payment-Dialog-wrapper\\\">\\n    <mat-toolbar class=\\\"header m-0\\\">\\n        <mat-toolbar-row fxFlex fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n            <span class=\\\"title dialog-title\\\" fxFlex translate=\\\"shop_add_payment\\\"></span>\\n        </mat-toolbar-row>\\n    </mat-toolbar>\\n    <div mat-dialog-content id=\\\"hosted_payment-Dialog-content\\\" fxLayout=\\\"column\\\">\\n        <div class=\\\"m-b-0\\\" *ngIf=\\\"getIframeUrl() || paymentData.Script\\\">\\n            <div class=\\\"card-body p-b-5 flex-middle\\\">\\n                <iframe id=\\\"iframDSPayment\\\" [src]=\\\"iFrameUrl\\\" width=\\\"{{getIframeWidth()}}\\\"\\n                    height=\\\"{{getIframeHeight()}}\\\" scrolling=\\\"yes\\\" style=\\\"border:none;\\\"></iframe>\\n            </div>\\n            <div class=\\\"clearfix\\\"></div>\\n        </div>\\n    </div>\\n\\n</div>\\n<script>\\n    function OnIFrameSave(e) {\\n\\n    }\\n</script>\";","export default \"<div class=\\\"slideshow\\\">\\n  <div class=\\\"video-container\\\">\\n    <video autoplay [muted]=\\\"true\\\" loop playsinline id=\\\"myVideo\\\">\\n      <source src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/ira.mp4?v=1647986268\\\" type=\\\"video/mp4\\\">\\n    </video>\\n    <div class=\\\"content c-white\\\">\\n      <p><span class=\\\"f-s-12\\\">INTRODUCING</span></p>\\n      <p class=\\\"m-t-12 f-s-36 f-w-700\\\">The Perfect Workout</p>\\n      <p class=\\\"m-t-20\\\">Begins with the perfect stretch material</p>\\n      <p class=\\\"m-t-30 shop-btn\\\"><span class=\\\"c-white f-s-14\\\"  routerLink=\\\"/products/all\\\">Shop now</span></p>\\n    </div>\\n  </div>\\n</div>\\n\\n<div class=\\\"home-1-wrap\\\">\\n\\n  <div class=\\\"\\\">\\n    <!-- Shop the collection div -->\\n    <div fxLayout=\\\"row wrap\\\" class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\" fxFill fxLayout.gt-sm=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\" fxLayoutGap=\\\"20px\\\"\\n        fxFlex>\\n        <div class=\\\"card-wrap img-bg2 h-661\\\" fxFill\\n          style=\\\"background-image: url('https://cdn.shopify.com/s/files/1/0926/9298/files/FORCEMAJEURE_LIGHTMARINE_4_1200x1600_ecbc368d-33f9-4ae8-ac62-c2e8205511e5.jpg?v=1644345376&width=1200');\\\"\\n          fxFlex=\\\"49\\\" fxFlex.gt-md=\\\"50\\\" fxFlex.gt-xs=\\\"50\\\">\\n          <mat-card class=\\\"light-block\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"start center\\\">\\n            <div class=\\\"content c-white text-center\\\">\\n              <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\" *ngIf=\\\"!contentLoaded\\\" count=\\\"2\\\"\\n                [theme]=\\\"{ 'border-radius': '0', width: '100px', height: '15px' }\\\"></ngx-skeleton-loader>\\n              <p *ngIf=\\\"contentLoaded\\\" class=\\\"f-s-36 f-w-700 font-IBM\\\">Womens</p>\\n              <p><span *ngIf=\\\"contentLoaded\\\" class=\\\"m-t-12 font-IBM\\\">Get a bonus plus for buying more that three\\n                  products</span></p>\\n              <p *ngIf=\\\"contentLoaded\\\" class=\\\"m-t-30 shop-btn font-IBM\\\"  routerLink=\\\"/products/all\\\"><a class=\\\"c-white f-s-14\\\">Shop the\\n                  Collection</a></p>\\n            </div>\\n          </mat-card>\\n        </div>\\n        <div class=\\\"card-wrap img-bg2 h-661\\\" fxFill\\n          style=\\\"background-image: url('https://cdn.shopify.com/s/files/1/0926/9298/files/STREAMLINE78_MARINE7_1200x1600_22474e3e-6864-4172-a333-32b79a0ccee6.jpg?v=1644345448&width=1200');\\\"\\n          fxFlex=\\\"48\\\" fxFlex.gt-md=\\\"50\\\" fxFlex.gt-xs=\\\"50\\\">\\n          <mat-card class=\\\"light-block\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"start center\\\">\\n            <div class=\\\"content c-white text-center\\\">\\n              <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\" *ngIf=\\\"!contentLoaded\\\" count=\\\"2\\\"\\n                [theme]=\\\"{ 'border-radius': '0', width: '100px', height: '15px' }\\\"></ngx-skeleton-loader>\\n              <p *ngIf=\\\"contentLoaded\\\" class=\\\"f-s-36 f-w-700 font-IBM\\\">Sweat Shirts</p>\\n              <p><span *ngIf=\\\"contentLoaded\\\" class=\\\"m-t-12 font-IBM\\\">Get a bonus plus for buying more that three\\n                  products</span></p>\\n              <p *ngIf=\\\"contentLoaded\\\" class=\\\"m-t-30 shop-btn font-IBM\\\"  routerLink=\\\"/products/6\\\"><a class=\\\"c-white f-s-14\\\">Shop the\\n                  Collection</a></p>\\n            </div>\\n          </mat-card>\\n        </div>\\n      </div>\\n    </div>\\n    <hr style=\\\"margin:0px 28px; border-color:rgba(0,0,0,0.1)\\\">\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <p class=\\\"f-s-24 f-w-700\\\">{{allItems[0]?.Category}}</p>\\n        <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n          fxLayoutGap=\\\"20px\\\" fxFlex=\\\"100\\\">\\n          <div *ngFor=\\\"let productImage of healthBeautyProduct; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"32\\\" fxFlex.lt-md=\\\"100\\\"\\n            fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div fxFlex=\\\"70\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" (mouseover)=\\\"mouseEnter(i)\\\"\\n              (mouseout)=\\\"mouseOut(i)\\\" fxLayout=\\\"column\\\" fxFill class=\\\"p-relative cursor-pointer\\\"  id=\\\"parent\\\">\\n              <img (click)=\\\"goToShop(productImage.ItemID)\\\" [src]=\\\"env.imageUrl +productImage.ImageUrl\\\" alt=\\\"\\\" class=\\\"img-bg\\\" [id]=\\\"'product'+i\\\" style=\\\"width: 100% !important;\\\">\\n              <!-- <img [src]=\\\"productImage.url\\\" alt=\\\"\\\" class=\\\"img-bg d-none\\\" [id]=\\\"'products'+i\\\" style=\\\"width: 100% !important;\\\"> -->\\n              <div class=\\\"content\\\" fxLayout=\\\"column\\\" fxFill fxLayoutAlign=\\\"end\\\">\\n                <div class=\\\"p-absolute abs-width\\\">\\n                  <button [id]=\\\"'btn'+i\\\" class=\\\"shop-btn product-button d-none w-89 m-t-20 m-b-20 m-r-0 m-l-0\\\"\\n                    mat-raised-button color=\\\"black\\\"  (click)=\\\"handleProduct(productImage)\\\">Quick Add</button>\\n                </div>\\n              </div>\\n            </div>\\n            <div fxFlex=\\\"10\\\" fxLayout=\\\"row\\\" class=\\\"content m-t-20\\\">\\n              <div fxFlex=\\\"70\\\">\\n                <p><span class=\\\"font-IBM\\\">{{productImage.ProductName}}</span></p>\\n                <p><span class=\\\"m-t-10 font-IBM\\\"><del *ngIf=\\\"productImage.oldPrice\\\">{{productImage.oldPrice}} </del>\\n                    {{'$'+productImage.Price}}</span></p>\\n              </div>\\n              <div *ngIf=\\\"productImage.oldPrice\\\" fxFlex=\\\"30\\\" class=\\\"text-end m-t-10\\\">\\n                <p class=\\\"f-s-12 sale\\\" color=\\\"white\\\">Sale</p>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Sweat suit -->\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\" class=\\\"bg-white-smoke\\\" fxFill fxLayout.gt-sm=\\\"row\\\" fxLayoutAlign=\\\"center center\\\" fxFlex>\\n        <div fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n          <img\\n            src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/NEWBLACKOUTLEGGINGS_NAVY_1_085ee5dc-7e45-4d27-8a72-d75f18d4bb01_1080x.jpg?v=1600985773\\\"\\n            alt=\\\"product-image\\\" width=\\\"100%\\\">\\n        </div>\\n        <div fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" fxFill>\\n          <div class=\\\"content text-center\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\">\\n            <p class=\\\"m-t-12 f-s-36 f-w-700\\\">The Sweat Suit</p>\\n            <p class=\\\"m-t-20\\\">With award-winning moisture-wicking fabric.</p>\\n          </div>\\n          <div fxLayout=\\\"row\\\" class=\\\"m-t-30\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\">\\n            <div fxFlex=\\\"33\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\">\\n              <div class=\\\"img-hover text-center\\\">\\n                <img\\n                  src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/products/WORKOUTSPORTSBRA_BLACK_1_1200x1600_47939eb0-cf11-46fc-b6c3-a175511f4398.jpg?v=1600717663&width=650\\\"\\n                  alt=\\\"sports-costume\\\" width=\\\"40%\\\">\\n              </div>\\n              <p class=\\\"m-t-10 text-center f-s-14\\\">Shoal Sports Bra in Black</p>\\n              <p class=\\\"m-t-10 f-s-14 a-hover\\\"><a routerLink=\\\"/products/all\\\">Shop now</a></p>\\n            </div>\\n            <div class=\\\"vl\\\" fxFlex=\\\"1\\\"></div>\\n            <div fxFlex=\\\"33\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\">\\n              <div class=\\\"img-hover text-center\\\">\\n                <img\\n                  src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/products/LIMITLESS7_8LEGGINGS_CARBON_5_1200x1600_4fd2ffb4-7ca0-4f10-b682-78ba6be776a4.jpg?v=1600723210&width=650\\\"\\n                  alt=\\\"sports-costume\\\" width=\\\"40%\\\">\\n              </div>\\n              <p class=\\\"m-t-10 text-center f-s-14\\\">Tributary Leggings</p>\\n              <p class=\\\"m-t-10 f-s-14 a-hover\\\"><a routerLink=\\\"/products/all\\\">Shop now</a></p>\\n            </div>\\n            <div class=\\\"vl\\\" fxFlex=\\\"1\\\"></div>\\n            <div fxFlex=\\\"33\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\">\\n              <div class=\\\"img-hover text-center\\\">\\n                <img\\n                  src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/products/BLACKOUTLITELEGGING_DARKGREENMARL_4_1200x1600_15f09cf0-893a-4085-af87-55b1dfaa9ce9.jpg?v=1602882712&width=650\\\"\\n                  alt=\\\"sports-costume\\\" width=\\\"40%\\\">\\n              </div>\\n              <p class=\\\"m-t-10 text-center f-s-14\\\">Tundra Leggings in Dark Green</p>\\n              <p class=\\\"m-t-10 f-s-14 a-hover\\\"><a routerLink=\\\"/products/all\\\">Shop now</a></p>\\n            </div>\\n            <div class=\\\"vl\\\" fxFlex=\\\"1\\\"></div>\\n          </div>\\n          <button class=\\\"shop-btn product-button c-white\\\" mat-raised-button color=\\\"black\\\"  routerLink=\\\"/products/all\\\">Shop the collection</button>\\n        </div>\\n      </div>\\n    </div>\\n    <hr style=\\\"margin:0px 28px; border-color:rgba(0,0,0,0.1)\\\">\\n    <!-- Collections -->\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <p class=\\\"f-s-24 f-w-700\\\">Collections</p>\\n        <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n          fxLayoutGap=\\\"20px\\\" fxFlex>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\"img-hover text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/products/LIMITLESS7_8LEGGINGS_CARBON_5_1200x1600_4fd2ffb4-7ca0-4f10-b682-78ba6be776a4_540x.jpg?v=1600723210\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Leggings</p>\\n          </div>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\"img-hover text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/products/MARVELSPORTSBRA_CARBON_1_1200x1600_115127f6-557f-43bd-bf53-8db8bc9ecea8_540x.jpg?v=1600717912\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Sports Bras</p>\\n          </div>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\"img-hover text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/products/WRPUFFA_JACKET_LIGHTGREYMARL_271_1200x1600_14b13e56-441c-44f3-abe4-68afbc11116f_540x.jpg?v=1601329276\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Men's Jackets</p>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Performance div -->\\n    <div class=\\\"m-t-20\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center\\\" fxFlex=\\\"50\\\" class=\\\"bg-img p-relative\\\">\\n          <img src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/Block_02.jpg?v=1600977240&width=1512\\\" alt=\\\"image\\\">\\n          <div class=\\\"content p-abs c-white\\\">\\n            <div class=\\\"p-relative p-content-div\\\">\\n              <p><span class=\\\"f-s-12\\\">OUR VALUES</span></p>\\n              <p class=\\\"m-t-12 f-s-36 f-w-700\\\">Performance</p>\\n              <p class=\\\"m-t-20 w-35\\\">Everything we do at Energy Well is guided by a commitment to unlocking the highest\\n                performance within our customers.</p>\\n              <p class=\\\"m-t-30 shop-btn\\\"  routerLink=\\\"/products/all\\\"><a class=\\\"c-white f-s-14\\\">Learn More</a></p>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <hr style=\\\"margin:0px 28px; border-color:rgba(0,0,0,0.1)\\\">\\n    <!-- Quarterly Packs  this.allItems[0].Category-->\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <p class=\\\"f-s-24 f-w-700\\\">{{allItems[1]?.Category}}</p>\\n        <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n          fxLayoutGap=\\\"20px\\\" fxFlex=\\\"100\\\">\\n          <div *ngFor=\\\"let productImage of quarterlyPacksProduct; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"32\\\" fxFlex.lt-md=\\\"100\\\"\\n            fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div fxFlex=\\\"70\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" (mouseover)=\\\"mouseEnter(i+4)\\\"\\n              (mouseout)=\\\"mouseOut(i+4)\\\" fxLayout=\\\"column\\\" fxFill class=\\\"p-relative cursor-pointer\\\" >\\n              <img (click)=\\\"goToShop(productImage.ItemID)\\\" [src]=\\\"env.imageUrl +productImage.ImageUrl\\\" alt=\\\"\\\" class=\\\"img-bg\\\" [id]=\\\"'product'+(i+4)\\\"\\n                style=\\\"width: 100% !important;\\\">\\n              <div class=\\\"content\\\" fxLayout=\\\"column\\\" fxFill fxLayoutAlign=\\\"end\\\">\\n                <div class=\\\"p-absolute abs-width\\\">\\n                  <button [id]=\\\"'btn'+(i+4)\\\" class=\\\"shop-btn product-button d-none w-89 m-t-20 m-b-20 m-r-0 m-l-0\\\"\\n                    mat-raised-button color=\\\"black\\\"   (click)=\\\"handleProduct(productImage)\\\">Quick Add</button>\\n                </div>\\n              </div>\\n            </div>\\n            <div fxFlex=\\\"10\\\" fxLayout=\\\"row\\\" class=\\\"content m-t-20\\\">\\n              <div fxFlex=\\\"70\\\">\\n                <p><span class=\\\"font-IBM\\\">{{productImage.ProductName}}</span></p>\\n                <p><span class=\\\"m-t-10 font-IBM\\\"><del *ngIf=\\\"productImage.oldPrice\\\">{{productImage.oldPrice}} </del>\\n                    {{'$'+productImage.Price}}</span></p>\\n              </div>\\n              <div *ngIf=\\\"productImage.oldPrice\\\" fxFlex=\\\"30\\\" class=\\\"text-end m-t-10\\\">\\n                <p class=\\\"f-s-12 sale\\\" color=\\\"white\\\">Sale</p>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- Slider -->\\n    <div class=\\\"text-section\\\">\\n      <div class=\\\"main-slider\\\">\\n        <div class=\\\"swiper-container h-100\\\" [swiper]=\\\"config\\\">\\n          <div class=\\\"swiper-wrapper\\\">\\n            <div *ngFor=\\\"let slide of slider\\\" class=\\\"swiper-slide p-relative\\\">\\n              <img [attr.data-src]=\\\"slide.image\\\" class=\\\"slide-item swiper-lazy before-after-slides slider-img\\\"/>\\n              <div class=\\\"content p-abs top-0 c-white\\\">\\n                <div class=\\\"p-relative top-left\\\">\\n                  <p class=\\\"m-t-12 f-s-36 f-w-700\\\">{{slide.title}}</p>\\n                  <p class=\\\"m-t-20\\\">{{slide.subtitle}}</p>\\n                  <button class=\\\"shop-btn product-button p-fixed c-white\\\" mat-raised-button color=\\\"black\\\"  routerLink=\\\"/products/all\\\">Shop the collection</button>\\n                </div>\\n              </div>\\n            </div>\\n          </div>\\n          <!-- <div class=\\\"swiper-pagination white\\\"></div> -->\\n          <div class=\\\"swiper-button-prev\\\"></div>\\n          <div class=\\\"swiper-button-next\\\"></div>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- this.allItems[2].Category -->\\n    <div class=\\\"p-30\\\" *ngIf=\\\"shopPacksProduct.length > 0\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <p class=\\\"f-s-24 f-w-700\\\">{{allItems[2]?.Category}}</p>\\n        <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n          fxLayoutGap=\\\"20px\\\" fxFlex=\\\"100\\\">\\n          <div *ngFor=\\\"let productImage of shopPacksProduct; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"32\\\" fxFlex.lt-md=\\\"100\\\"\\n            fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div fxFlex=\\\"70\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" (mouseover)=\\\"mouseEnter(i+10)\\\"\\n              (mouseout)=\\\"mouseOut(i+10)\\\" fxLayout=\\\"column\\\" fxFill class=\\\"p-relative cursor-pointer\\\"  id=\\\"parent\\\">\\n              <img (click)=\\\"goToShop(productImage.ItemID)\\\" [src]=\\\"env.imageUrl +productImage.ImageUrl\\\" alt=\\\"\\\" class=\\\"img-bg\\\" [id]=\\\"'product'+(i+10)\\\" style=\\\"width: 100% !important;\\\">\\n              <!-- <img [src]=\\\"productImage.url\\\" alt=\\\"\\\" class=\\\"img-bg d-none\\\" [id]=\\\"'products'+i\\\" style=\\\"width: 100% !important;\\\"> -->\\n              <div class=\\\"content\\\" fxLayout=\\\"column\\\" fxFill fxLayoutAlign=\\\"end\\\">\\n                <div class=\\\"p-absolute abs-width\\\">\\n                  <button [id]=\\\"'btn'+(i+10)\\\" class=\\\"shop-btn product-button d-none w-89 m-t-20 m-b-20 m-r-0 m-l-0\\\"\\n                    mat-raised-button color=\\\"black\\\"   (click)=\\\"handleProduct(productImage)\\\">Quick Add</button>\\n                </div>\\n              </div>\\n            </div>\\n            <div fxFlex=\\\"10\\\" fxLayout=\\\"row\\\" class=\\\"content m-t-20\\\">\\n              <div fxFlex=\\\"70\\\">\\n                <p><span class=\\\"font-IBM\\\">{{productImage.ProductName}}</span></p>\\n                <p><span class=\\\"m-t-10 font-IBM\\\"><del *ngIf=\\\"productImage.oldPrice\\\">{{productImage.oldPrice}} </del>\\n                    {{'$'+productImage.Price}}</span></p>\\n              </div>\\n              <div *ngIf=\\\"productImage.oldPrice\\\" fxFlex=\\\"30\\\" class=\\\"text-end m-t-10\\\">\\n                <p class=\\\"f-s-12 sale\\\" color=\\\"white\\\">Sale</p>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- the new collection -->\\n    <div class=\\\"m-t-20\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center\\\" fxFlex=\\\"50\\\" class=\\\"bg-img p-relative\\\">\\n          <img src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/Banner_03.jpg?v=1600973446&width=1512\\\" alt=\\\"image\\\">\\n          <div class=\\\"content p-abs c-white\\\">\\n            <div class=\\\"p-relative p-content-div\\\">\\n              <p><span class=\\\"f-s-12\\\">INTRODUCING</span></p>\\n              <p class=\\\"m-t-12 f-s-36 f-w-700\\\">The New Collection</p>\\n              <p class=\\\"m-t-20 w-35\\\">Sustainable activewear inspired by the real lives and real bodies of our customers.</p>\\n              <p class=\\\"m-t-30 shop-btn\\\"  routerLink=\\\"/products/all\\\"><a class=\\\"c-white f-s-14\\\">Shop now</a></p>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <hr style=\\\"margin: 40px 28px 0px 28px; border-color:rgba(0,0,0,0.1)\\\">\\n    <!-- social -->\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <p class=\\\"f-s-24 f-w-700\\\">Social</p>\\n        <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n          fxLayoutGap=\\\"20px\\\" fxFlex=\\\"100\\\">\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\" text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/BTN01_2x_234e83a8-4a87-4dac-a89b-1c7eb62a2f9e_540x.png?v=1600987056\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-14 f-w-400 m-t-10\\\">We've just launched our newest pair of seamless tights. Pictured here and in stores soon.</p>\\n          </div>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\" text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/BTN03_2x_b8612da0-9555-44d0-a972-fa1fa9c62f77_540x.png?v=1600987024\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-14 f-w-400 m-t-10\\\">Our newest line of tights come in navy and black and are sure to get you running.</p>\\n          </div>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\" text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/FLEXTANK_WHITE_2.jpg?crop=center&height=300&v=1600985712&width=300\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-14 f-w-400 m-t-10\\\">Celebrating Mondays that get us moving - from the track to the pool.</p>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</div>\\n\";","export default \"<div class=\\\"sophia-app app\\\" [ngClass]=\\\"settings.theme\\\" id=\\\"mainDIV\\\" style=\\\"height: 100vh;overflow: auto;\\\">\\n    <app-sidebar-summary-cart></app-sidebar-summary-cart>\\n    <app-main></app-main>\\n   \\n    <app-my-loader></app-my-loader>\\n   \\n</div>\\n\\n\";","\n\nimport { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CartService } from 'src/app/components/shared/services/cart.service';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { ProductDialogComponent } from 'src/app/components/shop/products/product-dialog/product-dialog.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport $ from 'jquery';\nimport { ConfirmDialogComponent } from '../model/confirm-dialog/confirm-dialog.component';\nimport { UserService } from '../services/user.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { Cart1Service } from '../services/cart1.service';\n@Component({\n  selector: 'app-customer-type-carousel',\n  templateUrl: './customer-type-carousel.component.html',\n  styleUrls: ['./customer-type-carousel.component.scss']\n})\nexport class CustomerTypeCarouselComponent implements OnInit {\n  @Output() onOpenProductDialog: EventEmitter<any> = new EventEmitter();\n  @Input('customerTypes') customerTypes: Array<any> = [];\n  @Input('typeSelected') typeSelected: any;\n  userService: UserServiceModal;\n  public config: SwiperConfigInterface = {};\n  scrollPosition: any;\n  scrollDuration: any;\n  paddleMargin: any;\n  constructor(\n    public configService: ConfigService,\n    private dialog: MatDialog,\n    private router: Router,\n    private cartService: CartService,\n    private cart1Service: Cart1Service,\n    private productService: ProductService,\n    public translate: TranslateService,\n    public user: UserService,\n    public activatedRoute: ActivatedRoute\n  ) {\n    this.userService = user.userServiceModal;\n  }\n\n  ngOnInit() {\n  }\n  ngAfterViewInit() {\n    this.config = {\n      observer: true,\n      slidesPerView: 3,\n      spaceBetween: 16,\n      keyboard: true,\n      navigation: true,\n      pagination: false,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      breakpoints: {\n        480: {\n          slidesPerView: 1\n        },\n        740: {\n          slidesPerView: 2,\n        },\n        960: {\n          slidesPerView: 3,\n        },\n        1280: {\n          slidesPerView: 4,\n        },\n\n\n      }\n    }\n  }\n\n\n  public openProductDialog(product) {\n    const dialogRef = this.dialog.open(ProductDialogComponent, {\n      data: product,\n      panelClass: 'product-dialog'\n    });\n    dialogRef.afterClosed().subscribe(products => {\n      if (products) {\n        this.router.navigate(['/products', product.id, product.name]);\n      }\n    });\n  }\n\n  // Add to cart\n  public addToCart(product: any, quantity: number = 1) {\n    this.cartService.addToCart(product, quantity);\n  }\n  haveScroll() {\n    const menuInvisibleSize = this.getMenuSize() - $('.user-types').outerWidth() - this.paddleMargin;\n    if (menuInvisibleSize <= 0) {\n      return false;\n    }\n    return true;\n  }\n  setScrollPosition() {\n    if ($('#status-user-type-' + this.typeSelected) && $('#status-user-type-' + this.typeSelected).position()) {\n      this.scrollPosition = $('#status-user-type-' + this.typeSelected).position().left;\n      $('.user-types').animate({ scrollLeft: this.scrollPosition }, this.scrollDuration);\n    }\n  }\n  slideSectionRight() {\n    this.scrollPosition += 250;\n    const scrollSize = $('.user-type').length * $('.user-type').outerWidth(true);\n    if (this.scrollPosition > scrollSize) {\n      this.scrollPosition = scrollSize;\n    }\n    $('.user-types').animate({ scrollLeft: this.scrollPosition }, this.scrollDuration);\n  }\n  getMenuSize() {\n    return $('.user-type').length * $('.user-type').outerWidth(true) - 10;\n  }\n\n  selectType(type) {\n    if (type == this.typeSelected) {\n      sessionStorage.setItem('customerSelected', 'true');\n      return;\n    }\n\n    const dialogRef1 = this.dialog.open(ConfirmDialogComponent, {\n      data: {\n        title: this.translate.instant('update_customer_title'),\n        message: this.translate.instant('update_customer_text'),\n        takeaction: this.translate.instant('YES'),\n        noaction: this.translate.instant('NO'),\n      },\n      disableClose: true,\n      panelClass: ''\n    });\n    dialogRef1.afterClosed().subscribe(dialogResult => {\n      if (dialogResult) {\n        this.typeSelected = type;\n        sessionStorage.setItem('customerSelected', 'true');\n        if (this.typeSelected != '0') {\n          sessionStorage.setItem('selectedCustomerTypeID', this.typeSelected);\n          this.userService.customerTypeID = this.typeSelected;\n        } else {\n          this.typeSelected = 2;\n        }\n        this.router.navigate(['/join'],\n          {\n            relativeTo: this.activatedRoute,\n            queryParams: { type: this.typeSelected },\n            queryParamsHandling: 'merge'\n          }).then(() => { window.location.reload(); });\n          this.cart1Service.clearCart();\n      }\n    });\n  }\n  collapseSection(type) {\n    if (type == this.typeSelected) {\n      this.userService.sponsorSectionPanel = false;\n    }\n  }\n\n}\n\n\n\n\n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CheckoutComponent } from './checkout/checkout.component';\nimport { LoginComponent } from './login/login.component';\nimport { AboutUsComponent } from './about-us/about-us.component';\nimport { FaqComponent } from './faq/faq.component';\nimport { ErrorPageComponent } from './error-page/error-page.component';\nimport { SignupComponent } from 'src/app/components/pages/signup/signup.component';\nimport { ApplicationComponent } from './application/application.component';\nimport { AuthGuard } from '../shared/services/auth.guard.service';\nimport { OrderHistoryComponent } from './order-history/order-history.component';\nimport { ManageAutoshipComponent } from './manage-autoship/manage-autoship.component';\nimport { OrderInvoiceComponent } from './order-invoice/order-invoice.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { ShippingAddressComponent } from './shippingaddress/shippingaddress.component';\nimport { HomeComponent } from './home/home.component';\nimport { CompleteComponent } from './complete/complete.component';\nimport { LoggedInAuthGuard } from '../shared/services/loggedin.guard.service';\nimport { ContactComponent } from './contacts/contacts.component';\nimport { FlickityComponent } from './flickity/flickity.component';\n\nconst routes: Routes = [\n      { path: 'home', redirectTo: 'join' },\n      { path: 'about', component: AboutUsComponent },\n      { path: 'checkout', component: CheckoutComponent ,canActivate: [AuthGuard] },\n      { path: 'faq', component: FaqComponent },\n      { path: 'contact', component: ContactComponent },\n      { path: 'login', redirectTo: 'join' },\n      { path: 'orderhistory', component: OrderHistoryComponent,canActivate: [AuthGuard] },\n      { path: 'manageautoship', component: ManageAutoshipComponent,canActivate: [AuthGuard] },\n      { path: 'autoorderhistory', component: LoginComponent,canActivate: [AuthGuard] },\n      { path: 'complete', component: CompleteComponent,canActivate: [AuthGuard]},\n      { path: '404', component: ErrorPageComponent },\n      { path: 'signup', component: SignupComponent ,canActivate: [LoggedInAuthGuard]},\n      { path: 'join', component: ApplicationComponent,canActivate: [LoggedInAuthGuard] },\n      { path: 'orderinvoice', component: OrderInvoiceComponent ,canActivate: [AuthGuard] },\n      { path: 'forgotpassword', component: ForgotPasswordComponent },\n      { path: 'shipping', component: ShippingAddressComponent ,canActivate: [AuthGuard] },\n      { path: 'item/:id', component: FlickityComponent}\n    ];\n\n\n@NgModule({\n  imports: [RouterModule.forChild(routes)],\n  exports: [RouterModule]\n})\nexport class PagesRoutingModule { }\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzaWdudXAuY29tcG9uZW50LnNjc3MifQ== */\";","export default \"\\n<!-- new theme section is start here -->\\n<div class=\\\"about-us-wrapper bgm-white\\\">\\n  <div class=\\\"container\\\">\\n    <!-- text section -->\\n    <div class=\\\"p-30\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\">\\n      <div fxLayout=\\\"column\\\" class=\\\"width-responsive text-center\\\" fxLayoutAlign=\\\"center center\\\" fxFlex=\\\"46\\\" fxFlex.lt-md=\\\"72\\\" fxFlex.lt-sm=\\\"80\\\">\\n        <p class=\\\"m-t-12 f-s-36 f-w-700 p1\\\">We think everything is possible</p>\\n        <p class=\\\"m-t-20 p2\\\">We believe in the power of human potential and in doing everything in our power to see it flourish. That means putting our money where our mouth is and inspiring excellence in sport not only in our backyard, but all around the world.</p>\\n      </div>\\n    </div>\\n    <!-- image grid -->\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\" fxFill fxLayout.gt-sm=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutGap=\\\"20px\\\">\\n        <div fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-sm=\\\"100\\\">\\n          <img\\n            src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/FORCEMAJEURE_LIGHTMARINE_4_1200x1600_ecbc368d-33f9-4ae8-ac62-c2e8205511e5_900x.jpg?v=1644345376\\\"\\n            alt=\\\"product-image\\\" width=\\\"100%\\\" height=\\\"100%\\\">\\n        </div>\\n        <div fxLayout=\\\"column wrap\\\" fxFlex=\\\"50\\\" fxFlex.lt-sm=\\\"100\\\">\\n          <div fxLayout=\\\"row wrap\\\" fxFlex=\\\"49\\\" fxFlex.lt-sm=\\\"100\\\">\\n            <img\\n            src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/Seamless01_2x_9aae5fcf-bb1f-43a3-aa6b-d42036707085_900x.png?v=1600987079\\\"\\n            alt=\\\"product-image\\\" width=\\\"100%\\\">\\n          </div>\\n          <div fxLayout=\\\"row wrap\\\" class=\\\"bgm-white\\\" fxFlex=\\\"2\\\" fxFlex.lt-sm=\\\"100\\\">\\n          </div>\\n          <div fxLayout=\\\"row wrap\\\"  [ngStyle.lt-md]=\\\"{'margin-top.px': 20}\\\" fxFlex=\\\"49\\\" fxFlex.lt-sm=\\\"100\\\">\\n            <img\\n            src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/IMGN_191028_AF1_sRGB91023_JUSTE_04_208_F1_sRGB_900x.jpg?v=1600985793\\\"\\n            alt=\\\"product-image\\\" width=\\\"100%\\\">\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <!-- text , mat-expansion -->\\n    <div class=\\\"p-30 m-b-20\\\">\\n      <div  fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\">\\n        <div class=\\\"width-responsive\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\" fxFlex=\\\"46\\\" fxFlex.lt-md=\\\"72\\\" fxFlex.lt-sm=\\\"80\\\">\\n          <p class=\\\"m-t-20 p2\\\">This demo store uses content from LNDR, an incredible athletic wear brand hailing from London. The content below comes from their website, which you can view here. LNDR was founded by three active, international women, based in London, who wanted to create a brand around \\\"the lifestyle we want to live, the products we want to wear, and the people we wanted to hang out with.</p>\\n          <p class=\\\"m-t-20 p2\\\">We genuinely believe in better quality products and less of them. We believe the day of fast fashion is over - for state of mind and the planet. We don't want a new outfit every month. We want hands down great products that we don't have to think about. LNDR products are made with cutting-edge technology and a fanatical attitude towards quality and fit. It can take factories up to 20 times longer to knit LNDR seamless leggings, for instance, compared to other brands.</p>\\n          <!-- mat expansion -->\\n          <div class=\\\"m-t-20\\\">\\n            <div class=\\\"about-us-intro\\\">\\n                <p class=\\\"f-s-16 f-w-700 p-b-10\\\">Frequently Asked Questions</p>\\n                <div class=\\\"accordions faq-home-accordions\\\">\\n                <mat-accordion>\\n                   <mat-expansion-panel>\\n                     <mat-expansion-panel-header class=\\\"arrow-color\\\">\\n                       <mat-panel-title>\\n                            <span class=\\\"question font-IBM\\\">Why Glutathione?</span>\\n                       </mat-panel-title>\\n                     </mat-expansion-panel-header>\\n                     <p class=\\\"font-IBM\\\">Glutathione (GSH) performs many functions critical to optimal health and performance. It is the body's master antioxidant.  It is a critical detoxifier of the cell anda primary protector of immune cells and immune function. You may learn more about glutathione's critical role with immune cells, their protection and their reproduction by searching: Glutathione and Immune cells, (or immune function or immune system).</p>\\n                   </mat-expansion-panel>\\n                   <mat-expansion-panel>\\n                       <mat-expansion-panel-header class=\\\"arrow-color\\\">\\n                         <mat-panel-title>\\n                             <span class=\\\"question font-IBM\\\">What should I be feeling?</span>\\n                         </mat-panel-title>\\n                       </mat-expansion-panel-header>\\n                       <p class=\\\"font-IBM\\\">You know your body better than anyone, some people feel better after one dosage, some people take up to 2 weeks before they notice any difference. There is a cumulative effect in taking NutriSwish. If you don't feel any difference in your energy levels, physical output, etc., pay attention to your sleeping patterns. Glutathione is known to aid in your body's sleep process.  </p>\\n                     </mat-expansion-panel>\\n                 </mat-accordion>\\n               </div>\\n            </div>\\n          </div>\\n          <!-- p tag -->\\n          <p class=\\\"m-t-30 p2\\\">Each and every LNDR product is precision engineered to perform, whether you're sweating through a METCON, pounding the city streets, or meeting up with mates at the pub for a few well-earned negroni's. Clean, fresh styling and tonal colour-ways make for easy-to-wear, put-together looks that you can just throw on and go. We don't do trends, gimmicks, influencers or compromise. We just do killer kit that feels as great as it looks.</p>\\n      </div>\\n      </div>\\n    </div>\\n    <hr style=\\\"margin:0px 28px; border-color:rgba(0,0,0,0.1)\\\">\\n    <!-- blog posts -->\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\">\\n        <p class=\\\"f-s-24 f-w-700\\\">Blog posts</p>\\n        <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n          fxLayoutGap=\\\"20px\\\" fxFlex=\\\"100\\\">\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\"img-hover text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/articles/Block_01.jpg?v=1601060153&width=550\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-18 f-w-700 m-t-10\\\">The Cheapest, Best Workout</p>\\n            <p class=\\\"m-t-20 f-s-14\\\">We don't want a new outfit every month. We want hands down great products that we don't have to think about.</p>\\n\\n          </div>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\"img-hover text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/articles/Block_02.jpg?v=1601059385&width=550\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Running Your First 10k</p>\\n            <p class=\\\"m-t-20 f-s-14\\\">We genuinely believe in better quality products and less of them. We believe the day of fast fashion is over - for state of mind and the planet.  </p>\\n          </div>\\n          <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n            <div class=\\\"img-hover text-center\\\">\\n              <img\\n                src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/articles/Block_03.jpg?v=1601059755&width=550\\\"\\n                alt=\\\"Leggings\\\" width=\\\"100%\\\">\\n            </div>\\n            <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Strength Training</p>\\n            <p class=\\\"m-t-20 f-s-14\\\">It can take factories up to 20 times longer to knit LNDR seamless leggings, for instance, compared to other brands.</p>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</div>    \";","export default \"#autoshipEditor .main .borderBottom {\\n  border-bottom: 2px solid #cfcfcf;\\n}\\n#autoshipEditor .main .borderBottom1 {\\n  border-bottom: 1px solid #cfcfcf;\\n}\\n#autoshipEditor .main .borderLeft {\\n  border-left: 2px solid #cfcfcf;\\n  height: auto;\\n}\\n@media only screen and (max-width: 768px) {\\n  #autoshipEditor .main .padding-t-20 {\\n    padding-top: 20px;\\n  }\\n}\\n#autoshipEditor .main .mx-height-30 {\\n  max-height: 30%;\\n}\\n#autoshipEditor .main .mx-height-10 {\\n  max-height: 10%;\\n}\\n#autoshipEditor .main .items {\\n  padding-bottom: 15px;\\n  margin-top: 15px !important;\\n}\\n#autoshipEditor .main .items .cart-items__images {\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  width: 90px;\\n  height: 90px;\\n  overflow: hidden;\\n  flex: 0 0 90px;\\n}\\n#autoshipEditor .main .items .cart-items__images img {\\n  border-radius: 0;\\n  width: 100%;\\n  height: auto;\\n  margin: 0;\\n  flex-shrink: 0;\\n  max-width: 70px;\\n  max-height: 70px;\\n}\\n#autoshipEditor .main .items .md-avatar:first-child,\\n#autoshipEditor .main .items .-inner > .md-avatar:first-child {\\n  border-radius: 0;\\n  width: 90px;\\n  height: 90px;\\n}\\n#autoshipEditor .main .items .md-secondary-container {\\n  top: 87%;\\n  font-size: 14px;\\n  font-weight: 500;\\n  color: rgba(0, 0, 0, 0.54);\\n  margin-bottom: 10px;\\n}\\n#autoshipEditor .main .items .input-group {\\n  width: 88px;\\n  line-height: 0;\\n  margin-top: 10px;\\n}\\n#autoshipEditor .main .items .input-group .input-group-btn button {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 30px;\\n  box-shadow: none;\\n  cursor: pointer;\\n}\\n#autoshipEditor .main .items .input-group .input-control {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 28px;\\n  text-align: center;\\n  color: #1c7bbf;\\n}\\n#autoshipEditor .main .items .md-button.remove-items {\\n  position: absolute;\\n  top: -10px;\\n  right: 0;\\n}\\n#autoshipEditor .main .items mat-divider {\\n  left: 50px;\\n  width: calc(\\\"100% - 50px\\\");\\n  bottom: -1px;\\n}\\n#autoshipEditor .main .actionButton .mat-button {\\n  min-width: 30px;\\n  padding: 0px;\\n}\\n#autoshipEditor .main .editButton {\\n  color: black;\\n  font-size: 14px;\\n}\\n#autoshipEditor .main .itemName {\\n  color: black;\\n  font-size: 15px;\\n  cursor: pointer;\\n}\\n#autoshipEditor .footerBottom .mat-raised-button {\\n  background-color: black;\\n  padding: 0px 6px;\\n  margin: 6px 0px;\\n  color: #ffffff;\\n}\\n#autoshipEditor .footerBottom .mat-button {\\n  color: black;\\n  font-size: 14px;\\n}\\n#autoshipEditor .color-f-s-14 {\\n  color: #5e5e5e;\\n  font-size: 14px;\\n}\\n#autoshipEditor .color-f-s-17 {\\n  color: #5e5e5e;\\n  font-size: 17px;\\n}\\n#autoshipEditor .color-f-s-12 {\\n  color: #212121;\\n  font-size: 17px;\\n}\\n#autoshipEditor .cursor-pointer {\\n  cursor: pointer;\\n}\\n#autoshipEditor .m-t-12 {\\n  margin-top: 12px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2F1dG9zaGlwLWVkaXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVE7RUFDSSxnQ0FBQTtBQURaO0FBR1E7RUFDSSxnQ0FBQTtBQURaO0FBR1E7RUFDSSw4QkFBQTtFQUNBLFlBQUE7QUFEWjtBQUdRO0VBQ0k7SUFDSSxpQkFBQTtFQURkO0FBQ0Y7QUFHUTtFQUNJLGVBQUE7QUFEWjtBQUdRO0VBQ0ksZUFBQTtBQURaO0FBR1E7RUFDSSxvQkFBQTtFQUNBLDJCQUFBO0FBRFo7QUFHWTtFQUNFLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QUFEZDtBQUdjO0VBQ0UsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBRGhCO0FBS1k7O0VBRUUsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBQUhkO0FBTVk7RUFDRSxRQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxtQkFBQTtBQUpkO0FBT1k7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0FBTGQ7QUFPZ0I7RUFDRSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QUFMbEI7QUFRYztFQUNFLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBQU5oQjtBQVVZO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTtBQVJkO0FBV1k7RUFDRSxVQUFBO0VBQ0EsMEJBQUE7RUFDQSxZQUFBO0FBVGQ7QUFZUTtFQUNJLGVBQUE7RUFDQSxZQUFBO0FBVlo7QUFZUTtFQUNJLFlBQUE7RUFDQSxlQUFBO0FBVlo7QUFZUTtFQUNJLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBQVZaO0FBY1E7RUFDSSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QUFaWjtBQWNRO0VBQ0ksWUFBQTtFQUNBLGVBQUE7QUFaWjtBQWVJO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QUFiUjtBQWVJO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QUFiUjtBQWVJO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QUFiUjtBQWVJO0VBQ0UsZUFBQTtBQWJOO0FBZUk7RUFDRSxnQkFBQTtBQWJOIiwiZmlsZSI6ImF1dG9zaGlwLWVkaXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjYXV0b3NoaXBFZGl0b3Ige1xuICAgIC5tYWluIHtcbiAgICAgICAgLmJvcmRlckJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2NmY2ZjZjtcbiAgICAgICAgfVxuICAgICAgICAuYm9yZGVyQm90dG9tMSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NmY2ZjZjtcbiAgICAgICAgfVxuICAgICAgICAuYm9yZGVyTGVmdCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNjZmNmY2Y7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgLnBhZGRpbmctdC0yMCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm14LWhlaWdodC0zMCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm14LWhlaWdodC0xMCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMCU7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW1zIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgXG4gICAgICAgICAgICAuY2FydC1pdGVtc19faW1hZ2VzIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIGZsZXg6IDAgMCA5MHB4O1xuICAgICAgXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAgIC5tZC1hdmF0YXI6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAuLWlubmVyID4gLm1kLWF2YXRhcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAgIC5tZC1zZWNvbmRhcnktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgdG9wOiA4NyU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAgIHdpZHRoOiA4OHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaW5wdXQtY29udHJvbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMxYzdiYmY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgICAgLm1kLWJ1dHRvbi5yZW1vdmUtaXRlbXMge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgICBtYXQtZGl2aWRlciB7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCcxMDAlIC0gNTBweCcpOyBcbiAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLmFjdGlvbkJ1dHRvbiAubWF0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmVkaXRCdXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtTmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH0gXG4gICAgfVxuICAgIC5mb290ZXJCb3R0b20ge1xuICAgICAgICAubWF0LXJhaXNlZC1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCA2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDZweCAwcHg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAubWF0LWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjpibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29sb3ItZi1zLTE0IHtcbiAgICAgICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgLmNvbG9yLWYtcy0xNyB7XG4gICAgICAgIGNvbG9yOiAjNWU1ZTVlO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuICAgIC5jb2xvci1mLXMtMTIge1xuICAgICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgICAuY3Vyc29yLXBvaW50ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAubS10LTEyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgfVxufSJdfQ== */\";","export default \".loading-spinner img {\\n  align-self: end;\\n}\\n\\n.loading-message {\\n  text-align: center;\\n  align-self: start;\\n}\\n\\n.loading-spinner {\\n  position: fixed;\\n  z-index: 1001;\\n  overflow: show;\\n  margin: auto;\\n  top: 0;\\n  left: 0;\\n  bottom: 0;\\n  right: 0;\\n  width: 50px;\\n  height: 50px;\\n}\\n\\n/* Transparent Overlay */\\n\\n.loading-spinner:before {\\n  content: \\\"\\\";\\n  display: block;\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  width: 100%;\\n  height: 100%;\\n  background-color: rgba(0, 0, 0, 0.5);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL215LWxvYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLGVBQUE7QUFESjs7QUFJQTtFQUNJLGtCQUFBO0VBQ0EsaUJBQUE7QUFESjs7QUFHQTtFQUNJLGVBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUFBSjs7QUFHRSx3QkFBQTs7QUFDQTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQ0FBQTtBQUFKIiwiZmlsZSI6Im15LWxvYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4ubG9hZGluZy1zcGlubmVyIGltZ3tcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi5sb2FkaW5nLW1lc3NhZ2V7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuLmxvYWRpbmctc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgb3ZlcmZsb3c6IHNob3c7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cbiAgXG4gIC8qIFRyYW5zcGFyZW50IE92ZXJsYXkgKi9cbiAgLmxvYWRpbmctc3Bpbm5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICB9Il19 */\";","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n@Pipe({\n\tname: 'unsafe'\n})\nexport class UnsafePipe implements PipeTransform {\n\tconstructor(private sanitizer: DomSanitizer){}\n\ttransform(content) {\n\t\treturn this.sanitizer.bypassSecurityTrustHtml(content);\n\t}\n}","import { MatDialogRef } from '@angular/material/dialog';\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'app-allow-cvv',\n  templateUrl: './allow-cvv.component.html',\n  styleUrls: ['./allow-cvv.component.scss'],\n  encapsulation: ViewEncapsulation.Emulated,\n})\nexport class AllowCvvComponent implements OnInit {\n  cvvCode: any;\n  constructor(private dialogRef: MatDialogRef<AllowCvvComponent>) { }\n\n  ngOnInit(): void {\n  }\n  save(cvvCode){\n    this.dialogRef.close(cvvCode);\n  }\n  close(){\n    this.dialogRef.close(false);\n  }\n}\n","export default \"\\n\\n<div fxLayout=\\\"column\\\" id=\\\"prod-details\\\">\\n   <div class=\\\"color-b\\\">\\n      <div class=\\\"container main\\\">\\n         <div class=\\\"details-wrapper p-20\\\">\\n            <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n               <div fxLayout=\\\"row\\\" fxLayout.lt-lg=\\\"column\\\" fxFlex=\\\"100\\\" fxLayoutGap=\\\"20px\\\">\\n                  <div fxFlex=\\\"70\\\" fxFlex.md=\\\"65\\\" fxFlex.sm=\\\"52\\\" fxFlex.xs=\\\"48\\\" fxLayout=\\\"column\\\">                  \\n                     <div class=\\\"prodBox cursor-pointer\\\" fxFlex=\\\"100\\\"  (click)=\\\"goToslider(product.ItemID)\\\">\\n                        <img [src]=\\\"env.imageUrl +product.ImageUrl\\\" alt=\\\"\\\" class=\\\"img-bg\\\" style=\\\"width: 80% !important;\\\">\\n                     </div>\\n                  </div>\\n                  <div fxFlex=\\\"30\\\" fxFlex.md=\\\"38\\\" fxFlex.sm=\\\"48\\\" fxFlex.xs=\\\"52\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"start start\\\" class=\\\"m-b-30\\\">\\n                     <div class=\\\"product-right w-100 m-t-30\\\">\\n                        <div >\\n                           <span class=\\\"product-title\\\" [textContent]=\\\"product?.ProductName\\\"></span>\\n                           <p class=\\\"price f-s-14 f-w-400\\\" *ngIf=\\\"!productsService?.catalogMode && product && product.Prices\\\">\\n                              {{product?.Prices[0] && product?.Prices[0].Price | currency:companyService.selectedCurrency.CurrencyCode}}</p>\\n                        </div>\\n                        <hr style=\\\"margin:28px 0px; border-color:rgba(0,0,0,0.1)\\\">                           \\n                        <div class=\\\"product_detail_qv\\\">\\n                           <!-- <span [innerHTML]=\\\"product?.Description\\\"></span> -->\\n                        </div>\\n                        <div class=\\\"price-column\\\">\\n                           <div class=\\\"price\\\" [textContent]=\\\"getPrice(product, OrderQuantityCount) | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                           </div>\\n                           <span *ngIf=\\\"product?.AllowAutoship && (product?.Price - product?.AutoshipPrice > 0)\\\" translate\\n                              [translateParams]=\\\"{value:(product.Price - product.AutoshipPrice | currency:companyService.selectedCurrency.CurrencyCode)}\\\">subscribe_autoship</span>\\n                        </div>\\n                        <div class=\\\"price-column\\\">\\n                           <p> {{'global_pv'|translate}}<span> :\\n                              {{OrderQuantityCount * (product?.CV || product?.QV || 0)}}</span></p>\\n                        </div>\\n                        <div class=\\\"layout-row\\\" fxLayout=\\\"row\\\" *ngIf=\\\"product?.HasOptions\\\">\\n                           <div class=\\\"w-100 checkoptionbox\\\">\\n                           \\n                              <ng-container *ngFor=\\\"let option of product?.ItemOptions; let i = index\\\">\\n                                 <div class=\\\"m-0 p-20-0 custom-size checkoptionbox\\\">\\n                                    <p [textContent]=\\\"option.Option\\\" class=\\\"f-w-700 text\\\"></p>\\n                                    <mat-form-field   appearance=\\\"outline\\\">\\n                                    <mat-select readonly=\\\"true\\\" [(ngModel)]=\\\"value[i]\\\"\\n                                       (selectionChange)=\\\"checkOptions(product?.ItemOptions);\\\" name=\\\"value.Option\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t            placeholder=\\\"Select {{option.Option}}\\\"\\n                                    (click)=\\\"openSelect($event)\\\" \\n                                       class=\\\"md-no-underline-select\\\">\\n                                       <mat-option *ngFor=\\\"let value of getValidValues(product, option, option.Values)\\\"\\n                                          (ngInit)=\\\"setInitialItemOption(option, value)\\\" [value]=\\\"value.Option\\\"\\n                                          (click)=\\\"value.isAvailable && selectOption(product, option, value, false)\\\">\\n                                          {{value.Option}} </mat-option>\\n                                    </mat-select>\\n                                    </mat-form-field>\\n                                 </div>\\n                              </ng-container>\\n                           </div>\\n                        </div>\\n                        <div class=\\\"quantity\\\">\\n                           <span class=\\\"f-w-700\\\">Quantity</span>\\n                           <div fxLayout=\\\"row\\\" fxLayout.xs=\\\"column\\\" class=\\\"text-muted\\\">\\n                              <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center start\\\">\\n                                 <button [disabled]=\\\"(!isOptionsSelected && product?.HasOptions && product?.ItemOptions?.length>0)\\\"\\n                                    mat-icon-button matTooltip=\\\"Remove\\\" (click)=\\\"decreaseQuantity()\\\">\\n                                    <mat-icon>remove</mat-icon>\\n                                 </button>\\n                                 <input [(ngModel)]=\\\"OrderQuantityCount\\\" maxlength=\\\"2\\\" validate\\n                                    [disabled]=\\\"!isOptionsSelected && product?.HasOptions && product.ItemOptions && product.ItemOptions?.length>0\\\"\\n                                    inputonlynumber=\\\"true\\\" name=\\\"quantity\\\"\\n                                    (keyup)=\\\"($event.which === 38) ? increaseQuantity() : 0\\\"\\n                                    (keydown)=\\\"($event.which === 40) ? decreaseQuantity() : 0\\\"\\n                                    class=\\\"form-control input-number\\\">\\n                                 <button [disabled]=\\\"(!isOptionsSelected && product?.HasOptions && product.ItemOptions && product?.ItemOptions.length>0)\\\"\\n                                    mat-icon-button matTooltip=\\\"Add\\\" (click)=\\\"increaseQuantity()\\\">\\n                                    <mat-icon>add</mat-icon>\\n                                 </button>\\n                              </div>\\n                           </div>\\n                        </div>\\n                        <div class=\\\"buttons mt-20\\\">\\n                           <button *ngIf=\\\"!hideAddToCart(product) && !(persistentService.retailData.CurrentSelectedAutoOrder > 0 && utilityService.getAutoshipEditFlag())\\\"\\n                              [disabled]=\\\"product?.HasOptions && !isOptionsSelected && product?.ItemOptions?.length>0\\\"\\n                              mat-raised-button color=\\\"primary\\\" class=\\\"btn-project w-100\\\"\\n                              (click)=\\\"addToCart('order', product)\\\"\\n                              translate=\\\"\\\">{{'global_addtocart' | translate}}</button>\\n                           <button *ngIf=\\\"hideAddToCart(product, true)\\\" [disabled]=\\\"product?.HasOptions && !isOptionsSelected && product?.ItemOptions?.length>0\\\"\\n                              mat-raised-button color=\\\"primary\\\" class=\\\"btn-project w-100 m-t-10\\\"\\n                              (click)=\\\"addToCart('autoship', product)\\\" translate=\\\"\\\">{{'autoship_' | translate}}</button>\\n                        </div>\\n                     </div>\\n                     <div class=\\\"prodReview product-right w-100\\\">\\n                        <!-- <mat-accordion>\\n                           <mat-expansion-panel hideToggle (opened)=\\\"panelOpenSpecification = true\\\" (closed)=\\\"panelOpenSpecification = false\\\" hideToggle=\\\"true\\\">\\n                              <mat-expansion-panel-header>\\n                                 <mat-icon class=\\\"c-gray\\\" *ngIf=\\\"!panelOpenSpecification\\\">add</mat-icon>\\n                                 <mat-icon class=\\\"c-gray\\\" *ngIf=\\\"panelOpenSpecification\\\">remove</mat-icon>\\n                                 <span class=\\\"color-f-s-14\\\" translate=\\\"product_details\\\"></span>\\n                              </mat-expansion-panel-header>\\n                              <div class=\\\"review-wrapper\\\" fxFlex=\\\"100\\\" fxFlex.md=\\\"75\\\" [innerHtml]=\\\"product?.Description | unsafe\\\">\\n                                 \\n                              </div>\\n                           </mat-expansion-panel>\\n                        </mat-accordion> -->\\n                        <mat-accordion>\\n                           <mat-expansion-panel class=\\\"font-IBM\\\">\\n                             <mat-expansion-panel-header class=\\\"arrow-color\\\">\\n                               <mat-panel-title>\\n                                    <span class=\\\"f-s-14 f-w-700 question font-IBM\\\" translate=\\\"product_details\\\"></span>\\n                               </mat-panel-title>\\n                             </mat-expansion-panel-header>\\n                             <p class=\\\"font-IBM\\\" class=\\\"review-wrapper\\\" fxFlex=\\\"100\\\" fxFlex.md=\\\"75\\\" [innerHtml]=\\\"product?.Description | unsafe\\\"></p>\\n                           </mat-expansion-panel>\\n                           <mat-expansion-panel class=\\\"font-IBM\\\" *ngIf=\\\"product.AllowAutoship\\\">\\n                              <mat-expansion-panel-header class=\\\"arrow-color\\\">\\n                                <mat-panel-title>\\n                                     <span class=\\\"f-s-14 f-w-700 question font-IBM\\\" translate=\\\"autoship_\\\"></span>\\n                                </mat-panel-title>\\n                              </mat-expansion-panel-header>\\n                              <!-- <p class=\\\"font-IBM\\\" class=\\\"review-wrapper\\\" fxFlex=\\\"100\\\" fxFlex.md=\\\"75\\\"  [innerHtml]=\\\"'autoship_description'| translate | unsafe\\\"></p> -->\\n                              <p class=\\\"font-IBM\\\" class=\\\"review-wrapper\\\" fxFlex=\\\"100\\\" fxFlex.md=\\\"75\\\"  [innerHtml]=\\\"product?.Specifications | unsafe\\\"></p>\\n                            </mat-expansion-panel>\\n                         </mat-accordion>\\n                     </div>\\n                     <!-- <div *ngIf=\\\"product.AllowAutoship\\\" class=\\\"prodReview\\\" style=\\\"margin-top:0px !important\\\">\\n                        <mat-accordion>\\n                           <mat-expansion-panel hideToggle (opened)=\\\"panelOpenAutoship = true\\\" (closed)=\\\"panelOpenAutoship = false\\\" hideToggle=\\\"true\\\">\\n                              <mat-expansion-panel-header>\\n                                 <mat-icon class=\\\"c-gray\\\" *ngIf=\\\"!panelOpenAutoship\\\">add</mat-icon>\\n                                 <mat-icon class=\\\"c-gray\\\" *ngIf=\\\"panelOpenAutoship\\\">remove</mat-icon>\\n                                 <span class=\\\"color-f-s-14\\\" translate=\\\"autoship_\\\"></span>\\n                              </mat-expansion-panel-header>\\n                              <div class=\\\"review-wrapper\\\" fxFlex=\\\"100\\\" fxFlex.md=\\\"75\\\" [innerHtml]=\\\"'autoship_description'| translate | unsafe\\\">\\n                                 \\n                              </div>\\n                           </mat-expansion-panel>\\n                        </mat-accordion>\\n                     </div> -->\\n                  </div>\\n               </div>\\n               <hr style=\\\"margin:28px 0px; border-color:rgba(0,0,0,0.1)\\\">                           \\n               <div class=\\\"products sec-padding p-top-0\\\">\\n                  <div>\\n                     <div fxLayout=\\\"column\\\">\\n                       <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n                         fxLayoutGap=\\\"20px\\\" fxFlex>\\n                         <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n                           <div class=\\\"img-hover text-center\\\">\\n                              <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Free shipping</p>\\n                              <p class=\\\"f-s-14 f-w-400 m-t-10\\\">All orders over $100 come with complimentary free shipping. Simply check out normally.</p>\\n                           </div>\\n                         </div>\\n                         <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n                           <div class=\\\"img-hover text-center\\\">\\n                              <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Effortless Returns</p>\\n                              <p class=\\\"f-s-14 f-w-400 m-t-10\\\">Each package comes with a prepaid return label. You've got sixty days to send it back.</p>\\n                           </div>\\n                         </div>\\n                         <div fxLayout=\\\"column\\\" fxFlex=\\\"33\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n                           <div class=\\\"img-hover text-center\\\">\\n                              <p class=\\\"f-s-18 f-w-700 m-t-10\\\">Gift Cards</p>\\n                              <p class=\\\"f-s-14 f-w-400 m-t-10\\\">Not sure what to get as a gift? Grab a gift card and use it at any one of our retail locations.</p>\\n                           </div>\\n                         </div>\\n                       </div>\\n                     </div>\\n                   </div>\\n               </div>\\n               <!-- perfect stretch -->\\n               <div class=\\\"m-t-20\\\">\\n                  <div fxLayout=\\\"column\\\">\\n                    <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center\\\" fxFlex=\\\"50\\\" class=\\\"bg-img p-relative\\\">\\n                      <img src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/AV200723_SH05_059.jpg?v=1600978896&width=1512\\\" alt=\\\"image\\\">\\n                      <div class=\\\"content p-abs c-white\\\">\\n                        <div class=\\\"p-relative p-content-div\\\">\\n                          <p><span class=\\\"f-s-12\\\">Our Gaurentee</span></p>\\n                          <p class=\\\"m-t-12 f-s-36 f-w-700\\\">The Perfect Stretch</p>\\n                          <p class=\\\"m-t-20 w-35\\\">Each Energy Well pieces comes tested in 360 degree flexibility tests. That's how we gaurentee the perfect stretch.</p>\\n                          <p class=\\\"m-t-30 shop-btn\\\"  routerLink=\\\"/products/all\\\"><a class=\\\"c-black f-s-14\\\">Shop now</a></p>\\n                        </div>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </div>\\n               <hr style=\\\"margin:28px 0px; border-color:rgba(0,0,0,0.1)\\\">  \\n              <!--Recommended-->\\n              <div class=\\\"p-30\\\">\\n               <div fxLayout=\\\"column\\\">\\n                 <p class=\\\"f-s-24 f-w-700\\\">Recommended</p>\\n                 <div class=\\\"m-t-10\\\" fxLayout=\\\"column\\\" fxFill fxLayout.gt-xs=\\\"row\\\" fxLayoutAlign=\\\"flex-start flex-start\\\"\\n                   fxLayoutGap=\\\"20px\\\" fxFlex=\\\"100\\\">\\n                   <div *ngFor=\\\"let productImage of healthBeautyProduct; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"32\\\" fxFlex.lt-md=\\\"100\\\"\\n                     fxLayoutAlign=\\\"center\\\" fxFill>\\n                     <div fxFlex=\\\"70\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" (mouseover)=\\\"mouseEnter(i)\\\"\\n                       (mouseout)=\\\"mouseOut(i)\\\" fxLayout=\\\"column\\\" fxFill class=\\\"p-relative cursor-pointer\\\"  id=\\\"parent\\\">\\n                       <img (click)=\\\"goToShop(productImage.ItemID)\\\" [src]=\\\"env.imageUrl +productImage.ImageUrl\\\" alt=\\\"\\\" class=\\\"img-bg2\\\" [id]=\\\"'product'+i\\\" style=\\\"width: 100% !important;\\\">\\n                       <!-- <img [src]=\\\"productImage.url\\\" alt=\\\"\\\" class=\\\"img-bg d-none\\\" [id]=\\\"'products'+i\\\" style=\\\"width: 100% !important;\\\"> -->\\n                       <div class=\\\"content\\\" fxLayout=\\\"column\\\" fxFill fxLayoutAlign=\\\"end\\\">\\n                         <div class=\\\"p-absolute abs-width\\\">\\n                           <button [id]=\\\"'btn'+i\\\" class=\\\"shop-btn product-button d-none w-89 m-t-20 m-b-20 m-r-0 m-l-0\\\"\\n                             mat-raised-button color=\\\"black\\\"  (click)=\\\"addProduct(productImage)\\\">Quick Add</button>\\n                         </div>\\n                       </div>\\n                     </div>\\n                     <div fxFlex=\\\"10\\\" fxLayout=\\\"row\\\" class=\\\"content m-t-20\\\">\\n                       <div fxFlex=\\\"70\\\">\\n                         <p><span class=\\\"font-IBM\\\">{{productImage.ProductName}}</span></p>\\n                         <p><span class=\\\"m-t-10 font-IBM\\\"><del *ngIf=\\\"productImage.oldPrice\\\">{{productImage.oldPrice}} </del>\\n                             {{'$'+productImage.Price}}</span></p>\\n                       </div>\\n                       <div *ngIf=\\\"productImage.oldPrice\\\" fxFlex=\\\"30\\\" class=\\\"text-end m-t-10\\\">\\n                         <p class=\\\"f-s-12 sale\\\" color=\\\"white\\\">Sale</p>\\n                       </div>\\n                     </div>\\n                   </div>\\n                 </div>\\n               </div>\\n             </div>\\n            </div>\\n         </div>\\n      </div>\\n   </div>\\n</div>\\n\";","export default \"@charset \\\"UTF-8\\\";\\n.color-header {\\n  color: var(--theme-sidebar-selected) !important;\\n}\\n.ds-summary-cart {\\n  width: 100%;\\n  min-width: 320px;\\n  max-width: 404px;\\n}\\n.ds-summary-cart mat-datepicker-toggle button {\\n  position: absolute;\\n  left: -52px;\\n  bottom: 0px;\\n  opacity: 0;\\n}\\n.ds-summary-cart .mat-icon {\\n  color: rgba(0, 0, 0, 0.45) !important;\\n}\\n.ds-summary-cart .ordersumary_heading {\\n  padding: 0px 16px;\\n}\\n.ds-summary-cart .md-3-line > .md-no-style:before,\\n.ds-summary-cart .md-3-line:before {\\n  min-height: 40px;\\n}\\n.ds-summary-cart .md-3-line,\\n.ds-summary-cart .md-3-line > .md-no-style {\\n  min-height: 40px;\\n}\\n.ds-summary-cart h3 {\\n  margin: 0 0 6px;\\n  line-height: 0.75em;\\n  font-size: 25px;\\n  font-weight: 600;\\n  color: #000000;\\n}\\n.ds-summary-cart p {\\n  margin: 0;\\n  line-height: 1.6em;\\n  font-size: 14px;\\n  font-weight: 500;\\n  letter-spacing: 0.01em;\\n  color: #000000;\\n}\\n.ds-summary-cart .md-secondary-container h3 {\\n  margin: 0 0 6px;\\n  line-height: 0.75em;\\n  font-size: 16px;\\n  font-weight: 600;\\n  color: #6a7379;\\n}\\n.ds-summary-cart .md-secondary-container p {\\n  margin: 0;\\n  line-height: 1.6em;\\n  font-size: 14px;\\n  font-weight: 500;\\n  letter-spacing: 0.01em;\\n}\\n.ds-summary-cart .mat-content {\\n  height: calc(\\\"100% - 100px\\\");\\n  overflow: auto;\\n}\\n.ds-summary-cart .mat-content .list-item-head {\\n  margin-right: 0;\\n}\\n.ds-summary-cart .mat-content .list-item-head .md-3-line mat-icon {\\n  margin: 0 10px 0 0;\\n}\\n.ds-summary-cart .mat-content .list-item-head .total-coloumn h3 {\\n  margin: 0 0 6px;\\n  line-height: 0.75em;\\n  font-size: 16px;\\n  font-weight: 600;\\n}\\n.ds-summary-cart .mat-content .list-item-head .total-coloumn p {\\n  margin: 0;\\n  line-height: 1.6em;\\n  font-size: 14px;\\n  font-weight: 500;\\n  letter-spacing: 0.01em;\\n}\\n.ds-summary-cart .mat-content .mat-expansion-panel {\\n  box-shadow: none;\\n  padding-top: 10px;\\n}\\n.ds-summary-cart .mat-content .mat-expansion-panel .mat-expansion-panel-header {\\n  padding: 0px 0px 0px 24px;\\n  height: auto;\\n}\\n.ds-summary-cart .mat-content .mat-expansion-panel .mat-expansion-panel-body {\\n  padding: 0px 0px 16px 0px;\\n}\\n.ds-summary-cart .mat-content .mat-expansion-panel .panel1 .mat-expansion-indicator {\\n  margin-bottom: 25px;\\n  margin-right: 10px;\\n}\\n.ds-summary-cart .mat-content .mat-expansion-panel .panel2 .mat-expansion-indicator {\\n  margin-bottom: 180px;\\n  margin-right: 10px;\\n}\\n.ds-summary-cart .mat-content .list-item-head,\\n.ds-summary-cart .mat-content .items {\\n  padding: 0;\\n  min-height: auto;\\n}\\n.ds-summary-cart .mat-content .list-item-head .-text,\\n.ds-summary-cart .mat-content .items .-text {\\n  padding: 0;\\n}\\n.ds-summary-cart .mat-content .list-item-head .-text h3,\\n.ds-summary-cart .mat-content .items .-text h3 {\\n  color: var(--color1);\\n  font-weight: 600;\\n  font-size: 16px;\\n  margin: 0 0 6px;\\n  line-height: 0.75em;\\n}\\n.ds-summary-cart .mat-content .list-item-head .-text p,\\n.ds-summary-cart .mat-content .items .-text p {\\n  font-weight: 500;\\n  font-size: 14px;\\n  margin: 0;\\n  line-height: 1.6em;\\n}\\n.ds-summary-cart .mat-content .items {\\n  padding-left: 50px;\\n  padding-bottom: 15px;\\n  margin-top: 15px !important;\\n}\\n.ds-summary-cart .mat-content .items .cart-items__images {\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  width: 90px;\\n  height: 90px;\\n  overflow: hidden;\\n  margin-right: 15px;\\n  flex: 0 0 90px;\\n}\\n.ds-summary-cart .mat-content .items .cart-items__images img {\\n  border-radius: 0;\\n  width: 90px;\\n  height: auto;\\n  margin: 0;\\n  flex-shrink: 0;\\n}\\n.ds-summary-cart .mat-content .items .md-avatar:first-child,\\n.ds-summary-cart .mat-content .items .-inner > .md-avatar:first-child {\\n  border-radius: 0;\\n  width: 90px;\\n  height: 90px;\\n}\\n.ds-summary-cart .mat-content .items .md-secondary-container {\\n  top: 87%;\\n  font-size: 14px;\\n  font-weight: 500;\\n  color: rgba(0, 0, 0, 0.54);\\n  margin-bottom: 10px;\\n}\\n.ds-summary-cart .mat-content .items .input-group {\\n  width: 88px;\\n  line-height: 0;\\n}\\n.ds-summary-cart .mat-content .items .input-group .input-group-btn button {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 30px;\\n  box-shadow: none;\\n  cursor: pointer;\\n}\\n.ds-summary-cart .mat-content .items .input-group .input-control {\\n  background: #fff;\\n  border: 1px solid #ccc;\\n  width: 30px;\\n  height: 28px;\\n  text-align: center;\\n  color: #1c7bbf;\\n}\\n.ds-summary-cart .mat-content .items .md-button.remove-items {\\n  position: absolute;\\n  top: -10px;\\n  right: 0;\\n}\\n.ds-summary-cart .mat-content .items mat-divider {\\n  left: 50px;\\n  width: calc(\\\"100% - 50px\\\");\\n  bottom: -1px;\\n}\\n.ds-summary-cart .mat-content .view-more .md-subheader-inner {\\n  padding: 6px 0 0;\\n}\\n.ds-summary-cart .mat-content .view-more .md-subheader-inner h3 {\\n  text-align: center;\\n  margin: 0;\\n}\\n.ds-summary-cart .mat-content .items.total .right {\\n  text-align: right;\\n  padding-right: 15px;\\n  margin-right: 0;\\n  margin-top: 0;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content {\\n  padding: 16px 16px 16px 0px;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .matDate {\\n  padding-left: 10px;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .matDate .autoShipFreq {\\n  text-align: center;\\n  font-size: 11px;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .initOrder h3 {\\n  color: var(--theme-sidebar-selected);\\n  font-size: 15px;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .pV {\\n  font-size: 12px;\\n  color: #0000008A;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .autoShipOrder {\\n  padding: 0px;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .autoShipH3 h3 {\\n  color: #EED620;\\n  font-size: 15px;\\n}\\n.ds-summary-cart .mat-content .md-subheader-content .subTotal {\\n  font-weight: 500;\\n  font-size: 14px;\\n  margin: 0;\\n  line-height: 1.6em;\\n  color: #0000008A;\\n}\\n.ds-summary-cart .mat-content .helper_text {\\n  background-color: #f6f6f6;\\n  text-align: center;\\n  padding: 10px;\\n  margin-bottom: 10px;\\n}\\n.ds-summary-cart .mat-content .mat-list-base {\\n  overflow-y: auto;\\n  height: 100vh;\\n}\\n.ds-summary-cart [ng-click] {\\n  cursor: pointer;\\n}\\n.ds-summary-cart .logButton {\\n  background-color: #000000;\\n  color: #FFFFFF;\\n  width: 80%;\\n  font-size: 14px;\\n  padding: 12px;\\n  text-align: center;\\n  border-radius: 40px;\\n}\\n.ds-summary-cart .checkOUTNewButton {\\n  background-color: #000000;\\n  color: #fff;\\n  min-width: 80%;\\n  max-width: 100%;\\n  font-size: 14px;\\n  padding: 12px;\\n  text-align: center;\\n  border-radius: 40px;\\n}\\n.ds-summary-cart .guestCheck {\\n  color: #2196F3;\\n  font-size: 14px;\\n}\\n.sidenavbar {\\n  position: fixed;\\n  height: 100vh;\\n  overflow-y: auto;\\n  width: 350px;\\n  right: -360px;\\n  margin-bottom: 50px;\\n  background-color: white;\\n  top: 0;\\n  z-index: 999;\\n  box-shadow: 0 15px 5px 0 rgba(77, 77, 77, 0.28);\\n  transition: all 0.5s ease;\\n}\\n.sidenavbar.show {\\n  right: -2px;\\n  transition: all 0.5s ease;\\n}\\n.iconColor {\\n  color: #0000008A;\\n}\\n.m-0 {\\n  margin: 0 !important;\\n}\\n.m-t-0 {\\n  margin-top: 0 !important;\\n}\\n.m-b-0 {\\n  margin-bottom: 0 !important;\\n}\\n.m-l-0 {\\n  margin-left: 0 !important;\\n}\\n.m-r-0 {\\n  margin-right: 0 !important;\\n}\\n.m-5 {\\n  margin: 5px !important;\\n}\\n.m-t-5 {\\n  margin-top: 5px !important;\\n}\\n.m-b-5 {\\n  margin-bottom: 5px !important;\\n}\\n.m-l-5 {\\n  margin-left: 5px !important;\\n}\\n.m-r-5 {\\n  margin-right: 5px !important;\\n}\\n.m-l-7 {\\n  margin-left: 7px !important;\\n}\\n.m-10 {\\n  margin: 10px !important;\\n}\\n.m-t-10 {\\n  margin-top: 10px !important;\\n}\\n.m-b-10 {\\n  margin-bottom: 10px !important;\\n}\\n.m-l-10 {\\n  margin-left: 10px !important;\\n}\\n.m-r-10 {\\n  margin-right: 10px !important;\\n}\\n.m-15 {\\n  margin: 15px !important;\\n}\\n.m-t-13 {\\n  margin-top: 13px !important;\\n}\\n.m-t-15 {\\n  margin-top: 15px !important;\\n}\\n.m-b-15 {\\n  margin-bottom: 15px !important;\\n}\\n.m-l-15 {\\n  margin-left: 15px !important;\\n}\\n.m-l-10 {\\n  margin-left: 10px !important;\\n}\\n.m-r-15 {\\n  margin-right: 15px !important;\\n}\\n.m-20 {\\n  margin: 20px !important;\\n}\\n.m-t-20 {\\n  margin-top: 20px !important;\\n}\\n.m-b-20 {\\n  margin-bottom: 20px !important;\\n}\\n.m-l-20 {\\n  margin-left: 20px !important;\\n}\\n.m-r-20 {\\n  margin-right: 20px !important;\\n}\\n.m-25 {\\n  margin: 25px !important;\\n}\\n.m-t-25 {\\n  margin-top: 25px !important;\\n}\\n.m-b-25 {\\n  margin-bottom: 25px !important;\\n}\\n.m-l-25 {\\n  margin-left: 25px !important;\\n}\\n.m-r-25 {\\n  margin-right: 25px !important;\\n}\\n.m-30 {\\n  margin: 30px !important;\\n}\\n.m-t-30 {\\n  margin-top: 30px !important;\\n}\\n.m-b-30 {\\n  margin-bottom: 30px !important;\\n}\\n.m-l-30 {\\n  margin-left: 30px !important;\\n}\\n.m-r-30 {\\n  margin-right: 30px !important;\\n}\\n.p-0 {\\n  padding: 0 !important;\\n}\\n.p-t-0 {\\n  padding-top: 0 !important;\\n}\\n.p-b-0 {\\n  padding-bottom: 0 !important;\\n}\\n.p-l-0 {\\n  padding-left: 0 !important;\\n}\\n.p-r-0 {\\n  padding-right: 0 !important;\\n}\\n.p-5 {\\n  padding: 5px !important;\\n}\\n.p-t-5 {\\n  padding-top: 5px !important;\\n}\\n.p-b-5 {\\n  padding-bottom: 5px !important;\\n}\\n.p-l-5 {\\n  padding-left: 5px !important;\\n}\\n.p-r-5 {\\n  padding-right: 5px !important;\\n}\\n.p-10 {\\n  padding: 10px !important;\\n}\\n.p-t-10 {\\n  padding-top: 10px !important;\\n}\\n.p-t-8 {\\n  padding-top: 8px !important;\\n}\\n.p-b-10 {\\n  padding-bottom: 10px !important;\\n}\\n.p-l-10 {\\n  padding-left: 10px !important;\\n}\\n.p-r-10 {\\n  padding-right: 10px !important;\\n}\\n.p-15 {\\n  padding: 15px !important;\\n}\\n.p-t-15 {\\n  padding-top: 15px !important;\\n}\\n.p-b-15 {\\n  padding-bottom: 15px !important;\\n}\\n.p-l-15 {\\n  padding-left: 15px !important;\\n}\\n.p-r-15 {\\n  padding-right: 15px !important;\\n}\\n.p-20 {\\n  padding: 20px !important;\\n}\\n.p-t-20 {\\n  padding-top: 20px !important;\\n}\\n.p-b-20 {\\n  padding-bottom: 20px !important;\\n}\\n.p-l-20 {\\n  padding-left: 20px !important;\\n}\\n.p-r-20 {\\n  padding-right: 20px !important;\\n}\\n.p-25 {\\n  padding: 25px !important;\\n}\\n.p-t-25 {\\n  padding-top: 25px !important;\\n}\\n.p-b-25 {\\n  padding-bottom: 25px !important;\\n}\\n.p-l-25 {\\n  padding-left: 25px !important;\\n}\\n.p-r-25 {\\n  padding-right: 25px !important;\\n}\\n.p-30 {\\n  padding: 30px !important;\\n}\\n.p-t-30 {\\n  padding-top: 30px !important;\\n}\\n.p-b-30 {\\n  padding-bottom: 30px !important;\\n}\\n.p-l-30 {\\n  padding-left: 30px !important;\\n}\\n.p-r-30 {\\n  padding-right: 30px !important;\\n}\\n.f-300 {\\n  font-weight: 300 !important;\\n}\\n.f-400 {\\n  font-weight: 400 !important;\\n}\\n.f-500 {\\n  font-weight: 500 !important;\\n}\\n.f-700 {\\n  font-weight: 700 !important;\\n}\\n.p-relative {\\n  position: relative !important;\\n}\\n.p-absolute {\\n  position: absolute !important;\\n}\\n.p-fixed {\\n  position: fixed !important;\\n}\\n.p-static {\\n  position: static !important;\\n}\\n.o-hidden {\\n  overflow: hidden !important;\\n}\\n.o-visible {\\n  overflow: visible !important;\\n}\\n.o-auto {\\n  overflow: auto !important;\\n}\\n.d-block {\\n  display: block !important;\\n}\\n.di-block {\\n  display: inline-block !important;\\n}\\n.bgm-white {\\n  background-color: #fff !important;\\n}\\n.c-white {\\n  color: #fff !important;\\n}\\n.bgm-black {\\n  background-color: #000 !important;\\n}\\n.c-black {\\n  color: #000 !important;\\n}\\n.bgm-brown {\\n  background-color: #795548 !important;\\n}\\n.c-brown {\\n  color: #795548 !important;\\n}\\n.bgm-pink {\\n  background-color: #e91e63 !important;\\n}\\n.c-pink {\\n  color: #e91e63 !important;\\n}\\n.bgm-red {\\n  background-color: #f44336 !important;\\n}\\n.c-red {\\n  color: #f44336 !important;\\n}\\n.bgm-blue {\\n  background-color: #2196f3 !important;\\n}\\n.c-blue {\\n  color: #2196f3 !important;\\n}\\n.bgm-purple {\\n  background-color: #9c27b0 !important;\\n}\\n.c-purple {\\n  color: #9c27b0 !important;\\n}\\n.bgm-deeppurple {\\n  background-color: #673ab7 !important;\\n}\\n.c-deeppurple {\\n  color: #673ab7 !important;\\n}\\n.bgm-lightblue {\\n  background-color: #03a9f4 !important;\\n}\\n.c-lightblue {\\n  color: #03a9f4 !important;\\n}\\n.bgm-cyan {\\n  background-color: #00bcd4 !important;\\n}\\n.c-cyan {\\n  color: #00bcd4 !important;\\n}\\n.bgm-teal {\\n  background-color: #009688 !important;\\n}\\n.c-teal {\\n  color: #009688 !important;\\n}\\n.bgm-green {\\n  background-color: #4caf50 !important;\\n}\\n.c-green {\\n  color: #4caf50 !important;\\n}\\n.bgm-lightgreen {\\n  background-color: #8bc34a !important;\\n}\\n.c-lightgreen {\\n  color: #8bc34a !important;\\n}\\n.bgm-lime {\\n  background-color: #cddc39 !important;\\n}\\n.c-lime {\\n  color: #cddc39 !important;\\n}\\n.bgm-yellow {\\n  background-color: #ffeb3b !important;\\n}\\n.c-yellow {\\n  color: #ffeb3b !important;\\n}\\n.bgm-amber {\\n  background-color: #ffc107 !important;\\n}\\n.c-amber {\\n  color: #ffc107 !important;\\n}\\n.bgm-orange {\\n  background-color: #ff9800 !important;\\n}\\n.c-orange {\\n  color: #ff9800 !important;\\n}\\n.bgm-deeporange {\\n  background-color: #ff5722 !important;\\n}\\n.c-deeporange {\\n  color: #ff5722 !important;\\n}\\n.bgm-gray {\\n  background-color: #9e9e9e !important;\\n}\\n.c-gray {\\n  color: #9e9e9e !important;\\n}\\n.bgm-bluegray {\\n  background-color: #607d8b !important;\\n}\\n.c-bluegray {\\n  color: #607d8b !important;\\n}\\n.bgm-indigo {\\n  background-color: #3f51b5 !important;\\n}\\n.c-indigo {\\n  color: #3f51b5 !important;\\n}\\n.bg-black-trp {\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\n}\\n.b-0 {\\n  border: 0 !important;\\n}\\n.w-100 {\\n  width: 100% !important;\\n}\\n.brd-2 {\\n  border-radius: 2px;\\n}\\n.t-uppercase {\\n  text-transform: uppercase;\\n}\\n.pad-right {\\n  padding-right: 4% !important;\\n}\\n.webalias-card {\\n  height: 290px !important;\\n}\\n.webalias-button {\\n  margin-top: 63px;\\n}\\n.b-b {\\n  border-bottom: 1px solid #e0e0e0 !important;\\n}\\n.border-top {\\n  border-top: 1px solid #e0e0e0 !important;\\n}\\n.f-s-15 {\\n  font-size: 15px !important;\\n}\\n.f-s-12 {\\n  font-size: 12px !important;\\n}\\n.p-t-50 {\\n  padding-top: 50px;\\n}\\n.cursor-pointer {\\n  cursor: pointer;\\n}\\n.b-full {\\n  border: 1px solid #e0e0e0;\\n}\\n.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n  border-top-color: #f0f0f0;\\n  border-top-style: solid;\\n  border-top-width: 1px;\\n  line-height: 1.42857;\\n  padding-bottom: 13px;\\n  padding-right: 13px;\\n  padding-top: 13px;\\n  vertical-align: top;\\n}\\n.m-t--10 {\\n  margin-top: -10px !important;\\n}\\n.fadeMe {\\n  width: 100% !important;\\n  height: 100% !important;\\n  z-index: 99999999 !important;\\n  top: 0 !important;\\n  left: 0 !important;\\n  position: fixed !important;\\n}\\n.b-r {\\n  border-right: 1px solid #ccc;\\n}\\n.b-l {\\n  border-right: 1px solid #ccc;\\n}\\n.b-t {\\n  border-right: 1px solid #ccc;\\n}\\n.min-h-230 {\\n  min-height: 230px;\\n}\\n.t-view[data-tv-type=text]:before {\\n  content: \\\"\\\";\\n  background: #00bcd4;\\n  box-shadow: 0 0 0 1px #00bcd4;\\n}\\n.t-view[data-tv-type=text]:after {\\n  background: #00bcd4;\\n}\\n.t-view[data-tv-type=image]:before {\\n  content: \\\"\\\";\\n  background: #4caf50;\\n  box-shadow: 0 0 0 1px #4caf50;\\n}\\n.t-view[data-tv-type=image]:after {\\n  background: #4caf50;\\n}\\n.t-view[data-tv-type=video]:before {\\n  content: \\\"\\\";\\n  background: #ffc107;\\n  box-shadow: 0 0 0 1px #ffc107;\\n}\\n.t-view[data-tv-type=video]:after {\\n  background: #ffc107;\\n}\\n.t-view .tvb-stats {\\n  list-style: none;\\n  padding: 0;\\n  margin: 10px 0 20px;\\n}\\n.t-view .tvb-stats > li {\\n  display: inline-block;\\n  padding: 5px 10px 6px;\\n  border: 1px solid #ccc;\\n  margin-right: 2px;\\n}\\n.t-view .tvb-stats > li i {\\n  font-size: 15px;\\n  line-height: 100%;\\n  vertical-align: top;\\n  margin-top: 2px;\\n}\\n.t-view .tvb-stats > li.tvbs-comments {\\n  border-color: #4caf50;\\n  color: #4caf50;\\n}\\n.t-view .tvb-stats > li.tvbs-likes {\\n  border-color: #03a9f4;\\n  color: #03a9f4;\\n}\\n.t-view .tvb-stats > li.tvbs-views {\\n  border-color: #ff9800;\\n  color: #ff9800;\\n}\\n.tv-comments .tvc-lists {\\n  padding: 0;\\n  list-style: none;\\n  margin: 0;\\n}\\n.tv-comments .tvc-lists > li {\\n  padding: 15px 20px;\\n  margin: 0;\\n  border-top: 1px solid #eee;\\n}\\n.tvc-more {\\n  color: #333;\\n  display: block;\\n  margin-bottom: -10px;\\n}\\n.tvc-more:hover {\\n  color: #000;\\n}\\n.tvc-more i {\\n  vertical-align: middle;\\n  margin-right: 5px;\\n}\\n.p-header {\\n  position: relative;\\n  margin: 0 -7px;\\n}\\n.p-header .actions {\\n  position: absolute;\\n  top: -18px;\\n  right: 0;\\n}\\n.p-menu {\\n  list-style: none;\\n  padding: 0 5px;\\n  margin: 0 0 30px;\\n}\\n.p-menu > li {\\n  display: inline-block;\\n  vertical-align: top;\\n}\\n.p-menu > li > a {\\n  display: block;\\n  padding: 5px 20px 5px 0;\\n  font-weight: 500;\\n  text-transform: uppercase;\\n  font-size: 15px;\\n}\\n.p-menu > li > a > i {\\n  margin-right: 4px;\\n  font-size: 20px;\\n  vertical-align: middle;\\n  margin-top: -5px;\\n}\\n.p-menu > li:not(.active) > a {\\n  color: #4285F4;\\n}\\n.p-menu > li:not(.active) > a:hover {\\n  color: #333;\\n}\\n.p-menu > li.active > a {\\n  color: #000;\\n}\\n@media (max-width: 991px) {\\n  .p-menu .pm-search {\\n    margin: 20px 2px 30px;\\n    display: block;\\n  }\\n\\n  .p-menu .pm-search input[type=text] {\\n    width: 100%;\\n    border: 1px solid #ccc;\\n  }\\n}\\n.p-menu .pms-inner {\\n  margin: -2px 0 0;\\n  position: relative;\\n  top: -2px;\\n  overflow: hidden;\\n  white-space: nowrap;\\n}\\n.p-menu .pms-inner i {\\n  vertical-align: top;\\n  font-size: 20px;\\n  line-height: 100%;\\n  position: absolute;\\n  left: 9px;\\n  top: 8px;\\n  color: #333;\\n}\\n.p-menu .pms-inner input[type=text] {\\n  height: 35px;\\n  border-radius: 2px;\\n  padding: 0 10px 0 40px;\\n}\\n@media (min-width: 768px) {\\n  .p-menu .pms-inner input[type=text] {\\n    border: 1px solid #fff;\\n    width: 50px;\\n    background: transparent;\\n    position: relative;\\n    z-index: 1;\\n    transition: all;\\n    transition-duration: 300ms;\\n  }\\n\\n  .p-menu .pms-inner input[type=text]:focus {\\n    border-color: #DFDFDF;\\n    width: 200px;\\n  }\\n}\\n.photos {\\n  margin: -3px 0 0;\\n}\\n.photos .lightbox {\\n  margin: 0 -8px;\\n}\\n.photos:not(.p-timeline)[data-src] {\\n  padding: 3px;\\n  transition: all;\\n  transition-duration: 150ms;\\n}\\n.p-grid {\\n  list-style: none;\\n  padding: 0;\\n  margin: 0 0 23px;\\n  text-align: center;\\n}\\n.p-grid > li {\\n  display: inline-block;\\n  vertical-align: top;\\n  width: 30px;\\n  height: 30px;\\n  border: 1px solid #D5D5D5;\\n  line-height: 27px;\\n  font-size: 12px;\\n  color: #ABABAB;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  letter-spacing: -1px;\\n  padding-right: 1px;\\n  margin: 0 2px;\\n  -webkit-touch-callout: none;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n  user-select: none;\\n}\\n.p-grid > li:hover {\\n  border-color: silver;\\n}\\n.p-grid > li.active {\\n  color: #8C8C8C;\\n  border-color: #8C8C8C;\\n}\\n.p-timeline {\\n  position: relative;\\n  padding-left: 80px;\\n  margin-bottom: 75px;\\n}\\n.p-timeline[data-src] {\\n  float: left;\\n  width: 70px;\\n  height: 70px;\\n  margin: 0 3px 3px 0;\\n}\\n.contacts:not(.c-profile) {\\n  padding: 0 8px;\\n}\\n.contacts > [class*=col-] {\\n  padding: 0 10px;\\n}\\n.contacts .c-item {\\n  border: 1px solid #e2e2e2;\\n  border-radius: 2px;\\n  margin-bottom: 24px;\\n}\\n.contacts .c-item .ci-avatar {\\n  display: block;\\n}\\n.contacts .c-item .ci-avatar img {\\n  width: 100%;\\n  border-radius: 2px 2px 0 0;\\n}\\n.contacts .ci-avatar {\\n  margin: -1px -1px 0;\\n}\\n.contacts .c-info {\\n  text-align: center;\\n  margin-top: 15px;\\n  padding: 0 5px;\\n}\\n.contacts .c-info strong {\\n  color: #000;\\n  font-size: 14px;\\n  font-weight: 500;\\n}\\n.contacts .c-info small {\\n  color: #999;\\n  margin-top: 3px;\\n}\\n.contacts .c-info strong,\\n.contacts .c-info small {\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  display: block;\\n}\\n.contacts .c-footer {\\n  border-top: 1px solid #e2e2e2;\\n  margin-top: 18px;\\n}\\n.contacts .c-footer > button {\\n  padding: 4px 10px 3px;\\n  display: block;\\n  width: 100%;\\n  text-align: center;\\n  color: #333;\\n  font-weight: 500;\\n  border-radius: 2px;\\n  background: #fff;\\n  border: 0;\\n}\\n.contacts .c-footer > button > i {\\n  font-size: 16px;\\n  vertical-align: middle;\\n  margin-top: -3px;\\n}\\n.z-depth-1 {\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12) !important;\\n}\\n.z-depth-1-top {\\n  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);\\n}\\n.z-depth-1-bottom {\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);\\n}\\n.z-depth-2 {\\n  box-shadow: 0 8px 17px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.19);\\n}\\n.z-depth-2-top {\\n  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.19);\\n}\\n.z-depth-2-bottom {\\n  box-shadow: 0 8px 17px rgba(0, 0, 0, 0.2);\\n}\\n.z-depth-3 {\\n  box-shadow: 0 12px 15px rgba(0, 0, 0, 0.24), 0 17px 50px rgba(0, 0, 0, 0.19);\\n}\\n.z-depth-3-top {\\n  box-shadow: 0 17px 50px rgba(0, 0, 0, 0.19);\\n}\\n.z-depth-3-bottom {\\n  box-shadow: 0 12px 15px rgba(0, 0, 0, 0.24);\\n}\\n.z-depth-4 {\\n  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.22), 0 25px 55px rgba(0, 0, 0, 0.21);\\n}\\n.z-depth-4-top {\\n  box-shadow: 0 25px 55px rgba(0, 0, 0, 0.21);\\n}\\n.z-depth-4-bottom {\\n  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.22);\\n}\\n.z-depth-5 {\\n  box-shadow: 0 27px 24px rgba(0, 0, 0, 0.2), 0 40px 77px rgba(0, 0, 0, 0.22);\\n}\\n.z-depth-5-top {\\n  box-shadow: 0 40px 77px rgba(0, 0, 0, 0.22);\\n}\\n.z-depth-5-bottom {\\n  box-shadow: 0 27px 24px rgba(0, 0, 0, 0.2);\\n}\\n.z-depth-animation .z-depth-1,\\n.z-depth-animation .z-depth-2,\\n.z-depth-animation .z-depth-3,\\n.z-depth-animation .z-depth-4,\\n.z-depth-animation .z-depth-5 {\\n  transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n.block-header {\\n  margin-bottom: 25px;\\n  position: relative;\\n}\\n@media screen and (min-width: 768px) {\\n  .block-header {\\n    padding: 0 22px;\\n  }\\n}\\n@media screen and (max-width: 991px) {\\n  .block-header {\\n    padding: 0 18px;\\n  }\\n}\\n.block-header > h2 {\\n  font-size: 15px;\\n  color: #777;\\n  margin: 0;\\n  font-weight: 400;\\n  text-transform: uppercase;\\n}\\n.block-header > h2 > small {\\n  display: block;\\n  text-transform: none;\\n  margin-top: 8px;\\n  margin-bottom: 20px;\\n  color: #9E9E9E;\\n  line-height: 140%;\\n}\\n.block-header .actions {\\n  position: absolute;\\n  right: 10px;\\n  top: -5px;\\n  z-index: 5;\\n}\\n.block-header-alt h1,\\n.block-header-alt h2,\\n.block-header-alt h3,\\n.block-header-alt h4,\\n.block-header-alt h5 {\\n  color: #575757;\\n  font-weight: 100;\\n}\\n.actions {\\n  list-style: none;\\n  padding: 0;\\n  z-index: 2;\\n  margin: 0;\\n}\\n.actions > li {\\n  display: inline-block;\\n  vertical-align: baseline;\\n}\\n.actions > li > a,\\n.actions > a {\\n  width: 30px;\\n  height: 30px;\\n  line-height: 35px;\\n  display: inline-block;\\n  text-align: center;\\n  position: relative;\\n}\\n.actions > li > a > i,\\n.actions > a > i {\\n  transition: color;\\n  transition-duration: 1300ms;\\n  color: #adadad;\\n  font-size: 20px;\\n}\\n.actions > li > a:hover > i,\\n.actions > a:hover > i {\\n  color: #000;\\n}\\n.actions > li > a:before,\\n.actions > a:before {\\n  left: 0;\\n  top: 0;\\n  content: \\\"\\\";\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  transform: scale3d(0, 0, 0);\\n  transition: all;\\n  transition-duration: 250ms;\\n  -webkit-backface-visibility: hidden;\\n  backface-visibility: hidden;\\n  background-color: rgba(0, 0, 0, 0.1);\\n  z-index: 0;\\n  border-radius: 50%;\\n  opacity: 0;\\n  filter: alpha(opacity=0);\\n}\\n.actions > li > a:hover:before,\\n.actions > a:hover:before {\\n  transform: scale3d(1, 1, 1);\\n  opacity: 1;\\n  filter: alpha(opacity=100);\\n}\\n.actions > li.open > a > i,\\n.actions.open > a > i {\\n  color: #000;\\n}\\n.actions > li.open > a:before,\\n.actions.open > a:before {\\n  transform: scale(1);\\n  opacity: 1;\\n  filter: alpha(opacity=100);\\n}\\n.actions.actions-alt > li > a > i {\\n  color: #fff;\\n}\\n.actions.actions-alt > li > a > i:hover {\\n  color: #fff;\\n}\\n.actions.actions-alt > li.open > a > i {\\n  color: #fff;\\n}\\n.actions.open {\\n  z-index: 3;\\n}\\n.load-more {\\n  text-align: center;\\n  margin-top: 30px;\\n}\\n.load-more a {\\n  padding: 5px 10px 4px;\\n  display: inline-block;\\n  background-color: #f44336;\\n  color: #FFF;\\n  border-radius: 2px;\\n  white-space: nowrap;\\n}\\n.load-more a i {\\n  font-size: 20px;\\n  vertical-align: middle;\\n  position: relative;\\n  margin-right: 5px;\\n}\\n.load-more a:hover {\\n  background-color: #ea1c0d;\\n}\\n.a-title {\\n  color: #333;\\n  font-weight: 500;\\n}\\n.a-title:hover {\\n  color: #333;\\n  text-decoration: underline;\\n}\\n.container-alt {\\n  max-width: 1170px;\\n}\\n.ie-warning {\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  z-index: 9999;\\n  background: #000;\\n  width: 100%;\\n  height: 100%;\\n  text-align: center;\\n  color: #fff;\\n  font-family: \\\"Courier New\\\", Courier, monospace;\\n  padding: 50px 0;\\n}\\n.ie-warning p {\\n  font-size: 17px;\\n}\\n.ie-warning .iew-container {\\n  min-width: 1024px;\\n  width: 100%;\\n  height: 200px;\\n  background: #fff;\\n  margin: 50px 0;\\n}\\n.ie-warning .iew-download {\\n  list-style: none;\\n  padding: 30px 0;\\n  margin: 0 auto;\\n  width: 720px;\\n}\\n.ie-warning .iew-download > li {\\n  float: left;\\n  vertical-align: top;\\n}\\n.ie-warning .iew-download > li > a {\\n  display: block;\\n  color: #000;\\n  width: 140px;\\n  font-size: 15px;\\n  padding: 15px 0;\\n}\\n.ie-warning .iew-download > li > a > div {\\n  margin-top: 10px;\\n}\\n.ie-warning .iew-download > li > a:hover {\\n  background-color: #eee;\\n}\\n#footer .f-menu {\\n  display: block;\\n  width: 100%;\\n  padding-left: 0;\\n  list-style: none;\\n  margin-left: -5px;\\n  margin-top: 8px;\\n}\\n#footer .f-menu > li {\\n  display: inline-block;\\n  padding-left: 5px;\\n  padding-right: 5px;\\n}\\n#footer .f-menu > li > a {\\n  color: #a2a2a2;\\n}\\n#footer .f-menu > li > a:hover {\\n  color: #777;\\n}\\n.pricing-table {\\n  max-width: 1170px;\\n  margin: 70px auto 0;\\n}\\n.invoice {\\n  /*min-width: 1100px;*/\\n  max-width: 1170px;\\n}\\n.i-logo {\\n  width: 150px;\\n}\\n.i-table .highlight {\\n  background-color: #eee;\\n  border-bottom: 1px solid #e6e6e6;\\n}\\n.i-table td.highlight {\\n  font-size: 14px;\\n  font-weight: 500;\\n}\\n.wall {\\n  max-width: 1000px;\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n  .wall {\\n    width: 600px;\\n  }\\n}\\n.wall-attrs {\\n  margin-bottom: 0;\\n}\\n.wa-stats {\\n  float: left;\\n}\\n.wa-stats > span {\\n  margin-right: -1px;\\n  padding: 7px 12px;\\n  border: 1px solid #cfcfcf;\\n  float: left;\\n  font-weight: 500;\\n}\\n.wa-stats > span.active {\\n  color: #4caf50;\\n}\\n.wa-stats > span:first-child {\\n  border-radius: 2px 0 0 2px;\\n}\\n.wa-stats > span:last-child {\\n  border-radius: 0 2px 2px 0;\\n}\\n.wa-stats > span > i {\\n  line-height: 100%;\\n  vertical-align: top;\\n  position: relative;\\n  top: 2px;\\n  font-size: 15px;\\n  margin-right: 2px;\\n}\\n.wa-users {\\n  float: right;\\n  padding: 0 !important;\\n  margin-right: -5px;\\n}\\n.wa-users > a {\\n  display: inline-block;\\n  margin-left: 2px;\\n}\\n.wa-users > a > img {\\n  width: 33px;\\n  height: 33px;\\n  border-radius: 50%;\\n}\\n.wa-users > a > img:hover {\\n  opacity: 0.85;\\n  filter: alpha(opacity=85);\\n}\\n.wcc-inner {\\n  resize: none;\\n  border-radius: 2px;\\n  background: #fff;\\n  color: #9A9A9A;\\n  cursor: pointer;\\n  position: relative;\\n}\\n.wcci-text {\\n  border: 1px solid #E4E4E4;\\n  display: block;\\n  width: 100%;\\n  resize: none;\\n  padding: 10px 15px;\\n}\\n.wcc-text-icon {\\n  position: absolute;\\n  right: 0;\\n  top: 2px;\\n}\\n.wall-comment-list {\\n  padding: 20px;\\n  background: #f7f7f7;\\n}\\n.wall-comment-list .media {\\n  position: relative;\\n}\\n.wall-comment-list .media:hover .actions {\\n  display: block;\\n}\\n.wall-comment-list .actions {\\n  display: none;\\n  position: absolute;\\n  right: -20px;\\n  top: -1px;\\n}\\n.wcl-list + .wcl-form {\\n  margin-top: 25px;\\n}\\n.wp-text {\\n  border: 0;\\n  padding: 0;\\n  display: block;\\n  width: 100%;\\n  resize: none;\\n}\\n.wp-media {\\n  background: #f7f7f7;\\n  border: 1px solid #E4E4E4;\\n  padding: 12px 15px;\\n  margin-top: 25px;\\n  text-align: center;\\n}\\n.wpb-actions {\\n  background: #f7f7f7;\\n  margin: 0;\\n  padding: 10px 20px;\\n}\\n.wpb-actions > li:not(.pull-right) {\\n  float: left;\\n}\\n[data-wpba=image] {\\n  color: #4caf50;\\n}\\n[data-wpba=image]:hover {\\n  color: #449d48;\\n}\\n[data-wpba=video] {\\n  color: #ff9800;\\n}\\n[data-wpba=video]:hover {\\n  color: #e68900;\\n}\\n[data-wpba=link] {\\n  color: #00bcd4;\\n}\\n[data-wpba=link]:hover {\\n  color: #00a5bb;\\n}\\n.wpba-attrs > ul > li {\\n  padding: 0;\\n  margin-right: 5px;\\n}\\n.wpba-attrs > ul > li > a {\\n  display: block;\\n  width: 22px;\\n}\\n.wpba-attrs > ul > li > a > i {\\n  font-size: 20px;\\n}\\n.wpba-attrs > ul > li > a.active > i {\\n  color: #333;\\n}\\n.wall-img-preview {\\n  text-align: center;\\n}\\n@media screen and (min-width: 768px) {\\n  .wall-img-preview {\\n    margin: 0 -23px 20px;\\n  }\\n}\\n@media screen and (max-width: 991px) {\\n  .wall-img-preview {\\n    margin: 0 -16px 20px;\\n  }\\n}\\n.wall-img-preview .wip-item {\\n  display: block;\\n  float: left;\\n  position: relative;\\n  overflow: hidden;\\n  border: 2px solid #fff;\\n  background-repeat: no-repeat;\\n  background-size: cover;\\n  background-position: center;\\n}\\n.wall-img-preview .wip-item > img {\\n  display: none;\\n}\\n.wall-img-preview .wip-item:first-child:nth-last-child(2),\\n.wall-img-preview .wip-item:first-child:nth-last-child(2) ~ div {\\n  width: 50%;\\n  padding-bottom: 40%;\\n}\\n.wall-img-preview .wip-item:first-child:nth-last-child(3),\\n.wall-img-preview .wip-item:first-child:nth-last-child(3) ~ div,\\n.wall-img-preview .wip-item:first-child:nth-last-child(4),\\n.wall-img-preview .wip-item:first-child:nth-last-child(4) ~ div:not(:last-child),\\n.wall-img-preview .wip-item:first-child:nth-last-child(5),\\n.wall-img-preview .wip-item:first-child:nth-last-child(5) ~ div:not(:nth-last-of-type(-n+2)),\\n.wall-img-preview .wip-item:first-child:nth-last-child(6),\\n.wall-img-preview .wip-item:first-child:nth-last-child(6) ~ div,\\n.wall-img-preview .wip-item:first-child:nth-last-child(7) ~ div:nth-last-of-type(-n+3) {\\n  width: 33.333333%;\\n  padding-bottom: 30%;\\n}\\n.wall-img-preview .wip-item:first-child:nth-last-child(5) ~ div:nth-last-of-type(-n+2) {\\n  width: 50%;\\n  padding-bottom: 40%;\\n}\\n.wall-img-preview .wip-item:first-child:nth-last-child(7),\\n.wall-img-preview .wip-item:first-child:nth-last-child(7) ~ div:not(:nth-last-of-type(-n+3)),\\n.wall-img-preview .wip-item:first-child:nth-last-child(n+8),\\n.wall-img-preview .wip-item:first-child:nth-last-child(n+8) ~ div {\\n  width: 25%;\\n  padding-bottom: 22%;\\n}\\n.wall-img-preview .wip-item:only-child,\\n.wall-img-preview .wip-item:first-child:nth-last-child(4) ~ div:nth-child(4) {\\n  width: 100%;\\n  padding-bottom: 50%;\\n}\\n@media print {\\n  @page {\\n    margin: 0;\\n    size: auto;\\n  }\\n  body {\\n    margin: 0 !important;\\n    padding: 0 !important;\\n  }\\n\\n  #header, #footer, #sidebar, #chat, .growl-animated, .m-btn {\\n    display: none !important;\\n  }\\n\\n  .invoice {\\n    padding: 30px !important;\\n    -webkit-print-color-adjust: exact !important;\\n  }\\n\\n  .invoice .card-header {\\n    background: #eee !important;\\n    padding: 20px;\\n    margin: -60px -30px 25px;\\n  }\\n\\n  .invoice .block-header {\\n    display: none;\\n  }\\n\\n  .invoice .highlight {\\n    background: #eee !important;\\n  }\\n}\\n#calendar-widget {\\n  margin-bottom: 30px;\\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);\\n}\\n#fc-actions {\\n  position: absolute;\\n  bottom: 10px;\\n  right: 12px;\\n}\\n.fc {\\n  background-color: #fff;\\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);\\n  margin-bottom: 30px;\\n}\\n.fc td,\\n.fc th {\\n  border-color: #cfcfcf;\\n}\\n.fc th {\\n  font-weight: 400;\\n}\\n#calendar-widget .fc-toolbar {\\n  background: #009688;\\n}\\n#calendar-widget .fc-day-header {\\n  color: #fff;\\n  background: #007d71;\\n  padding: 5px 0;\\n  border-width: 0;\\n}\\n#calendar-widget .fc-day-number {\\n  text-align: center;\\n  color: #ADADAD;\\n  padding: 5px 0;\\n}\\n#calendar-widget .fc-day-grid-event {\\n  margin: 1px 3px;\\n}\\n#calendar-widget .ui-widget-header th,\\n#calendar-widget .ui-widget-header {\\n  border-width: 0;\\n}\\n#calendar .fc-toolbar:before {\\n  content: \\\"\\\";\\n  height: 50px;\\n  width: 100%;\\n  background: rgba(0, 0, 0, 0.36);\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n}\\n#calendar .fc-toolbar .fc-center {\\n  margin-top: 238px;\\n  position: relative;\\n}\\n@media screen and (max-width: 991px) {\\n  #calendar .fc-toolbar {\\n    height: 200px;\\n  }\\n\\n  #calendar .fc-toolbar .fc-center {\\n    margin-top: 138px;\\n  }\\n}\\n#calendar .fc-day-header {\\n  color: #ADADAD;\\n  text-align: left;\\n  font-size: 14px;\\n  border-bottom-width: 0;\\n  border-right-color: #cfcfcf;\\n  padding: 10px 12px;\\n}\\n#calendar .fc-day-number {\\n  padding-left: 10px !important;\\n  color: #CCC;\\n  text-align: left !important;\\n}\\n@media screen and (min-width: 991px) {\\n  #calendar .fc-day-number {\\n    font-size: 25px;\\n    letter-spacing: -2px;\\n  }\\n}\\n#calendar .fc-day-grid-event {\\n  margin: 1px 9px 0;\\n}\\n.fc-today {\\n  color: #ffc107;\\n}\\n.fc-toolbar {\\n  margin-bottom: 0;\\n  padding: 20px 7px 19px;\\n  position: relative;\\n}\\n.fc-toolbar h2 {\\n  margin-top: 7px;\\n  font-size: 20px;\\n  font-weight: 400;\\n  text-transform: uppercase;\\n  color: #fff;\\n}\\n.fc-toolbar .ui-button {\\n  border: 0;\\n  background: 0 0;\\n  padding: 0;\\n  outline: none !important;\\n  text-align: center;\\n  width: 30px;\\n  height: 30px;\\n  border-radius: 50%;\\n  margin-top: 2px;\\n  color: #fff;\\n}\\n.fc-toolbar .ui-button:hover {\\n  background: #fff;\\n  color: #009688;\\n}\\n.fc-toolbar .ui-button > span {\\n  position: relative;\\n  font-family: \\\"Material-Design-Iconic-Font\\\";\\n  font-size: 20px;\\n  line-height: 100%;\\n  width: 30px;\\n  display: block;\\n  margin-top: 2px;\\n}\\n.fc-toolbar .ui-button > span:before {\\n  position: relative;\\n  z-index: 1;\\n}\\n.fc-toolbar .ui-button > span.ui-icon-circle-triangle-w:before {\\n  content: \\\"\\\";\\n}\\n.fc-toolbar .ui-button > span.ui-icon-circle-triangle-e:before {\\n  content: \\\"\\\";\\n}\\n.fc-event {\\n  padding: 0;\\n  font-size: 11px;\\n  border-radius: 0;\\n  border: 0;\\n}\\n.fc-event .fc-title {\\n  padding: 2px 8px;\\n  display: block;\\n}\\n.fc-event .fc-time {\\n  float: left;\\n  background: rgba(0, 0, 0, 0.2);\\n  padding: 2px 6px;\\n  margin: 0 0 0 -1px;\\n}\\n.fc-view,\\n.fc-view > table {\\n  border: 0;\\n}\\n.fc-view > table > tbody > tr > .ui-widget-content {\\n  border-top: 0;\\n}\\ndiv.fc-row {\\n  margin-right: 0 !important;\\n  border: 0 !important;\\n}\\n/*.fc-today {\\n  color: #ffc107!important\\n}*/\\n.event-tag {\\n  margin-top: 5px;\\n}\\n.event-tag > span {\\n  border-radius: 50%;\\n  width: 30px;\\n  height: 30px;\\n  margin-right: 3px;\\n  position: relative;\\n  display: inline-block;\\n  cursor: pointer;\\n}\\n.event-tag > span:hover {\\n  opacity: 0.8;\\n  filter: alpha(opacity=80);\\n}\\n.event-tag > span.selected:before {\\n  font-family: \\\"Material-Design-Iconic-Font\\\";\\n  content: \\\"\\\";\\n  position: absolute;\\n  text-align: center;\\n  top: 3px;\\n  width: 100%;\\n  font-size: 17px;\\n  color: #FFF;\\n}\\nhr.fc-divider {\\n  border-width: 1px;\\n  border-color: #eee;\\n}\\n.fc-day-grid-container.fc-scroller {\\n  height: auto !important;\\n  overflow: hidden !important;\\n}\\n.noUi-target {\\n  border-radius: 0;\\n  box-shadow: none;\\n  border: 0;\\n}\\n.noUi-background {\\n  background: #d4d4d4;\\n  box-shadow: none;\\n}\\n.noUi-horizontal {\\n  height: 3px;\\n}\\n.noUi-horizontal .noUi-handle {\\n  top: -8px;\\n}\\n.noUi-vertical {\\n  width: 3px;\\n}\\n.noUi-horizontal .noUi-handle,\\n.noUi-vertical .noUi-handle {\\n  width: 19px;\\n  height: 19px;\\n  border: 0;\\n  border-radius: 100%;\\n  box-shadow: none;\\n  transition: box-shadow;\\n  transition-duration: 200ms;\\n  cursor: pointer;\\n  position: relative;\\n}\\n.noUi-horizontal .noUi-handle:before,\\n.noUi-vertical .noUi-handle:before,\\n.noUi-horizontal .noUi-handle:after,\\n.noUi-vertical .noUi-handle:after {\\n  display: none;\\n}\\n.noUi-horizontal .noUi-handle:active,\\n.noUi-vertical .noUi-handle:active {\\n  background: #ccc !important;\\n}\\n.noUi-horizontal .noUi-handle .is-tooltip,\\n.noUi-vertical .noUi-handle .is-tooltip {\\n  position: absolute;\\n  bottom: 32px;\\n  height: 35px;\\n  border-radius: 2px;\\n  color: #fff;\\n  text-align: center;\\n  line-height: 33px;\\n  width: 50px;\\n  left: 50%;\\n  margin-left: -25px;\\n  padding: 0 10px;\\n  transition: all;\\n  transition-duration: 200ms;\\n  -webkit-backface-visibility: hidden;\\n  backface-visibility: hidden;\\n  opacity: 0;\\n  filter: alpha(opacity=0);\\n  transform: scale(0);\\n}\\n.noUi-horizontal .noUi-handle .is-tooltip:after,\\n.noUi-vertical .noUi-handle .is-tooltip:after {\\n  width: 0;\\n  height: 0;\\n  border-style: solid;\\n  border-width: 15px 10px 0;\\n  position: absolute;\\n  bottom: -8px;\\n  left: 50%;\\n  margin-left: -9px;\\n  content: \\\"\\\";\\n}\\n.noUi-horizontal .noUi-active,\\n.noUi-vertical .noUi-active {\\n  box-shadow: 0 0 0 13px rgba(0, 0, 0, 0.1);\\n}\\n.noUi-horizontal .noUi-active .is-tooltip,\\n.noUi-vertical .noUi-active .is-tooltip {\\n  transform: scale(1);\\n  bottom: 40px;\\n  opacity: 1;\\n  filter: alpha(opacity=100);\\n}\\n.input-slider:not([data-is-color]) .noUi-handle,\\n.input-slider-range:not([data-is-color]) .noUi-handle,\\n.input-slider-values:not([data-is-color]) .noUi-handle,\\n.input-slider:not([data-is-color]) .noUi-connect,\\n.input-slider-range:not([data-is-color]) .noUi-connect,\\n.input-slider-values:not([data-is-color]) .noUi-connect {\\n  background: #009688 !important;\\n}\\n.input-slider:not([data-is-color]) .is-tooltip,\\n.input-slider-range:not([data-is-color]) .is-tooltip,\\n.input-slider-values:not([data-is-color]) .is-tooltip {\\n  background: #009688;\\n}\\n.input-slider:not([data-is-color]) .is-tooltip:after,\\n.input-slider-range:not([data-is-color]) .is-tooltip:after,\\n.input-slider-values:not([data-is-color]) .is-tooltip:after {\\n  border-color: #009688 transparent transparent;\\n}\\n.input-slider[data-is-color=red] .noUi-handle,\\n.input-slider-range[data-is-color=red] .noUi-handle,\\n.input-slider-values[data-is-color=red] .noUi-handle,\\n.input-slider[data-is-color=red] .noUi-connect,\\n.input-slider-range[data-is-color=red] .noUi-connect,\\n.input-slider-values[data-is-color=red] .noUi-connect {\\n  background: #f44336 !important;\\n}\\n.input-slider[data-is-color=blue] .noUi-handle,\\n.input-slider-range[data-is-color=blue] .noUi-handle,\\n.input-slider-values[data-is-color=blue] .noUi-handle,\\n.input-slider[data-is-color=blue] .noUi-connect,\\n.input-slider-range[data-is-color=blue] .noUi-connect,\\n.input-slider-values[data-is-color=blue] .noUi-connect {\\n  background: #2196f3 !important;\\n}\\n.input-slider[data-is-color=cyan] .noUi-handle,\\n.input-slider-range[data-is-color=cyan] .noUi-handle,\\n.input-slider-values[data-is-color=cyan] .noUi-handle,\\n.input-slider[data-is-color=cyan] .noUi-connect,\\n.input-slider-range[data-is-color=cyan] .noUi-connect,\\n.input-slider-values[data-is-color=cyan] .noUi-connect {\\n  background: #00bcd4 !important;\\n}\\n.input-slider[data-is-color=amber] .noUi-handle,\\n.input-slider-range[data-is-color=amber] .noUi-handle,\\n.input-slider-values[data-is-color=amber] .noUi-handle,\\n.input-slider[data-is-color=amber] .noUi-connect,\\n.input-slider-range[data-is-color=amber] .noUi-connect,\\n.input-slider-values[data-is-color=amber] .noUi-connect {\\n  background: #ffc107 !important;\\n}\\n.input-slider[data-is-color=green] .noUi-handle,\\n.input-slider-range[data-is-color=green] .noUi-handle,\\n.input-slider-values[data-is-color=green] .noUi-handle,\\n.input-slider[data-is-color=green] .noUi-connect,\\n.input-slider-range[data-is-color=green] .noUi-connect,\\n.input-slider-values[data-is-color=green] .noUi-connect {\\n  background: #4caf50 !important;\\n}\\n.input-slider .noUi-origin {\\n  background: #d4d4d4;\\n}\\n.input-slider:not([data-is-color]) .noUi-base {\\n  background: #009688 !important;\\n}\\n.input-slider[data-is-color=red] .noUi-base {\\n  background: #f44336 !important;\\n}\\n.input-slider[data-is-color=blue] .noUi-base {\\n  background: #2196f3 !important;\\n}\\n.input-slider[data-is-color=cyan] .noUi-base {\\n  background: #00bcd4 !important;\\n}\\n.input-slider[data-is-color=amber] .noUi-base {\\n  background: #ffc107 !important;\\n}\\n.input-slider[data-is-color=green] .noUi-base {\\n  background: #4caf50 !important;\\n}\\n.cp-container {\\n  position: relative;\\n}\\n.cp-container > .input-group input.cp-value {\\n  color: #000 !important;\\n  background: transparent !important;\\n}\\n.cp-container > .input-group .dropdown-menu {\\n  padding: 20px;\\n}\\n.cp-container i.cp-value {\\n  width: 25px;\\n  height: 25px;\\n  border-radius: 2px;\\n  position: absolute;\\n  top: 0;\\n  right: 15px;\\n}\\n.note-editor,\\n.note-popover {\\n  border-color: #e4e4e4;\\n}\\n.note-editor .note-toolbar,\\n.note-popover .note-toolbar,\\n.note-editor .popover-content,\\n.note-popover .popover-content {\\n  background: #fff;\\n  border-color: #e4e4e4;\\n  margin: 0;\\n  padding: 10px 0 15px;\\n  text-align: center;\\n}\\n.note-editor .note-toolbar > .btn-group,\\n.note-popover .note-toolbar > .btn-group,\\n.note-editor .popover-content > .btn-group,\\n.note-popover .popover-content > .btn-group {\\n  display: inline-block;\\n  float: none;\\n  box-shadow: none;\\n}\\n.note-editor .note-toolbar > .btn-group .btn,\\n.note-popover .note-toolbar > .btn-group .btn,\\n.note-editor .popover-content > .btn-group .btn,\\n.note-popover .popover-content > .btn-group .btn {\\n  margin: 0 1px;\\n}\\n.note-editor .note-toolbar > .btn-group > .active,\\n.note-popover .note-toolbar > .btn-group > .active,\\n.note-editor .popover-content > .btn-group > .active,\\n.note-popover .popover-content > .btn-group > .active {\\n  background: #00bcd4;\\n  color: #fff;\\n}\\n.note-editor .note-toolbar .btn,\\n.note-popover .note-toolbar .btn,\\n.note-editor .popover-content .btn,\\n.note-popover .popover-content .btn {\\n  height: 40px;\\n  border-radius: 2px !important;\\n  box-shadow: none !important;\\n}\\n.note-editor .note-toolbar .btn:active,\\n.note-popover .note-toolbar .btn:active,\\n.note-editor .popover-content .btn:active,\\n.note-popover .popover-content .btn:active {\\n  box-shadow: none;\\n}\\n.note-editor .note-toolbar .note-palette-title,\\n.note-popover .note-toolbar .note-palette-title,\\n.note-editor .popover-content .note-palette-title,\\n.note-popover .popover-content .note-palette-title {\\n  margin: 0 !important;\\n  padding: 10px 0 !important;\\n  font-size: 13px !important;\\n  text-align: center !important;\\n  border: 0 !important;\\n}\\n.note-editor .note-toolbar .note-color-reset,\\n.note-popover .note-toolbar .note-color-reset,\\n.note-editor .popover-content .note-color-reset,\\n.note-popover .popover-content .note-color-reset {\\n  padding: 0 0 10px !important;\\n  margin: 0 !important;\\n  background: none;\\n  text-align: center;\\n}\\n.note-editor .note-toolbar .note-color .dropdown-menu,\\n.note-popover .note-toolbar .note-color .dropdown-menu,\\n.note-editor .popover-content .note-color .dropdown-menu,\\n.note-popover .popover-content .note-color .dropdown-menu {\\n  min-width: 335px;\\n}\\n.note-editor .note-statusbar .note-resizebar,\\n.note-popover .note-statusbar .note-resizebar {\\n  border-color: #E8E8E8;\\n}\\n.note-editor .note-statusbar .note-resizebar .note-icon-bar,\\n.note-popover .note-statusbar .note-resizebar .note-icon-bar {\\n  border-color: #BCBCBC;\\n}\\n.note-editor .fa,\\n.note-popover .fa {\\n  font-style: normal;\\n  font-size: 20px;\\n  vertical-align: middle;\\n}\\n.note-editor .fa:before,\\n.note-popover .fa:before {\\n  font-family: \\\"Material Design Iconic Font\\\";\\n}\\n.note-editor .fa.fa-magic:before,\\n.note-popover .fa.fa-magic:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-bold:before,\\n.note-popover .fa.fa-bold:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-italic:before,\\n.note-popover .fa.fa-italic:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-underline:before,\\n.note-popover .fa.fa-underline:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-font:before,\\n.note-popover .fa.fa-font:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-list-ul:before,\\n.note-popover .fa.fa-list-ul:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-list-ol:before,\\n.note-popover .fa.fa-list-ol:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-align-left:before,\\n.note-popover .fa.fa-align-left:before {\\n  content: \\\"\\\";\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-align-right:before,\\n.note-popover .fa.fa-align-right:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-align-center:before,\\n.note-popover .fa.fa-align-center:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-align-justify:before,\\n.note-popover .fa.fa-align-justify:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-indent:before,\\n.note-popover .fa.fa-indent:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-outdent:before,\\n.note-popover .fa.fa-outdent:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-text-height:before,\\n.note-popover .fa.fa-text-height:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-table:before,\\n.note-popover .fa.fa-table:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-link:before,\\n.note-popover .fa.fa-link:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-picture-o:before,\\n.note-popover .fa.fa-picture-o:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-minus:before,\\n.note-popover .fa.fa-minus:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-arrows-alt:before,\\n.note-popover .fa.fa-arrows-alt:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-code:before,\\n.note-popover .fa.fa-code:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-question:before,\\n.note-popover .fa.fa-question:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-eraser:before,\\n.note-popover .fa.fa-eraser:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-square:before,\\n.note-popover .fa.fa-square:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-circle-o:before,\\n.note-popover .fa.fa-circle-o:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .fa.fa-times:before,\\n.note-popover .fa.fa-times:before {\\n  content: \\\"\\\";\\n}\\n.note-editor .note-air-popover .arrow,\\n.note-popover .note-air-popover .arrow {\\n  left: 20px;\\n}\\n.note-editor .note-editable {\\n  padding: 20px 23px;\\n}\\n.fileinput {\\n  position: relative;\\n  padding-right: 35px;\\n}\\n.fileinput .close {\\n  position: absolute;\\n  top: 5px;\\n  font-size: 12px;\\n  float: none;\\n  opacity: 1;\\n  font-weight: 500;\\n  border: 1px solid #ccc;\\n  width: 19px;\\n  text-align: center;\\n  height: 19px;\\n  line-height: 15px;\\n  border-radius: 50%;\\n  right: 0;\\n}\\n.fileinput .close:hover {\\n  background: #eee;\\n}\\n.fileinput .btn-file > input {\\n  z-index: 1000;\\n}\\n.fileinput .input-group-addon {\\n  padding: 0 10px;\\n  vertical-align: middle;\\n}\\n.fileinput .fileinput-preview {\\n  width: 200px;\\n  height: 150px;\\n  position: relative;\\n}\\n.fileinput .fileinput-preview img {\\n  display: inline-block;\\n  vertical-align: middle;\\n  margin-top: -13px;\\n}\\n.fileinput .fileinput-preview:after {\\n  content: \\\"\\\";\\n  display: inline-block;\\n  vertical-align: middle;\\n}\\n#lg-slider:after {\\n  content: \\\"\\\";\\n  animation-fill-mode: both;\\n  height: 50px;\\n  width: 50px;\\n  border-radius: 100%;\\n  border: 2px solid #2196f3;\\n  animation: ball-scale-ripple 1s 0 infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);\\n  position: absolute;\\n  left: 50%;\\n  margin-left: -25px;\\n  top: 50%;\\n  margin-top: -25px;\\n  z-index: -1;\\n}\\n#lg-outer {\\n  background: rgba(255, 255, 255, 0.95);\\n}\\n#lg-outer .object {\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12);\\n  border-radius: 2px;\\n}\\n#lg-close {\\n  display: none;\\n}\\n#lg-action {\\n  top: 0;\\n  width: 100%;\\n  left: 0;\\n  margin-left: 0 !important;\\n  height: 40px;\\n  text-align: center;\\n}\\n#lg-action > a {\\n  background: transparent;\\n  color: #9D9D9D;\\n  font-size: 18px;\\n  width: 28px;\\n  height: 37px;\\n}\\n#lg-action > a:hover {\\n  background: transparent;\\n  color: #000;\\n}\\n#lg-action .cl-thumb {\\n  position: fixed;\\n  right: 20px;\\n  bottom: 20px;\\n  width: 50px;\\n  height: 50px;\\n  border-radius: 50%;\\n  line-height: 38px;\\n  background: #f44336;\\n  transition: all;\\n  transition-duration: 300ms;\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12);\\n}\\n#lg-action .cl-thumb:after {\\n  text-align: center;\\n  left: 16px !important;\\n  bottom: 6px !important;\\n  color: #fff;\\n}\\n#lg-action .cl-thumb:hover {\\n  background: #f32c1e;\\n}\\n#lg-gallery .thumb-cont {\\n  background: #f44336;\\n  text-align: center;\\n}\\n#lg-gallery .thumb-cont .thumb-info {\\n  background: #f44336;\\n}\\n#lg-gallery .thumb-cont .thumb-info .count {\\n  display: none;\\n}\\n#lg-gallery .thumb-cont .thumb-info .close {\\n  width: 14px;\\n  margin-top: 0;\\n  background: none;\\n}\\n#lg-gallery .thumb-cont .thumb-info .close:hover {\\n  background: none;\\n}\\n#lg-gallery .thumb-cont .thumb {\\n  opacity: 1;\\n  filter: alpha(opacity=100);\\n}\\n#lg-gallery .thumb-cont .thumb-inner {\\n  display: inline-block;\\n  padding: 12px 12px 15px;\\n}\\n.lg-slide {\\n  background: none !important;\\n}\\n.lg-slide em {\\n  font-style: normal;\\n}\\n.lg-slide em h3 {\\n  margin-bottom: 5px;\\n}\\n.lg-slide .video-cont {\\n  box-shadow: 0 8px 17px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.19);\\n}\\n@keyframes ball-scale-ripple {\\n  0% {\\n    transform: scale(0.1);\\n    opacity: 1;\\n  }\\n  70% {\\n    transform: scale(1);\\n    opacity: 0.7;\\n  }\\n  100% {\\n    opacity: 0;\\n  }\\n}\\n.waves-button,\\n.waves-circle {\\n  -webkit-mask-image: none;\\n  line-height: inherit;\\n}\\n.date-picker .dp-inline {\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12);\\n  display: inline-block;\\n}\\n.date-picker:not(.dp-blue):not(.dp-red) .tr-dpnav th {\\n  background: #009688;\\n}\\n.date-picker:not(.dp-blue):not(.dp-red) .tr-dpday th {\\n  background: #00877a;\\n}\\n.date-picker:not(.dp-blue):not(.dp-red) .dp-active {\\n  background-color: #009688;\\n}\\n.date-picker:not(.dp-blue):not(.dp-red) .dp-actions .btn-link {\\n  color: #009688;\\n}\\n.date-picker .dropdown-menu {\\n  padding: 0;\\n  margin: 0;\\n}\\n.date-picker.is-opened .dropdown-menu {\\n  transform: scale(1);\\n  opacity: 1;\\n  filter: alpha(opacity=100);\\n}\\n.dp-table {\\n  position: relative;\\n  z-index: 1;\\n}\\n.dp-table thead > tr th:first-child {\\n  padding-left: 15px;\\n}\\n.dp-table thead > tr th:last-child {\\n  padding-right: 15px;\\n}\\n.dp-table tbody > tr:first-child > td {\\n  padding-top: 15px;\\n}\\n.dp-table tbody > tr:last-child > td {\\n  padding-bottom: 15px;\\n}\\n.dp-table tbody > tr td:first-child {\\n  padding-left: 15px;\\n}\\n.dp-table tbody > tr td:last-child {\\n  padding-right: 15px;\\n}\\n.btn-dp {\\n  background: transparent;\\n  border: 0;\\n}\\n.btn-dp .zmdi {\\n  font-size: 18px;\\n  line-height: 100%;\\n  width: 35px;\\n  height: 35px;\\n  border-radius: 50%;\\n  line-height: 34px;\\n}\\n.btn-dp .zmdi:hover {\\n  background-color: rgba(0, 0, 0, 0.14);\\n}\\n.btn-dp[disabled] {\\n  color: #CDCDCD;\\n}\\n.btn-dp[disabled] .dp-day-muted {\\n  color: #CDCDCD;\\n}\\n.btn-dpbody {\\n  padding: 13px;\\n  font-size: 12px;\\n  border-radius: 2px;\\n}\\n.btn-dpbody:not(.dp-active):not([disabled]) {\\n  color: #000;\\n}\\n.btn-dpbody:not(.dp-active):not([disabled]):not(.dp-today):hover {\\n  background: #F0F0F0;\\n}\\n.btn-dpday {\\n  border-radius: 50%;\\n  width: 42px !important;\\n  height: 42px;\\n}\\n.tr-dpnav .btn-dp {\\n  color: #fff;\\n  padding: 25px 0 23px;\\n}\\n.tr-dpday th {\\n  padding: 8px 0 9px;\\n  color: #fff;\\n  text-transform: uppercase;\\n}\\n.dp-active {\\n  color: #fff;\\n}\\n.dp-today:not(.dp-active) {\\n  background-color: #E2E2E2;\\n}\\n.dp-day-muted {\\n  color: #8B8B8B;\\n}\\n.dp-title {\\n  font-weight: 400;\\n  font-size: 16px;\\n  text-transform: uppercase;\\n}\\n.dp-title:hover {\\n  background-color: rgba(0, 0, 0, 0.14);\\n  border-radius: 2px;\\n}\\n.dp-blue .tr-dpnav th {\\n  background: #2196f3;\\n}\\n.dp-blue .tr-dpday th {\\n  background: #128ff2;\\n}\\n.dp-blue .dp-active {\\n  background-color: #2196f3;\\n}\\n.dp-blue .dp-actions .btn-link {\\n  color: #2196f3;\\n}\\n.dp-red .tr-dpnav th {\\n  background: #f44336;\\n}\\n.dp-red .tr-dpday th {\\n  background: #f33527;\\n}\\n.dp-red .dp-active {\\n  background-color: #f44336;\\n}\\n.dp-red .dp-actions .btn-link {\\n  color: #f44336;\\n}\\n.dp-actions {\\n  padding: 10px 20px 20px;\\n  text-align: right;\\n}\\n.dp-actions .btn-link {\\n  text-decoration: none;\\n  border-radius: 2px;\\n  font-size: 14px;\\n  font-weight: 500;\\n}\\n.ng-table th.sortable {\\n  cursor: pointer;\\n  -webkit-touch-callout: none;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n  user-select: none;\\n}\\n.ng-table th.sortable:hover {\\n  background-color: #FDFBD3;\\n}\\n.ng-table .form-control {\\n  border: 1px solid #E4E4E4;\\n  padding: 10px 15px;\\n  height: 40px;\\n}\\n.ng-table .form-control:active,\\n.ng-table .form-control:focus {\\n  border-color: #D7D7D7 !important;\\n}\\n.ng-table-pager {\\n  padding: 12px 25px 15px;\\n  min-height: 101px;\\n}\\n@media screen and (min-width: 768px) {\\n  .ng-table-pager {\\n    background: #f9f9f9;\\n  }\\n}\\n.ng-table-counts {\\n  box-shadow: none !important;\\n  margin-top: 23px;\\n  border: 1px solid #E8E8E8;\\n}\\n@media screen and (max-width: 768px) {\\n  .ng-table-counts {\\n    display: none;\\n  }\\n}\\n.ng-table-counts .active {\\n  background: #F0F0F0;\\n}\\n@media screen and (max-width: 768px) {\\n  .ng-table-pagination {\\n    width: 100%;\\n    text-align: center;\\n  }\\n}\\n.ng-table-pagination > li {\\n  position: relative;\\n}\\n.ng-table-pagination > li:first-child:before,\\n.ng-table-pagination > li:last-child:before {\\n  font-family: \\\"Material-Design-Iconic-Font\\\";\\n  font-size: 22px;\\n  position: absolute;\\n  left: 16px;\\n  top: 5px;\\n  z-index: 12;\\n}\\n.ng-table-pagination > li:first-child > a,\\n.ng-table-pagination > li:last-child > a {\\n  font-size: 0;\\n}\\n.ng-table-pagination > li:first-child:before {\\n  content: \\\"\\\";\\n}\\n.ng-table-pagination > li:last-child:before {\\n  content: \\\"\\\";\\n}\\n.sortable .ng-table-header {\\n  position: relative;\\n}\\n.sortable .ng-table-header:before {\\n  font-family: \\\"Material-Design-Iconic-Font\\\";\\n  position: absolute;\\n  right: 0;\\n  top: -2px;\\n  font-size: 17px;\\n}\\n.sortable.sort-desc .ng-table-header:before {\\n  content: \\\"\\\";\\n}\\n.sortable.sort-asc .ng-table-header:before {\\n  content: \\\"\\\";\\n}\\n.timepicker-picker .btn {\\n  box-shadow: none !important;\\n}\\n.timepicker-picker table tbody tr + tr:not(:last-child) {\\n  background: #009688;\\n  color: #fff;\\n}\\n.timepicker-picker table tbody tr + tr:not(:last-child) td {\\n  border-radius: 0;\\n}\\n.timepicker-picker .btn {\\n  background: #fff;\\n  color: #333;\\n}\\n.datepicker.top {\\n  transform-origin: 0 100% !important;\\n}\\n.datepicker table thead tr th {\\n  border-radius: 0;\\n  color: #fff;\\n}\\n.datepicker table thead tr th .glyphicon {\\n  width: 30px;\\n  height: 30px;\\n  border-radius: 50%;\\n  line-height: 29px;\\n}\\n.datepicker table thead tr th:hover .glyphicon {\\n  background: rgba(0, 0, 0, 0.2);\\n}\\n.datepicker table thead tr:first-child th {\\n  background: #009688;\\n  padding: 20px 0;\\n}\\n.datepicker table thead tr:first-child th:hover {\\n  background: #009688;\\n}\\n.datepicker table thead tr:first-child th.picker-switch {\\n  font-size: 16px;\\n  font-weight: 400;\\n  text-transform: uppercase;\\n}\\n.datepicker table thead tr:last-child th {\\n  text-transform: uppercase;\\n  font-weight: 400;\\n  font-size: 11px;\\n}\\n.datepicker table thead tr:last-child th:first-child {\\n  padding-left: 20px;\\n}\\n.datepicker table thead tr:last-child th:last-child {\\n  padding-right: 20px;\\n}\\n.datepicker table thead tr:last-child:not(:only-child) {\\n  background: #00877a;\\n}\\n.datepicker table tbody tr:last-child td {\\n  padding-bottom: 25px;\\n}\\n.datepicker table tbody tr td:first-child {\\n  padding-left: 13px;\\n}\\n.datepicker table tbody tr td:last-child {\\n  padding-right: 13px;\\n}\\n.datepicker table td.day {\\n  width: 35px;\\n  height: 35px;\\n  line-height: 20px;\\n  color: #333;\\n  position: relative;\\n  padding: 0;\\n  background: transparent;\\n}\\n.datepicker table td.day:hover {\\n  background: none;\\n}\\n.datepicker table td.day:before {\\n  content: \\\"\\\";\\n  width: 35px;\\n  height: 35px;\\n  border-radius: 50%;\\n  margin-bottom: -33px;\\n  display: inline-block;\\n  background: transparent;\\n  position: static;\\n  text-shadow: none;\\n}\\n.datepicker table td.day.old, .datepicker table td.day.new {\\n  color: #CDCDCD;\\n}\\n.datepicker table td:not(.today):not(.active):hover:before {\\n  background: #F0F0F0;\\n}\\n.datepicker table td.today {\\n  color: #333;\\n}\\n.datepicker table td.today:before {\\n  background-color: #E2E2E2;\\n}\\n.datepicker table td.active {\\n  color: #fff;\\n}\\n.datepicker table td.active:before {\\n  background-color: #009688;\\n}\\n.datepicker-months .month, .datepicker-years .year, .timepicker-minutes .minute, .timepicker-hours .hour {\\n  border-radius: 50%;\\n}\\n.datepicker-months .month:not(.active):hover, .datepicker-years .year:not(.active):hover, .timepicker-minutes .minute:not(.active):hover, .timepicker-hours .hour:not(.active):hover {\\n  background: #F0F0F0;\\n}\\n.datepicker-months .month.active, .datepicker-years .year.active, .timepicker-minutes .minute.active, .timepicker-hours .hour.active {\\n  background: #009688;\\n}\\n.timepicker-minutes .minute, .timepicker-hours .hour {\\n  padding: 0;\\n}\\n.checkbox > small {\\n  margin-top: 20px;\\n}\\n.m-l--5 {\\n  margin-left: -5px !important;\\n}\\n/*.col-lg-3 {\\nwidth:22% !important;\\n}*/\\n.tooltip {\\n  opacity: 1 !important;\\n}\\n.m-l-8 {\\n  margin-left: 8px !important;\\n}\\n.f-s {\\n  font-size: 23px !important;\\n}\\n@media (max-width: 360px) {\\n  #InOrder {\\n    float: left !important;\\n    margin-top: 10px;\\n  }\\n\\n  #buttoncard {\\n    height: 98px !important;\\n  }\\n\\n  #mobilecard {\\n    height: 390px !important;\\n  }\\n}\\n.product-grid__description {\\n  font-weight: bold;\\n  line-height: 1.2;\\n  margin-bottom: 0;\\n  margin-top: 4px;\\n  overflow: hidden;\\n  color: #5e5e5e;\\n  font-size: 16px;\\n}\\n.headmin-height {\\n  min-height: 170px;\\n}\\n.p-l-28 {\\n  padding-left: 28px !important;\\n}\\n.p-l-35 {\\n  padding-left: 35px !important;\\n}\\n.f-bold {\\n  font-weight: 700;\\n}\\n.m-auto {\\n  margin: auto;\\n}\\n.f-s-18 {\\n  font-size: 18px;\\n}\\n.bottom-btn {\\n  bottom: 15px;\\n  position: fixed;\\n  right: 15px;\\n  z-index: 20;\\n}\\n.f-s-14 {\\n  font-size: 14px;\\n}\\n.f-s-16 {\\n  font-size: 16px;\\n}\\n.f-s-20 {\\n  font-size: 20px;\\n}\\n.f-s-24 {\\n  font-size: 24px !important;\\n}\\n@media (max-width: 1199px) {\\n  #user {\\n    margin-bottom: 20px !important;\\n  }\\n}\\n.m-l-23 {\\n  margin-left: 23px !important;\\n}\\n@media (max-width: 1199px) {\\n  #autoshipdiv {\\n    padding-right: 0px !important;\\n  }\\n}\\n.btn {\\n  text-transform: uppercase !important;\\n  width: auto;\\n}\\n#__lpform_input_idx_0_numspan, .__lpform_input_idx_0 {\\n  display: none !important;\\n}\\n.methoddropdown {\\n  width: 100%;\\n  background-color: transparent;\\n  color: #000000;\\n  text-align: left;\\n  padding: 6px 12px 0;\\n  box-shadow: none !important;\\n  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;\\n  border-color: currentcolor currentcolor var(--color1);\\n  border-style: none none solid;\\n  border-width: medium medium 2px;\\n}\\n.dropper {\\n  display: block;\\n  float: left;\\n  width: 88%;\\n}\\n.dropper_menu {\\n  width: 100%;\\n  padding-left: 3px;\\n}\\n.second_menu {\\n  padding-left: 18px;\\n  color: #999999;\\n  font-size: 14px;\\n}\\n.caret_arrow {\\n  float: right;\\n  font-size: 22px;\\n  text-align: center;\\n  width: 8%;\\n}\\n.caret_arrow i {\\n  color: #00c1d6;\\n}\\n.dropdown-menu.dropper_menu > li:hover {\\n  cursor: grab;\\n}\\n.col-height {\\n  height: 330px;\\n}\\n.ds-cart__page-container {\\n  min-height: 600px;\\n}\\n.iosDevice .modal-open {\\n  overflow: unset;\\n}\\n.iosDevice .modal {\\n  overflow-y: scroll;\\n  position: relative;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1050;\\n  -webkit-overflow-scrolling: touch;\\n  outline: 0;\\n}\\n.iosDevice .modal.fade .modal-dialog {\\n  z-index: 99999;\\n  transform: translate(0, -25%);\\n  transition: transform 0.3s ease-out;\\n}\\n.iosDevice .modal.in .modal-dialog {\\n  transform: translate(0, 0);\\n}\\n.iosDevice .modal-dialog {\\n  position: relative;\\n  width: auto;\\n  margin: 10px;\\n}\\n.iosDevice .modal-content {\\n  position: relative;\\n  background-color: #fff;\\n  border: 1px solid #999;\\n  border: 1px solid rgba(0, 0, 0, 0.2);\\n  border-radius: 6px;\\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\\n  background-clip: padding-box;\\n  outline: 0;\\n}\\n.iosDevice .modal-backdrop {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1040;\\n  background-color: #000;\\n}\\n.iosDevice .modal-backdrop.fade {\\n  filter: alpha(opacity=0);\\n}\\n.iosDevice .modal-backdrop.in {\\n  filter: alpha(opacity=50);\\n}\\n.iosDevice .modal-header {\\n  padding: 15px;\\n  border-bottom: 1px solid #e5e5e5;\\n  min-height: 16.42857143px;\\n}\\n.iosDevice .modal-header .close {\\n  margin-top: -2px;\\n}\\n.iosDevice .modal-title {\\n  margin: 0;\\n  line-height: 1.42857143;\\n}\\n.iosDevice .modal-body {\\n  position: relative;\\n  padding: 20px;\\n}\\n.iosDevice .modal-footer {\\n  margin-top: 15px;\\n  padding: 19px 20px 20px;\\n  text-align: right;\\n  border-top: 1px solid #e5e5e5;\\n}\\n.iosDevice .modal-footer .btn + .btn {\\n  margin-left: 5px;\\n  margin-bottom: 0;\\n}\\n.iosDevice .modal-footer .btn-group .btn + .btn {\\n  margin-left: -1px;\\n}\\n.iosDevice .modal-footer .btn-block + .btn-block {\\n  margin-left: 0;\\n}\\n@media (max-width: 420px) {\\n  .cart_mobile {\\n    margin-left: -30% !important;\\n    margin-top: -8% !important;\\n  }\\n\\n  .cart_mobile .zmdi-shopping-cart {\\n    font-size: 21px !important;\\n  }\\n\\n  .cart_mobile .cart-counter {\\n    width: 14px !important;\\n    height: 14px !important;\\n  }\\n\\n  .menu_list {\\n    opacity: 1 !important;\\n    z-index: 9999 !important;\\n  }\\n\\n  .ds-product-detail__body .img-box {\\n    width: 100% !important;\\n  }\\n\\n  .ds-product-detail__body .share_box {\\n    text-align: left !important;\\n    margin-bottom: 2% !important;\\n  }\\n\\n  .ds-product-detail__options__option {\\n    width: 100%;\\n  }\\n\\n  .iosDevice .modal-backdrop {\\n    opacity: 0.5;\\n  }\\n}\\n@media (min-width: 768px) {\\n  .iosDevice .modal-dialog {\\n    width: 600px;\\n    margin: 30px auto;\\n  }\\n\\n  .iosDevice .modal-content {\\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\\n  }\\n\\n  .iosDevice .modal-sm {\\n    width: 300px;\\n  }\\n}\\n@media (min-width: 992px) {\\n  .iosDevice .modal-lg {\\n    width: 900px;\\n  }\\n}\\n.flex-justify-end {\\n  justify-content: flex-end;\\n}\\n.rotate-90 {\\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0.5);\\n  transform: rotate(-90deg);\\n}\\n#product_update_card .ds-cart__image-wrapper {\\n  position: relative;\\n  border-bottom: 1px solid #d3d3d3;\\n}\\n#product_update_card .ds-cart__image-wrapper__sales {\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  width: 0;\\n  height: 0;\\n  border-top: 79px solid #1c7bbf;\\n  border-top: 79px solid var(--color1);\\n  border-bottom: 79px solid transparent;\\n  border-right: 79px solid transparent;\\n}\\n#product_update_card .ds-cart__image-wrapper__sales p {\\n  position: absolute;\\n  top: -60px;\\n  width: 79px;\\n  left: -15px;\\n  text-align: center;\\n  font-size: 14px;\\n  font-weight: 500;\\n  color: #fff;\\n  transform: rotate(-45deg);\\n  display: block;\\n}\\n#product_update_card .ds-cart__image-wrapper .btn {\\n  position: absolute;\\n  height: 32px;\\n  bottom: 10px;\\n  border-radius: 2px;\\n  box-shadow: none;\\n}\\n#product_update_card .ds-cart__image-wrapper .zmdi-share-btn {\\n  left: 15px;\\n  width: 42px;\\n}\\n#product_update_card .ds-cart__image-wrapper .more_colors {\\n  right: 15px;\\n  width: 108px;\\n  font-size: 12px;\\n  font-weight: 400;\\n}\\n#product_update_card .ds-cart__image-wrapper .opacity_btn {\\n  opacity: 0.8;\\n}\\n#product_update_card .ds-cart__image-wrapper .ds-cart__image img {\\n  height: 306px;\\n  width: 306px;\\n}\\n#product_update_card .ds-cart-size {\\n  height: 394px !important;\\n  width: 306px !important;\\n  box-shadow: none;\\n}\\n#product_update_card .ds-cart__item-meta .product-name {\\n  font-size: 16px;\\n  font-weight: 500;\\n  padding: 5px 0px 0px 0px;\\n}\\n#product_update_card .ds-cart__item-meta span {\\n  font-size: 14px;\\n}\\n#product_update_card .ds-cart__item-meta .product-color {\\n  color: #1c7bbf;\\n  color: var(--color1);\\n  text-align: left;\\n  width: 100%;\\n  font-weight: bold;\\n  padding: 0px 15px;\\n}\\n#product_update_card .ds-cart__item-meta .strikethrough {\\n  text-decoration: line-through;\\n  display: inline-block;\\n}\\n#product_update_card .ds-cart__item-meta .darkgray {\\n  color: darkgray;\\n}\\n#product_update_card .ds-cart__item-meta .zmdi-cart-plus-btn {\\n  border-radius: 5px;\\n  border: 2px solid #a5a5a5b0;\\n  box-shadow: none;\\n  color: #a5a5a5b0;\\n  font-weight: bold;\\n  padding: 5px 12px;\\n}\\n.mwo {\\n  max-width: 1340px !important;\\n}\\n.product-color {\\n  color: #1c7bbf;\\n  color: var(--color1);\\n  text-align: left;\\n  width: 100%;\\n  font-weight: bold;\\n  padding: 0px 15px;\\n}\\n.m-b-4 {\\n  margin-bottom: 4%;\\n}\\n.md-dropdown {\\n  position: relative;\\n}\\n.md-dropdown button {\\n  padding-right: 20px;\\n}\\n.md-dropdown .zmdi {\\n  position: absolute;\\n  right: 5px;\\n  top: 10px;\\n  display: inline-block;\\n  pointer-events: none;\\n}\\n#OrderView .selected_tab {\\n  border-bottom: 4px solid #4a4a4a !important;\\n  border-bottom: 2px solid #4a4a4a !important;\\n}\\n#OrderView .selected_tab > a {\\n  color: black !important;\\n}\\n#OrderView .tab-nav:not(.tn-vertical) {\\n  box-shadow: none !important;\\n}\\n#OrderView .tab-nav > li > a {\\n  font-weight: normal !important;\\n  text-transform: none !important;\\n  padding: 13px 13px 1px 13px !important;\\n}\\n.ds-container {\\n  max-width: 1304px;\\n  margin: 0 auto;\\n  padding-top: 40px !important;\\n  margin-top: 40px !important;\\n}\\n.md-tab {\\n  text-transform: inherit !important;\\n}\\nmd-tabs.md-default-theme md-tabs-wrapper, md-tabs md-tabs-wrapper {\\n  background-color: #edecec;\\n  border-color: rgba(0, 0, 0, 0);\\n}\\nmd-tabs .md-tab.md-active {\\n  color: #5d5e63;\\n}\\n.md-subheader.md-default-theme {\\n  background-color: white;\\n  font-size: 15px !important;\\n}\\n.md-subheader {\\n  background-color: #f6f6f6;\\n  font-size: 15px !important;\\n}\\nmd-tabs.md-default-theme md-ink-bar, md-tabs md-ink-bar {\\n  background: #5d5e63;\\n}\\n.sort-dropdown {\\n  top: 92%;\\n  right: 1%;\\n  padding-bottom: 15px !important;\\n}\\n.m-t--15 {\\n  margin-top: -15px;\\n}\\nhtml, body {\\n  background: #edecec !important;\\n}\\n.sort-dropdown md-select {\\n  padding: 10px 2px 10px !important;\\n}\\nordercartmodal md-backdrop {\\n  height: auto !important;\\n  position: fixed;\\n}\\n.f-right {\\n  float: right;\\n}\\n.margin-0 {\\n  margin: 0px !important;\\n}\\n.line_height_1 {\\n  line-height: 1.2em !important;\\n}\\n.bg-white {\\n  background-color: white;\\n}\\n.padding-0 {\\n  padding: 0px !important;\\n}\\n.ds-summary-cart md-toolbar md-list md-list-item .md-list-item-text h3 {\\n  font-weight: normal !important;\\n}\\n.c-light {\\n  color: rgba(0, 0, 0, 0.37);\\n}\\n.main_heading {\\n  font-size: 22px !important;\\n  margin-bottom: 0 !important;\\n}\\n.subheading_text {\\n  font-size: 12px !important;\\n}\\np.main_price {\\n  font-size: 16px !important;\\n}\\n.main_qv {\\n  font-size: 12px;\\n}\\nh3.enroll_main_text {\\n  font-size: 15px !important;\\n}\\np.enroll_main_total {\\n  font-size: 12px !important;\\n  font-weight: bold !important;\\n}\\np.price_each {\\n  font-size: 15px !important;\\n}\\np.f-right.qv_each {\\n  font-size: 12px !important;\\n  margin: 0 !important;\\n  font-weight: bold !important;\\n}\\n.product_detail_text {\\n  font-size: 15px !important;\\n  margin: 0 !important;\\n  line-height: 18px !important;\\n}\\n.product_detail_qv {\\n  font-size: 12px !important;\\n  overflow: auto;\\n}\\n.price_set p {\\n  margin-top: 26% !important;\\n  margin-left: -40% !important;\\n}\\n.total_block {\\n  padding: 2%;\\n  padding-right: 15px !important;\\n  font-size: 14px;\\n}\\n.top_0 {\\n  top: 0 !important;\\n}\\n.pad-right {\\n  padding-right: 4% !important;\\n}\\nbody.modal-open .modal-body {\\n  overflow: auto !important;\\n}\\nmd-datepicker input {\\n  pointer-events: none;\\n}\\n.f-small {\\n  font-size: small !important;\\n}\\n.md-3-line.m-t-5 {\\n  margin-top: 5% !important;\\n}\\n.ds-cart__page .ds-checkbox + .help-block {\\n  margin-bottom: 0;\\n  position: relative;\\n  clear: both;\\n}\\n.width-100 {\\n  min-width: 100px !important;\\n}\\n.header-bg-color {\\n  background-color: #F0F0F0;\\n}\\n.ratings {\\n  position: relative;\\n  vertical-align: middle;\\n  display: inline-block;\\n  color: #b1b1b1;\\n  overflow: hidden;\\n}\\n.full-stars {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  color: #fde16d;\\n}\\n.empty-stars:before, .full-stars:before {\\n  content: \\\"★★★★★\\\";\\n  font-size: 14pt;\\n}\\n.empty-stars:before {\\n  -webkit-text-stroke: 1px #848484;\\n}\\n.full-stars:before {\\n  -webkit-text-stroke: 1px orange;\\n}\\n/* Webkit-text-stroke is not supported on firefox or IE */\\n/* Firefox */\\n@-moz-document url-prefix() {\\n  .full-stars {\\n    color: #ECBE24;\\n  }\\n}\\n.full-stars {\\n  color: #ECBE24;\\n}\\n.c-red {\\n  color: #C6161D;\\n}\\n.full-width {\\n  width: 100%;\\n}\\n.full-height {\\n  height: 100%;\\n}\\n.carousel-inner > .item > img {\\n  width: 100%;\\n  height: 730px;\\n}\\n@media (min-width: 768px) and (max-width: 960px) {\\n  .carousel-inner > .item > img {\\n    height: 366px !important;\\n  }\\n}\\n@media (min-width: 500px) and (max-width: 767px) {\\n  .carousel-inner > .item > img {\\n    height: 250px !important;\\n  }\\n}\\n@media (min-width: 320px) and (max-width: 499px) {\\n  .carousel-inner > .item > img {\\n    height: 200px !important;\\n  }\\n}\\n.item > img {\\n  border: none !important;\\n}\\n.w-49 {\\n  width: 49%;\\n}\\n.m-r-2 {\\n  margin-right: 2%;\\n}\\n.m-t-2 {\\n  margin-top: 2%;\\n}\\n.m-b-2 {\\n  margin-bottom: 2%;\\n}\\n#zpimage-zoomContainer {\\n  z-index: 1 !important;\\n}\\n.md-button.disabled,\\n.md-button[disabled],\\nfieldset[disabled] .md-button {\\n  cursor: not-allowed;\\n  opacity: 0.65;\\n  filter: alpha(opacity=65);\\n  box-shadow: none;\\n}\\na.md-button.disabled,\\nfieldset[disabled] a.md-button {\\n  pointer-events: none;\\n}\\n.md-button.disabled, .md-button[disabled], fieldset[disabled] .md-button {\\n  cursor: not-allowed !important;\\n  opacity: 0.65;\\n  filter: alpha(opacity=65);\\n  box-shadow: none;\\n}\\na.md-button.disabled, fieldset[disabled] a.md-button {\\n  pointer-events: none;\\n}\\n.btn-disabled {\\n  cursor: not-allowed;\\n  opacity: 0.65;\\n  filter: alpha(opacity=65);\\n  box-shadow: none;\\n}\\n/* Sticky footer*/\\n.page-wrap {\\n  min-height: \\\"calc(100vh - 260px)\\\";\\n}\\n@media (max-width: 600px) {\\n  .product_detail_text {\\n    font-size: 13px !important;\\n    margin: 0 !important;\\n    line-height: 15px !important;\\n    padding-bottom: 5px;\\n  }\\n\\n  .product_detail_qv.m-b-20 {\\n    margin-bottom: 4px !important;\\n  }\\n}\\n@media (max-width: 320px) {\\n  .ds-summary-cart md-content md-list-item.items {\\n    padding-left: 14px !important;\\n  }\\n}\\n.quantity_disable.disabled {\\n  background-color: #999999 !important;\\n  /* stylelint-disable-line declaration-no-important */\\n}\\n/* Loading bar custom styles */\\n#loading-bar .bar {\\n  height: 5px;\\n  background: #51c1E8;\\n}\\n#loading-bar .peg {\\n  box-shadow: #fff 1px 0 6px 1px;\\n}\\n#loading-bar-spinner {\\n  width: 56px;\\n  height: 56px;\\n  text-align: center;\\n  padding: 14px;\\n  border-radius: 50%;\\n  position: fixed;\\n  top: 105px;\\n  left: 50%;\\n  margin-left: -28px;\\n  background: #fff;\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12);\\n  z-index: 9;\\n}\\n#loading-bar-spinner .spinner-icon {\\n  width: 28px;\\n  height: 28px;\\n  margin: 0;\\n  background: transparent !important;\\n  border: 2px solid #51c1e8;\\n  border-bottom-color: transparent !important;\\n  border-radius: 100%;\\n  animation: loading-bar-spinner 0.75s linear infinite;\\n}\\n/* end Loading bar custom styles */\\n/* Sweet Alert custom css*/\\n.sweet-alert {\\n  border-radius: 2px;\\n  padding: 10px 30px;\\n}\\n.sweet-alert h2 {\\n  font-size: 16px;\\n  font-weight: 400;\\n  position: relative;\\n  z-index: 1;\\n}\\n.sweet-alert .lead {\\n  font-size: 13px;\\n}\\n.sweet-alert .btn {\\n  padding: 6px 12px;\\n  font-size: 13px;\\n  margin: 20px 2px 0;\\n}\\n.sweet-alert .form-group {\\n  display: none;\\n}\\n.sweet-alert .sa-confirm-button-container {\\n  display: inline-block;\\n  position: relative;\\n}\\n/* end sweet alert custom css*/\\n.text-nonecase {\\n  text-transform: none !important;\\n}\\n.text_overflow {\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n  white-space: nowrap;\\n}\\n.opacity-87 {\\n  opacity: 0.87 !important;\\n}\\n.opacity-54 {\\n  opacity: 0.54 !important;\\n}\\n.opacity-38 {\\n  opacity: 0.38 !important;\\n}\\n/* Product demo */\\n.ds-product-custom {\\n  border: none;\\n  margin: 7px 8px;\\n}\\n.c-1 {\\n  color: #000000DE;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NpZGViYXItc3VtbWFyeS1jYXJ0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNaO0VBQ0UsK0NBQUE7QUFDTjtBQUNJO0VBWUUsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QUFUTjtBQUZNO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7QUFJUjtBQUZNO0VBQ0UscUNBQUE7QUFJUjtBQUNNO0VBQ0UsaUJBQUE7QUFDUjtBQUVNOztFQUVFLGdCQUFBO0FBQVI7QUFHTTs7RUFFRSxnQkFBQTtBQURSO0FBS2M7RUFDRSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0FBSGhCO0FBTWM7RUFDRSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QUFKaEI7QUFRYztFQUNFLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QUFOaEI7QUFTYztFQUNFLFNBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0FBUGhCO0FBWU07RUFDRSw0QkFBQTtFQUVBLGNBQUE7QUFYUjtBQVlRO0VBQ0UsZUFBQTtBQVZWO0FBYVk7RUFDRSxrQkFBQTtBQVhkO0FBaUJZO0VBQ0UsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBZmQ7QUFrQlk7RUFDRSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtBQWhCZDtBQW9CUTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7QUFsQlY7QUFtQlU7RUFDRSx5QkFBQTtFQUNBLFlBQUE7QUFqQlo7QUFtQlU7RUFDRSx5QkFBQTtBQWpCWjtBQXFCVTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7QUFuQlo7QUFxQlU7RUFD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Q0E7RUFDRSx5QkFBQTtBQWxDRjtBQXFDQTtFQUNFLHlCQUFBO0FBbENGO0FBcUNBO0VBQ0UsZ0NBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxpQ0FBQTtBQWxDRjtBQXFDQTtFQUNFLHNCQUFBO0FBbENGO0FBcUNBO0VBQ0UsaUNBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxzQkFBQTtBQWxDRjtBQXFDQTtFQUNFLG9DQUFBO0FBbENGO0FBcUNBO0VBQ0UseUJBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxvQ0FBQTtBQWxDRjtBQXFDQTtFQUNFLHlCQUFBO0FBbENGO0FBcUNBO0VBQ0Usb0NBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSx5QkFBQTtBQWxDRjtBQXFDQTtFQUNFLG9DQUFBO0FBbENGO0FBcUNBO0VBQ0UseUJBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxvQ0FBQTtBQWxDRjtBQXFDQTtFQUNFLHlCQUFBO0FBbENGO0FBcUNBO0VBQ0Usb0NBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSx5QkFBQTtBQWxDRjtBQXFDQTtFQUNFLG9DQUFBO0FBbENGO0FBcUNBO0VBQ0UseUJBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxvQ0FBQTtBQWxDRjtBQXFDQTtFQUNFLHlCQUFBO0FBbENGO0FBcUNBO0VBQ0Usb0NBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSx5QkFBQTtBQWxDRjtBQXFDQTtFQUNFLG9DQUFBO0FBbENGO0FBcUNBO0VBQ0UseUJBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxvQ0FBQTtBQWxDRjtBQXFDQTtFQUNFLHlCQUFBO0FBbENGO0FBcUNBO0VBQ0Usb0NBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSx5QkFBQTtBQWxDRjtBQXFDQTtFQUNFLG9DQUFBO0FBbENGO0FBcUNBO0VBQ0UseUJBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSxvQ0FBQTtBQWxDRjtBQXFDQTtFQUNFLHlCQUFBO0FBbENGO0FBcUNBO0VBQ0Usb0NBQUE7QUFsQ0Y7QUFxQ0E7RUFDRSx5QkFBQTtBQWxDRjtBQXFDQTtFQUNFLG9DQUFBO0FBbENGO0FBcUNBO0VBQ0UseUJBQUE7QUFsQ0Y7QUFxQ0E7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QS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0VBQ0EsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsWUFBQTtBQS9DRjtBQWtEQTs7RUFFRSxZQUFBO0FBL0NGO0FBa0RBOztFQUVFLFlBQUE7QUEvQ0Y7QUFrREE7O0VBRUUsVUFBQTtBQS9DRjtBQWtEQTtFQUNFLGtCQUFBO0FBL0NGO0FBa0RBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtBQS9DRjtBQWtEQTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7QUEvQ0Y7QUFrREE7RUFDRSxnQkFBQTtBQS9DRjtBQWtEQTtFQUNFLGFBQUE7QUEvQ0Y7QUFrREE7RUFDRSxlQUFBO0VBQ0Esc0JBQUE7QUEvQ0Y7QUFrREE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtF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QUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtBQTFCRjtBQTZCQTtFQUNFLGVBQUE7QUExQkY7QUE2QkE7RUFDRSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBQTFCRjtBQTZCQTtFQUNFLGFBQUE7QUExQkY7QUE2QkE7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0FBMUJGO0FBNEJBLDhCQUFBO0FBRUE7RUFDRSwrQkFBQTtBQTFCRjtBQTZCQTtFQUNFLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBQTFCRjtBQTZCQTtFQUNFLHdCQUFBO0FBMUJGO0FBNkJBO0VBQ0Usd0JBQUE7QUExQkY7QUE2QkE7RUFDRSx3QkFBQTtBQTFCRjtBQTZCQSxpQkFBQTtBQUNBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUExQkE7QUE0QkE7RUFDRSxnQkFBQTtBQXpCRiIsImZpbGUiOiJzaWRlYmFyLXN1bW1hcnktY2FydC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuICAgIC5jb2xvci1oZWFkZXJ7XG4gICAgICBjb2xvcjogdmFyKC0tdGhlbWUtc2lkZWJhci1zZWxlY3RlZCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRzLXN1bW1hcnktY2FydCB7XG4gICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF0LWRhdGVwaWNrZXItdG9nZ2xlIGJ1dHRvbntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNTJweDtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAubWF0LWljb257XG4gICAgICAgIGNvbG9yOiByZ2IoMCwwLDAsMC40NSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICAgIG1heC13aWR0aDogNDA0cHg7XG4gICAgICAub3JkZXJzdW1hcnlfaGVhZGluZ3tcbiAgICAgICAgcGFkZGluZyA6MHB4IDE2cHg7XG4gICAgICB9XG4gICAgXG4gICAgICAubWQtMy1saW5lID4gLm1kLW5vLXN0eWxlOmJlZm9yZSxcbiAgICAgIC5tZC0zLWxpbmU6YmVmb3JlIHtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIH1cbiAgICBcbiAgICAgIC5tZC0zLWxpbmUsXG4gICAgICAubWQtMy1saW5lID4gLm1kLW5vLXN0eWxlIHtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIH1cbiAgICBcbiAgICBcbiAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjc1ZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC5tZC1zZWNvbmRhcnktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjc1ZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2YTczNzk7XG4gICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIFxuICAgIFxuICAgICAgLm1hdC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCcxMDAlIC0gMTAwcHgnKTtcbiAgICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgLmxpc3QtaXRlbS1oZWFkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgXG4gICAgICAgICAgLm1kLTMtbGluZSB7XG4gICAgICAgICAgICBtYXQtaWNvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgLnRvdGFsLWNvbG91bW4ge1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjc1ZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAwcHggMTZweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgICAgICAgLnBhbmVsMSAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnBhbmVsMiAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLmxpc3QtaXRlbS1oZWFkICxcbiAgICAgICAgLml0ZW1zIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IFxuICAgICAgICAgIC4tdGV4dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgIFxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3IxKTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCA2cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuNzVlbTtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuaXRlbXMge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgICAgICAgLmNhcnQtaXRlbXNfX2ltYWdlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDkwcHg7XG4gICAgXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgLm1kLWF2YXRhcjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAuLWlubmVyID4gLm1kLWF2YXRhcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgfSAgICBcbiAgICAgICAgICAubWQtc2Vjb25kYXJ5LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0b3A6IDg3JTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgfVxuICAgIFxuICAgICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICB3aWR0aDogODhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0LWNvbnRyb2wge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMWM3YmJmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAubWQtYnV0dG9uLnJlbW92ZS1pdGVtcyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgIFxuICAgICAgICAgIG1hdC1kaXZpZGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygnMTAwJSAtIDUwcHgnKTtcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnZpZXctbW9yZSB7XG4gICAgICAgICAgLm1kLXN1YmhlYWRlci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMCAwO1xuICAgIFxuICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5pdGVtcy50b3RhbCB7XG4gICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZC1zdWJoZWFkZXItY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMTZweCAxNnB4IDE2cHggMHB4O1xuICAgICAgICAgIC5tYXREYXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIC5hdXRvU2hpcEZyZXEge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmluaXRPcmRlciBoM3tcbiAgICAgICAgICAgY29sb3I6IHZhcigtLXRoZW1lLXNpZGViYXItc2VsZWN0ZWQpO1xuICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wViB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDhBO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuYXV0b1NoaXBPcmRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hdXRvU2hpcEgzIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRUVENjIwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3ViVG90YWwge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOEE7XG4gICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgICAgICAuaGVscGVyX3RleHQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAubWF0LWxpc3QtYmFzZSB7XG4gICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXG4gICAgICBbbmctY2xpY2tdIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLmxvZ0J1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIH0gXG4gICAgICAuY2hlY2tPVVROZXdCdXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICB9XG4gICAgICAuZ3Vlc3RDaGVjayB7XG4gICAgICAgIGNvbG9yOiAjMjE5NkYzO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5zaWRlbmF2YmFye1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgICByaWdodDogLTM2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDVweCAwIHJnYmEoNzcsIDc3LCA3NywgMC4yOCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgJi5zaG93e1xuICAgICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBlYXNlLWluO1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBlYXNlLWluO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICAgIH1cbiAgICB9XG5cbi5pY29uQ29sb3Ige1xuICBjb2xvcjogIzAwMDAwMDhBO1xufSAgICBcbi5tLTAge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLm0tdC0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubS1iLTAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tLWwtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tLXItMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubS01IHtcbiAgbWFyZ2luOiA1cHggIWltcG9ydGFudDtcbn1cblxuLm0tdC01IHtcbiAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tLWItNSB7XG4gIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xufVxuXG4ubS1sLTUge1xuICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tLXItNSB7XG4gIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tLWwtNyB7XG4gIG1hcmdpbi1sZWZ0OiA3cHggIWltcG9ydGFudDtcbn1cblxuLm0tMTAge1xuICBtYXJnaW46IDEwcHggIWltcG9ydGFudDtcbn1cblxuLm0tdC0xMCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLm0tYi0xMCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuLm0tbC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tLXItMTAge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLm0tMTUge1xuICBtYXJnaW46IDE1cHggIWltcG9ydGFudDtcbn1cbi5tLXQtMTMge1xuICBtYXJnaW4tdG9wOiAxM3B4ICFpbXBvcnRhbnQ7XG59XG4ubS10LTE1IHtcbiAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xufVxuXG4ubS1iLTE1IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuXG4ubS1sLTE1IHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcbn1cbi5tLWwtMTAge1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xufVxuLm0tci0xNSB7XG4gIG1hcmdpbi1yaWdodDogMTVweCAhaW1wb3J0YW50O1xufVxuXG4ubS0yMCB7XG4gIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubS10LTIwIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubS1iLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubS1sLTIwIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLm0tci0yMCB7XG4gIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubS0yNSB7XG4gIG1hcmdpbjogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ubS10LTI1IHtcbiAgbWFyZ2luLXRvcDogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ubS1iLTI1IHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ubS1sLTI1IHtcbiAgbWFyZ2luLWxlZnQ6IDI1cHggIWltcG9ydGFudDtcbn1cblxuLm0tci0yNSB7XG4gIG1hcmdpbi1yaWdodDogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ubS0zMCB7XG4gIG1hcmdpbjogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ubS10LTMwIHtcbiAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ubS1iLTMwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ubS1sLTMwIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLm0tci0zMCB7XG4gIG1hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucC10LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ucC1iLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucC1sLTAge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnAtci0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ucC01IHtcbiAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLXQtNSB7XG4gIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcbn1cblxuLnAtYi01IHtcbiAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xufVxuXG4ucC1sLTUge1xuICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xufVxuXG4ucC1yLTUge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcbn1cblxuLnAtMTAge1xuICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLXQtMTAge1xuICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50O1xufVxuLnAtdC04IHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ucC1iLTEwIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnAtbC0xMCB7XG4gIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucC1yLTEwIHtcbiAgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucC0xNSB7XG4gIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLnAtdC0xNSB7XG4gIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLWItMTUge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuXG4ucC1sLTE1IHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLXItMTUge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLTIwIHtcbiAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ucC10LTIwIHtcbiAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnAtYi0yMCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLWwtMjAge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnAtci0yMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnAtMjUge1xuICBwYWRkaW5nOiAyNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLXQtMjUge1xuICBwYWRkaW5nLXRvcDogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ucC1iLTI1IHtcbiAgcGFkZGluZy1ib3R0b206IDI1cHggIWltcG9ydGFudDtcbn1cblxuLnAtbC0yNSB7XG4gIHBhZGRpbmctbGVmdDogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ucC1yLTI1IHtcbiAgcGFkZGluZy1yaWdodDogMjVweCAhaW1wb3J0YW50O1xufVxuXG4ucC0zMCB7XG4gIHBhZGRpbmc6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLnAtdC0zMCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLWItMzAge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucC1sLTMwIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLXItMzAge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbn1cblxuLmYtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZi01MDAge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi5mLTcwMCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLnAtcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnAtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnAtZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnAtc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xufVxuXG4uby1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vLXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uby1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZGktYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmJnbS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmMtd2hpdGUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmdtLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xufVxuXG4uYy1ibGFjayB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5iZ20tYnJvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk1NTQ4ICFpbXBvcnRhbnQ7XG59XG5cbi5jLWJyb3duIHtcbiAgY29sb3I6ICM3OTU1NDggIWltcG9ydGFudDtcbn1cblxuLmJnbS1waW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5MWU2MyAhaW1wb3J0YW50O1xufVxuXG4uYy1waW5rIHtcbiAgY29sb3I6ICNlOTFlNjMgIWltcG9ydGFudDtcbn1cblxuLmJnbS1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7XG59XG5cbi5jLXJlZCB7XG4gIGNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7XG59XG5cbi5iZ20tYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTk2ZjMgIWltcG9ydGFudDtcbn1cblxuLmMtYmx1ZSB7XG4gIGNvbG9yOiAjMjE5NmYzICFpbXBvcnRhbnQ7XG59XG5cbi5iZ20tcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzljMjdiMCAhaW1wb3J0YW50O1xufVxuXG4uYy1wdXJwbGUge1xuICBjb2xvcjogIzljMjdiMCAhaW1wb3J0YW50O1xufVxuXG4uYmdtLWRlZXBwdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjczYWI3ICFpbXBvcnRhbnQ7XG59XG5cbi5jLWRlZXBwdXJwbGUge1xuICBjb2xvcjogIzY3M2FiNyAhaW1wb3J0YW50O1xufVxuXG4uYmdtLWxpZ2h0Ymx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQgIWltcG9ydGFudDtcbn1cblxuLmMtbGlnaHRibHVlIHtcbiAgY29sb3I6ICMwM2E5ZjQgIWltcG9ydGFudDtcbn1cblxuLmJnbS1jeWFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYmNkNCAhaW1wb3J0YW50O1xufVxuXG4uYy1jeWFuIHtcbiAgY29sb3I6ICMwMGJjZDQgIWltcG9ydGFudDtcbn1cblxuLmJnbS10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4OCAhaW1wb3J0YW50O1xufVxuXG4uYy10ZWFsIHtcbiAgY29sb3I6ICMwMDk2ODggIWltcG9ydGFudDtcbn1cblxuLmJnbS1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTAgIWltcG9ydGFudDtcbn1cblxuLmMtZ3JlZW4ge1xuICBjb2xvcjogIzRjYWY1MCAhaW1wb3J0YW50O1xufVxuXG4uYmdtLWxpZ2h0Z3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGJjMzRhICFpbXBvcnRhbnQ7XG59XG5cbi5jLWxpZ2h0Z3JlZW4ge1xuICBjb2xvcjogIzhiYzM0YSAhaW1wb3J0YW50O1xufVxuXG4uYmdtLWxpbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RkYzM5ICFpbXBvcnRhbnQ7XG59XG5cbi5jLWxpbWUge1xuICBjb2xvcjogI2NkZGMzOSAhaW1wb3J0YW50O1xufVxuXG4uYmdtLXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmViM2IgIWltcG9ydGFudDtcbn1cblxuLmMteWVsbG93IHtcbiAgY29sb3I6ICNmZmViM2IgIWltcG9ydGFudDtcbn1cblxuLmJnbS1hbWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDtcbn1cblxuLmMtYW1iZXIge1xuICBjb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50O1xufVxuXG4uYmdtLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjk4MDAgIWltcG9ydGFudDtcbn1cblxuLmMtb3JhbmdlIHtcbiAgY29sb3I6ICNmZjk4MDAgIWltcG9ydGFudDtcbn1cblxuLmJnbS1kZWVwb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMiAhaW1wb3J0YW50O1xufVxuXG4uYy1kZWVwb3JhbmdlIHtcbiAgY29sb3I6ICNmZjU3MjIgIWltcG9ydGFudDtcbn1cblxuLmJnbS1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllOWU5ZSAhaW1wb3J0YW50O1xufVxuXG4uYy1ncmF5IHtcbiAgY29sb3I6ICM5ZTllOWUgIWltcG9ydGFudDtcbn1cblxuLmJnbS1ibHVlZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MDdkOGIgIWltcG9ydGFudDtcbn1cblxuLmMtYmx1ZWdyYXkge1xuICBjb2xvcjogIzYwN2Q4YiAhaW1wb3J0YW50O1xufVxuXG4uYmdtLWluZGlnbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjUgIWltcG9ydGFudDtcbn1cblxuLmMtaW5kaWdvIHtcbiAgY29sb3I6ICMzZjUxYjUgIWltcG9ydGFudDtcbn1cblxuLmJnLWJsYWNrLXRycCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xKSAhaW1wb3J0YW50O1xufVxuXG4uYi0wIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5icmQtMiB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0ucGFkLXJpZ2h0e1xuICBwYWRkaW5nLXJpZ2h0OjQlIWltcG9ydGFudDtcbn1cblxuXG4ud2ViYWxpYXMtY2FyZCB7XG4gIGhlaWdodDogMjkwcHggIWltcG9ydGFudDtcbn1cblxuLndlYmFsaWFzLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDYzcHg7XG59XG5cbi5iLWIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMGUwICFpbXBvcnRhbnQ7XG59XG5cbi5mLXMtMTUge1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLmYtcy0xMiB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucC10LTUwIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG59XG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmItZnVsbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG59XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEzcHg7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubS10LS0xMCB7XG4gIG1hcmdpbi10b3A6IC0xMHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuLmZhZGVNZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5OTk5OSAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLmItciB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5iLWwge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4uYi10IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbn1cblxuLm1pbi1oLTIzMCB7XG4gIG1pbi1oZWlnaHQ6IDIzMHB4O1xufVxuXG5cbi50LXZpZXdbZGF0YS10di10eXBlPVwidGV4dFwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZlwiO1xuICBiYWNrZ3JvdW5kOiAjMDBiY2Q0O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAwYmNkNDtcbn1cblxuLnQtdmlld1tkYXRhLXR2LXR5cGU9XCJ0ZXh0XCJdOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzAwYmNkNDtcbn1cblxuLnQtdmlld1tkYXRhLXR2LXR5cGU9XCJpbWFnZVwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZlwiO1xuICBiYWNrZ3JvdW5kOiAjNGNhZjUwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzRjYWY1MDtcbn1cblxuLnQtdmlld1tkYXRhLXR2LXR5cGU9XCJpbWFnZVwiXTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM0Y2FmNTA7XG59XG5cbi50LXZpZXdbZGF0YS10di10eXBlPVwidmlkZW9cIl06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTlcIjtcbiAgYmFja2dyb3VuZDogI2ZmYzEwNztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmMxMDc7XG59XG5cbi50LXZpZXdbZGF0YS10di10eXBlPVwidmlkZW9cIl06YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZjMTA3O1xufVxuXG4udC12aWV3IC50dmItc3RhdHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDEwcHggMCAyMHB4O1xufVxuXG4udC12aWV3IC50dmItc3RhdHMgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHggNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLnQtdmlldyAudHZiLXN0YXRzID4gbGkgaSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnQtdmlldyAudHZiLXN0YXRzID4gbGkudHZicy1jb21tZW50cyB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDtcbiAgY29sb3I6ICM0Y2FmNTA7XG59XG5cbi50LXZpZXcgLnR2Yi1zdGF0cyA+IGxpLnR2YnMtbGlrZXMge1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7XG4gIGNvbG9yOiAjMDNhOWY0O1xufVxuXG4udC12aWV3IC50dmItc3RhdHMgPiBsaS50dmJzLXZpZXdzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY5ODAwO1xuICBjb2xvcjogI2ZmOTgwMDtcbn1cblxuLnR2LWNvbW1lbnRzIC50dmMtbGlzdHMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi50di1jb21tZW50cyAudHZjLWxpc3RzID4gbGkge1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG59XG5cbi50dmMtbW9yZSB7XG4gIGNvbG9yOiAjMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG59XG5cbi50dmMtbW9yZTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udHZjLW1vcmUgaSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ucC1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAtN3B4O1xufVxuXG4ucC1oZWFkZXIgLmFjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTE4cHg7XG4gIHJpZ2h0OiAwO1xufVxuXG4ucC1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG59XG5cbi5wLW1lbnUgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnAtbWVudSA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMjBweCA1cHggMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4ucC1tZW51ID4gbGkgPiBhID4gaSB7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi5wLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSkgPiBhIHtcbiAgY29sb3I6ICM0Mjg1RjQ7XG59XG5cbi5wLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5wLW1lbnUgPiBsaS5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucC1tZW51IC5wbS1zZWFyY2gge1xuICAgICAgbWFyZ2luOiAyMHB4IDJweCAzMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAucC1tZW51IC5wbS1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB9XG59XG5cbi5wLW1lbnUgLnBtcy1pbm5lciB7XG4gIG1hcmdpbjogLTJweCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucC1tZW51IC5wbXMtaW5uZXIgaSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogOXB4O1xuICB0b3A6IDhweDtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5wLW1lbnUgLnBtcy1pbm5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIGhlaWdodDogMzVweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiAwIDEwcHggMCA0MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnAtbWVudSAucG1zLWlubmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB9XG5cbiAgLnAtbWVudSAucG1zLWlubmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0RGREZERjtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgfVxufVxuXG4ucGhvdG9zIHtcbiAgbWFyZ2luOiAtM3B4IDAgMDtcbn1cblxuLnBob3RvcyAubGlnaHRib3gge1xuICBtYXJnaW46IDAgLThweDtcbn1cblxuLnBob3Rvczpub3QoLnAtdGltZWxpbmUpW2RhdGEtc3JjXSB7XG4gIHBhZGRpbmc6IDNweDtcbiAgdHJhbnNpdGlvbjogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbn1cblxuLnAtZ3JpZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnAtZ3JpZCA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDVENUQ1O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI0FCQUJBQjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMCAycHg7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnAtZ3JpZCA+IGxpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiBzaWx2ZXI7XG59XG5cbi5wLWdyaWQgPiBsaS5hY3RpdmUge1xuICBjb2xvcjogIzhDOEM4QztcbiAgYm9yZGVyLWNvbG9yOiAjOEM4QzhDO1xufVxuXG4ucC10aW1lbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICBtYXJnaW4tYm90dG9tOiA3NXB4O1xufVxuXG4ucC10aW1lbGluZVtkYXRhLXNyY10ge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNzBweDtcbiAgbWFyZ2luOiAwIDNweCAzcHggMDtcbn1cblxuLmNvbnRhY3RzOm5vdCguYy1wcm9maWxlKSB7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuXG4uY29udGFjdHMgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLmNvbnRhY3RzIC5jLWl0ZW0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5jb250YWN0cyAuYy1pdGVtIC5jaS1hdmF0YXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbnRhY3RzIC5jLWl0ZW0gLmNpLWF2YXRhciBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG59XG5cbi5jb250YWN0cyAuY2ktYXZhdGFyIHtcbiAgbWFyZ2luOiAtMXB4IC0xcHggMDtcbn1cblxuLmNvbnRhY3RzIC5jLWluZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xufVxuXG4uY29udGFjdHMgLmMtaW5mbyBzdHJvbmcge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uY29udGFjdHMgLmMtaW5mbyBzbWFsbCB7XG4gIGNvbG9yOiAjOTk5O1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cbi5jb250YWN0cyAuYy1pbmZvIHN0cm9uZyxcbi5jb250YWN0cyAuYy1pbmZvIHNtYWxsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29udGFjdHMgLmMtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbi5jb250YWN0cyAuYy1mb290ZXIgPiBidXR0b24ge1xuICBwYWRkaW5nOiA0cHggMTBweCAzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDA7XG59XG5cbi5jb250YWN0cyAuYy1mb290ZXIgPiBidXR0b24gPiBpIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4uei1kZXB0aC0xIHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSAhaW1wb3J0YW50O1xufVxuXG4uei1kZXB0aC0xLXRvcCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLnotZGVwdGgtMS1ib3R0b20ge1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLnotZGVwdGgtMiB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDZweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xOSk7XG59XG5cbi56LWRlcHRoLTItdG9wIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xufVxuXG4uei1kZXB0aC0yLWJvdHRvbSB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uei1kZXB0aC0zIHtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjI0KSwgMCAxN3B4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE5KTtcbn1cblxuLnotZGVwdGgtMy10b3Age1xuICBib3gtc2hhZG93OiAwIDE3cHggNTBweCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xufVxuXG4uei1kZXB0aC0zLWJvdHRvbSB7XG4gIGJveC1zaGFkb3c6IDAgMTJweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7XG59XG5cbi56LWRlcHRoLTQge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMjIpLCAwIDI1cHggNTVweCByZ2JhKDAsIDAsIDAsIDAuMjEpO1xufVxuXG4uei1kZXB0aC00LXRvcCB7XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1NXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7XG59XG5cbi56LWRlcHRoLTQtYm90dG9tIHtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjIyKTtcbn1cblxuLnotZGVwdGgtNSB7XG4gIGJveC1zaGFkb3c6IDAgMjdweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA0MHB4IDc3cHggcmdiYSgwLCAwLCAwLCAwLjIyKTtcbn1cblxuLnotZGVwdGgtNS10b3Age1xuICBib3gtc2hhZG93OiAwIDQwcHggNzdweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufVxuXG4uei1kZXB0aC01LWJvdHRvbSB7XG4gIGJveC1zaGFkb3c6IDAgMjdweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnotZGVwdGgtYW5pbWF0aW9uIC56LWRlcHRoLTEsXG4uei1kZXB0aC1hbmltYXRpb24gLnotZGVwdGgtMixcbi56LWRlcHRoLWFuaW1hdGlvbiAuei1kZXB0aC0zLFxuLnotZGVwdGgtYW5pbWF0aW9uIC56LWRlcHRoLTQsXG4uei1kZXB0aC1hbmltYXRpb24gLnotZGVwdGgtNSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4uYmxvY2staGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYmxvY2staGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYmxvY2staGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMThweDtcbiAgfVxufVxuXG4uYmxvY2staGVhZGVyID4gaDIge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjNzc3O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9jay1oZWFkZXIgPiBoMiA+IHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjOUU5RTlFO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbn1cblxuLmJsb2NrLWhlYWRlciAuYWN0aW9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogLTVweDtcbiAgei1pbmRleDogNTtcbn1cblxuLmJsb2NrLWhlYWRlci1hbHQgaDEsXG4uYmxvY2staGVhZGVyLWFsdCBoMixcbi5ibG9jay1oZWFkZXItYWx0IGgzLFxuLmJsb2NrLWhlYWRlci1hbHQgaDQsXG4uYmxvY2staGVhZGVyLWFsdCBoNSB7XG4gIGNvbG9yOiAjNTc1NzU3O1xuICBmb250LXdlaWdodDogMTAwO1xufVxuXG4uYWN0aW9ucyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFjdGlvbnMgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4uYWN0aW9ucyA+IGxpID4gYSxcbi5hY3Rpb25zID4gYSB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWN0aW9ucyA+IGxpID4gYSA+IGksXG4uYWN0aW9ucyA+IGEgPiBpIHtcbiAgdHJhbnNpdGlvbjogY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEzMDBtcztcbiAgY29sb3I6ICNhZGFkYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmFjdGlvbnMgPiBsaSA+IGE6aG92ZXIgPiBpLFxuLmFjdGlvbnMgPiBhOmhvdmVyID4gaSB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uYWN0aW9ucyA+IGxpID4gYTpiZWZvcmUsXG4uYWN0aW9ucyA+IGE6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgei1pbmRleDogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5hY3Rpb25zID4gbGkgPiBhOmhvdmVyOmJlZm9yZSxcbi5hY3Rpb25zID4gYTpob3ZlcjpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmFjdGlvbnMgPiBsaS5vcGVuID4gYSA+IGksXG4uYWN0aW9ucy5vcGVuID4gYSA+IGkge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmFjdGlvbnMgPiBsaS5vcGVuID4gYTpiZWZvcmUsXG4uYWN0aW9ucy5vcGVuID4gYTpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uYWN0aW9ucy5hY3Rpb25zLWFsdCA+IGxpID4gYSA+IGkge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmFjdGlvbnMuYWN0aW9ucy1hbHQgPiBsaSA+IGEgPiBpOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5hY3Rpb25zLmFjdGlvbnMtYWx0ID4gbGkub3BlbiA+IGEgPiBpIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5hY3Rpb25zLm9wZW4ge1xuICB6LWluZGV4OiAzO1xufVxuXG4ubG9hZC1tb3JlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4ubG9hZC1tb3JlIGEge1xuICBwYWRkaW5nOiA1cHggMTBweCA0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6ICNGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxvYWQtbW9yZSBhIGkge1xuICBmb250LXNpemU6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5sb2FkLW1vcmUgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7XG59XG5cbi5hLXRpdGxlIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5hLXRpdGxlOmhvdmVyIHtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29udGFpbmVyLWFsdCB7XG4gIG1heC13aWR0aDogMTE3MHB4O1xufVxuXG4uaWUtd2FybmluZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIHBhZGRpbmc6IDUwcHggMDtcbn1cblxuLmllLXdhcm5pbmcgcCB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLmllLXdhcm5pbmcgLmlldy1jb250YWluZXIge1xuICBtaW4td2lkdGg6IDEwMjRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogNTBweCAwO1xufVxuXG4uaWUtd2FybmluZyAuaWV3LWRvd25sb2FkIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMzBweCAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDcyMHB4O1xufVxuXG4uaWUtd2FybmluZyAuaWV3LWRvd25sb2FkID4gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmllLXdhcm5pbmcgLmlldy1kb3dubG9hZCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgd2lkdGg6IDE0MHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLmllLXdhcm5pbmcgLmlldy1kb3dubG9hZCA+IGxpID4gYSA+IGRpdiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5pZS13YXJuaW5nIC5pZXctZG93bmxvYWQgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuXG4jZm9vdGVyIC5mLW1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuI2Zvb3RlciAuZi1tZW51ID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbiNmb290ZXIgLmYtbWVudSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjYTJhMmEyO1xufVxuXG4jZm9vdGVyIC5mLW1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzc3Nztcbn1cblxuLnByaWNpbmctdGFibGUge1xuICBtYXgtd2lkdGg6IDExNzBweDtcbiAgbWFyZ2luOiA3MHB4IGF1dG8gMDtcbn1cblxuLmludm9pY2Uge1xuICAvKm1pbi13aWR0aDogMTEwMHB4OyovXG4gIG1heC13aWR0aDogMTE3MHB4O1xufVxuXG4uaS1sb2dvIHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuXG4uaS10YWJsZSAuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG5cbi5pLXRhYmxlIHRkLmhpZ2hsaWdodCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLndhbGwge1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLndhbGwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICB9XG59XG5cbi53YWxsLWF0dHJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndhLXN0YXRzIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi53YS1zdGF0cyA+IHNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIHBhZGRpbmc6IDdweCAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2ZjZmNmO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLndhLXN0YXRzID4gc3Bhbi5hY3RpdmUge1xuICBjb2xvcjogIzRjYWY1MDtcbn1cblxuLndhLXN0YXRzID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xufVxuXG4ud2Etc3RhdHMgPiBzcGFuOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDtcbn1cblxuLndhLXN0YXRzID4gc3BhbiA+IGkge1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLndhLXVzZXJzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbn1cblxuLndhLXVzZXJzID4gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLndhLXVzZXJzID4gYSA+IGltZyB7XG4gIHdpZHRoOiAzM3B4O1xuICBoZWlnaHQ6IDMzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLndhLXVzZXJzID4gYSA+IGltZzpob3ZlciB7XG4gIG9wYWNpdHk6IC44NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTg1KTtcbn1cblxuLndjYy1pbm5lciB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzlBOUE5QTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53Y2NpLXRleHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTRFNEU0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xufVxuXG4ud2NjLXRleHQtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMnB4O1xufVxuXG4ud2FsbC1jb21tZW50LWxpc3Qge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xufVxuXG4ud2FsbC1jb21tZW50LWxpc3QgLm1lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2FsbC1jb21tZW50LWxpc3QgLm1lZGlhOmhvdmVyIC5hY3Rpb25zIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YWxsLWNvbW1lbnQtbGlzdCAuYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0yMHB4O1xuICB0b3A6IC0xcHg7XG59XG5cbi53Y2wtbGlzdCArIC53Y2wtZm9ybSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi53cC10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuLndwLW1lZGlhIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm9yZGVyOiAxcHggc29saWQgI0U0RTRFNDtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cGItYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xufVxuXG4ud3BiLWFjdGlvbnMgPiBsaTpub3QoLnB1bGwtcmlnaHQpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbltkYXRhLXdwYmE9XCJpbWFnZVwiXSB7XG4gIGNvbG9yOiAjNGNhZjUwO1xufVxuXG5bZGF0YS13cGJhPVwiaW1hZ2VcIl06aG92ZXIge1xuICBjb2xvcjogIzQ0OWQ0ODtcbn1cblxuW2RhdGEtd3BiYT1cInZpZGVvXCJdIHtcbiAgY29sb3I6ICNmZjk4MDA7XG59XG5cbltkYXRhLXdwYmE9XCJ2aWRlb1wiXTpob3ZlciB7XG4gIGNvbG9yOiAjZTY4OTAwO1xufVxuXG5bZGF0YS13cGJhPVwibGlua1wiXSB7XG4gIGNvbG9yOiAjMDBiY2Q0O1xufVxuXG5bZGF0YS13cGJhPVwibGlua1wiXTpob3ZlciB7XG4gIGNvbG9yOiAjMDBhNWJiO1xufVxuXG4ud3BiYS1hdHRycyA+IHVsID4gbGkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLndwYmEtYXR0cnMgPiB1bCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjJweDtcbn1cblxuLndwYmEtYXR0cnMgPiB1bCA+IGxpID4gYSA+IGkge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi53cGJhLWF0dHJzID4gdWwgPiBsaSA+IGEuYWN0aXZlID4gaSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ud2FsbC1pbWctcHJldmlldyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLndhbGwtaW1nLXByZXZpZXcge1xuICAgICAgbWFyZ2luOiAwIC0yM3B4IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLndhbGwtaW1nLXByZXZpZXcge1xuICAgICAgbWFyZ2luOiAwIC0xNnB4IDIwcHg7XG4gIH1cbn1cblxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtID4gaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLFxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gZGl2IHtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1ib3R0b206IDQwJTtcbn1cblxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLFxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gZGl2LFxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLFxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gZGl2Om5vdCg6bGFzdC1jaGlsZCksXG4ud2FsbC1pbWctcHJldmlldyAud2lwLWl0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSksXG4ud2FsbC1pbWctcHJldmlldyAud2lwLWl0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiBkaXY6bm90KDpudGgtbGFzdC1vZi10eXBlKC1uKzIpKSxcbi53YWxsLWltZy1wcmV2aWV3IC53aXAtaXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSxcbi53YWxsLWltZy1wcmV2aWV3IC53aXAtaXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IGRpdixcbi53YWxsLWltZy1wcmV2aWV3IC53aXAtaXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg3KSB+IGRpdjpudGgtbGFzdC1vZi10eXBlKC1uKzMpIHtcbiAgd2lkdGg6IDMzLjMzMzMzMyU7XG4gIHBhZGRpbmctYm90dG9tOiAzMCU7XG59XG5cbi53YWxsLWltZy1wcmV2aWV3IC53aXAtaXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IGRpdjpudGgtbGFzdC1vZi10eXBlKC1uKzIpIHtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1ib3R0b206IDQwJTtcbn1cblxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDcpLFxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDcpIH4gZGl2Om5vdCg6bnRoLWxhc3Qtb2YtdHlwZSgtbiszKSksXG4ud2FsbC1pbWctcHJldmlldyAud2lwLWl0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQobis4KSxcbi53YWxsLWltZy1wcmV2aWV3IC53aXAtaXRlbTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gZGl2IHtcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZy1ib3R0b206IDIyJTtcbn1cblxuLndhbGwtaW1nLXByZXZpZXcgLndpcC1pdGVtOm9ubHktY2hpbGQsXG4ud2FsbC1pbWctcHJldmlldyAud2lwLWl0ZW06Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHNpemU6IGF1dG87XG4gIH1cblxuICBib2R5IHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgI2hlYWRlciwgI2Zvb3RlciwgI3NpZGViYXIsICNjaGF0LCAuZ3Jvd2wtYW5pbWF0ZWQsIC5tLWJ0biB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52b2ljZSB7XG4gICAgICBwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3QgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZvaWNlIC5jYXJkLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgbWFyZ2luOiAtNjBweCAtMzBweCAyNXB4O1xuICB9XG5cbiAgLmludm9pY2UgLmJsb2NrLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmludm9pY2UgLmhpZ2hsaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4jY2FsZW5kYXItd2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbiNmYy1hY3Rpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIHJpZ2h0OiAxMnB4O1xufVxuXG4uZmMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmZjIHRkLFxuLmZjIHRoIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2ZjZmNmO1xufVxuXG4uZmMgdGgge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4jY2FsZW5kYXItd2lkZ2V0IC5mYy10b29sYmFyIHtcbiAgYmFja2dyb3VuZDogIzAwOTY4ODtcbn1cblxuI2NhbGVuZGFyLXdpZGdldCAuZmMtZGF5LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMDA3ZDcxO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG4jY2FsZW5kYXItd2lkZ2V0IC5mYy1kYXktbnVtYmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0FEQURBRDtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbiNjYWxlbmRhci13aWRnZXQgLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luOiAxcHggM3B4O1xufVxuXG4jY2FsZW5kYXItd2lkZ2V0IC51aS13aWRnZXQtaGVhZGVyIHRoLFxuI2NhbGVuZGFyLXdpZGdldCAudWktd2lkZ2V0LWhlYWRlciB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuXG4jY2FsZW5kYXIgLmZjLXRvb2xiYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM2KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbiNjYWxlbmRhciAuZmMtdG9vbGJhciAuZmMtY2VudGVyIHtcbiAgbWFyZ2luLXRvcDogMjM4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI2NhbGVuZGFyIC5mYy10b29sYmFyIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gIH1cblxuICAjY2FsZW5kYXIgLmZjLXRvb2xiYXIgLmZjLWNlbnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMzhweDtcbiAgfVxufVxuXG4jY2FsZW5kYXIgLmZjLWRheS1oZWFkZXIge1xuICBjb2xvcjogI0FEQURBRDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNjZmNmY2Y7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbn1cblxuI2NhbGVuZGFyIC5mYy1kYXktbnVtYmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQ0NDO1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MXB4KSB7XG4gICNjYWxlbmRhciAuZmMtZGF5LW51bWJlciB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgfVxufVxuXG4jY2FsZW5kYXIgLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgbWFyZ2luOiAxcHggOXB4IDA7XG59XG5cbi5mYy10b2RheSB7XG4gIGNvbG9yOiAjZmZjMTA3O1xufVxuXG4uZmMtdG9vbGJhciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDIwcHggN3B4IDE5cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZjLXRvb2xiYXIgaDIge1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5mYy10b29sYmFyIC51aS1idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgcGFkZGluZzogMDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZjLXRvb2xiYXIgLnVpLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDA5Njg4O1xufVxuXG4uZmMtdG9vbGJhciAudWktYnV0dG9uID4gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbC1EZXNpZ24tSWNvbmljLUZvbnQnO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmZjLXRvb2xiYXIgLnVpLWJ1dHRvbiA+IHNwYW46YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uZmMtdG9vbGJhciAudWktYnV0dG9uID4gc3Bhbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZhXCI7XG59XG5cbi5mYy10b29sYmFyIC51aS1idXR0b24gPiBzcGFuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmJcIjtcbn1cblxuLmZjLWV2ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi5mYy1ldmVudCAuZmMtdGl0bGUge1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZjLWV2ZW50IC5mYy10aW1lIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgbWFyZ2luOiAwIDAgMCAtMXB4O1xufVxuXG4uZmMtdmlldyxcbi5mYy12aWV3ID4gdGFibGUge1xuICBib3JkZXI6IDA7XG59XG5cbi5mYy12aWV3ID4gdGFibGUgPiB0Ym9keSA+IHRyID4gLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuZGl2LmZjLXJvdyB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cbi8qLmZjLXRvZGF5IHtcbiAgY29sb3I6ICNmZmMxMDchaW1wb3J0YW50XG59Ki9cbi5ldmVudC10YWcge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5ldmVudC10YWcgPiBzcGFuIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmV2ZW50LXRhZyA+IHNwYW46aG92ZXIge1xuICBvcGFjaXR5OiAuODtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcbn1cblxuLmV2ZW50LXRhZyA+IHNwYW4uc2VsZWN0ZWQ6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbC1EZXNpZ24tSWNvbmljLUZvbnQnO1xuICBjb250ZW50OiBcIlxcZjI2YlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG5oci5mYy1kaXZpZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2VlZTtcbn1cblxuLmZjLWRheS1ncmlkLWNvbnRhaW5lci5mYy1zY3JvbGxlciB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5ub1VpLXRhcmdldCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbn1cblxuLm5vVWktYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6ICNkNGQ0ZDQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5ub1VpLWhvcml6b250YWwge1xuICBoZWlnaHQ6IDNweDtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICB0b3A6IC04cHg7XG59XG5cbi5ub1VpLXZlcnRpY2FsIHtcbiAgd2lkdGg6IDNweDtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUsXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuICB3aWR0aDogMTlweDtcbiAgaGVpZ2h0OiAxOXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3c7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGU6YmVmb3JlLFxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlOmFmdGVyLFxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGU6YWN0aXZlLFxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNjY2MgIWltcG9ydGFudDtcbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUgLmlzLXRvb2x0aXAsXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUgLmlzLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMzJweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICB3aWR0aDogNTBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIC5pcy10b29sdGlwOmFmdGVyLFxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlIC5pcy10b29sdGlwOmFmdGVyIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxNXB4IDEwcHggMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC04cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC05cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktYWN0aXZlLFxuLm5vVWktdmVydGljYWwgLm5vVWktYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktYWN0aXZlIC5pcy10b29sdGlwLFxuLm5vVWktdmVydGljYWwgLm5vVWktYWN0aXZlIC5pcy10b29sdGlwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBib3R0b206IDQwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uaW5wdXQtc2xpZGVyOm5vdChbZGF0YS1pcy1jb2xvcl0pIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXItcmFuZ2U6bm90KFtkYXRhLWlzLWNvbG9yXSkgLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlci12YWx1ZXM6bm90KFtkYXRhLWlzLWNvbG9yXSkgLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlcjpub3QoW2RhdGEtaXMtY29sb3JdKSAubm9VaS1jb25uZWN0LFxuLmlucHV0LXNsaWRlci1yYW5nZTpub3QoW2RhdGEtaXMtY29sb3JdKSAubm9VaS1jb25uZWN0LFxuLmlucHV0LXNsaWRlci12YWx1ZXM6bm90KFtkYXRhLWlzLWNvbG9yXSkgLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICMwMDk2ODggIWltcG9ydGFudDtcbn1cblxuLmlucHV0LXNsaWRlcjpub3QoW2RhdGEtaXMtY29sb3JdKSAuaXMtdG9vbHRpcCxcbi5pbnB1dC1zbGlkZXItcmFuZ2U6bm90KFtkYXRhLWlzLWNvbG9yXSkgLmlzLXRvb2x0aXAsXG4uaW5wdXQtc2xpZGVyLXZhbHVlczpub3QoW2RhdGEtaXMtY29sb3JdKSAuaXMtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICMwMDk2ODg7XG59XG5cbi5pbnB1dC1zbGlkZXI6bm90KFtkYXRhLWlzLWNvbG9yXSkgLmlzLXRvb2x0aXA6YWZ0ZXIsXG4uaW5wdXQtc2xpZGVyLXJhbmdlOm5vdChbZGF0YS1pcy1jb2xvcl0pIC5pcy10b29sdGlwOmFmdGVyLFxuLmlucHV0LXNsaWRlci12YWx1ZXM6bm90KFtkYXRhLWlzLWNvbG9yXSkgLmlzLXRvb2x0aXA6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICMwMDk2ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi5pbnB1dC1zbGlkZXJbZGF0YS1pcy1jb2xvcj1yZWRdIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXItcmFuZ2VbZGF0YS1pcy1jb2xvcj1yZWRdIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXItdmFsdWVzW2RhdGEtaXMtY29sb3I9cmVkXSAubm9VaS1oYW5kbGUsXG4uaW5wdXQtc2xpZGVyW2RhdGEtaXMtY29sb3I9cmVkXSAubm9VaS1jb25uZWN0LFxuLmlucHV0LXNsaWRlci1yYW5nZVtkYXRhLWlzLWNvbG9yPXJlZF0gLm5vVWktY29ubmVjdCxcbi5pbnB1dC1zbGlkZXItdmFsdWVzW2RhdGEtaXMtY29sb3I9cmVkXSAubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogI2Y0NDMzNiAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtc2xpZGVyW2RhdGEtaXMtY29sb3I9Ymx1ZV0gLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlci1yYW5nZVtkYXRhLWlzLWNvbG9yPWJsdWVdIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXItdmFsdWVzW2RhdGEtaXMtY29sb3I9Ymx1ZV0gLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlcltkYXRhLWlzLWNvbG9yPWJsdWVdIC5ub1VpLWNvbm5lY3QsXG4uaW5wdXQtc2xpZGVyLXJhbmdlW2RhdGEtaXMtY29sb3I9Ymx1ZV0gLm5vVWktY29ubmVjdCxcbi5pbnB1dC1zbGlkZXItdmFsdWVzW2RhdGEtaXMtY29sb3I9Ymx1ZV0gLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICMyMTk2ZjMgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LXNsaWRlcltkYXRhLWlzLWNvbG9yPWN5YW5dIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXItcmFuZ2VbZGF0YS1pcy1jb2xvcj1jeWFuXSAubm9VaS1oYW5kbGUsXG4uaW5wdXQtc2xpZGVyLXZhbHVlc1tkYXRhLWlzLWNvbG9yPWN5YW5dIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXJbZGF0YS1pcy1jb2xvcj1jeWFuXSAubm9VaS1jb25uZWN0LFxuLmlucHV0LXNsaWRlci1yYW5nZVtkYXRhLWlzLWNvbG9yPWN5YW5dIC5ub1VpLWNvbm5lY3QsXG4uaW5wdXQtc2xpZGVyLXZhbHVlc1tkYXRhLWlzLWNvbG9yPWN5YW5dIC5ub1VpLWNvbm5lY3Qge1xuICBiYWNrZ3JvdW5kOiAjMDBiY2Q0ICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC1zbGlkZXJbZGF0YS1pcy1jb2xvcj1hbWJlcl0gLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlci1yYW5nZVtkYXRhLWlzLWNvbG9yPWFtYmVyXSAubm9VaS1oYW5kbGUsXG4uaW5wdXQtc2xpZGVyLXZhbHVlc1tkYXRhLWlzLWNvbG9yPWFtYmVyXSAubm9VaS1oYW5kbGUsXG4uaW5wdXQtc2xpZGVyW2RhdGEtaXMtY29sb3I9YW1iZXJdIC5ub1VpLWNvbm5lY3QsXG4uaW5wdXQtc2xpZGVyLXJhbmdlW2RhdGEtaXMtY29sb3I9YW1iZXJdIC5ub1VpLWNvbm5lY3QsXG4uaW5wdXQtc2xpZGVyLXZhbHVlc1tkYXRhLWlzLWNvbG9yPWFtYmVyXSAubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogI2ZmYzEwNyAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtc2xpZGVyW2RhdGEtaXMtY29sb3I9Z3JlZW5dIC5ub1VpLWhhbmRsZSxcbi5pbnB1dC1zbGlkZXItcmFuZ2VbZGF0YS1pcy1jb2xvcj1ncmVlbl0gLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlci12YWx1ZXNbZGF0YS1pcy1jb2xvcj1ncmVlbl0gLm5vVWktaGFuZGxlLFxuLmlucHV0LXNsaWRlcltkYXRhLWlzLWNvbG9yPWdyZWVuXSAubm9VaS1jb25uZWN0LFxuLmlucHV0LXNsaWRlci1yYW5nZVtkYXRhLWlzLWNvbG9yPWdyZWVuXSAubm9VaS1jb25uZWN0LFxuLmlucHV0LXNsaWRlci12YWx1ZXNbZGF0YS1pcy1jb2xvcj1ncmVlbl0gLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICM0Y2FmNTAgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LXNsaWRlciAubm9VaS1vcmlnaW4ge1xuICBiYWNrZ3JvdW5kOiAjZDRkNGQ0O1xufVxuXG4uaW5wdXQtc2xpZGVyOm5vdChbZGF0YS1pcy1jb2xvcl0pIC5ub1VpLWJhc2Uge1xuICBiYWNrZ3JvdW5kOiAjMDA5Njg4ICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC1zbGlkZXJbZGF0YS1pcy1jb2xvcj1yZWRdIC5ub1VpLWJhc2Uge1xuICBiYWNrZ3JvdW5kOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC1zbGlkZXJbZGF0YS1pcy1jb2xvcj1ibHVlXSAubm9VaS1iYXNlIHtcbiAgYmFja2dyb3VuZDogIzIxOTZmMyAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtc2xpZGVyW2RhdGEtaXMtY29sb3I9Y3lhbl0gLm5vVWktYmFzZSB7XG4gIGJhY2tncm91bmQ6ICMwMGJjZDQgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LXNsaWRlcltkYXRhLWlzLWNvbG9yPWFtYmVyXSAubm9VaS1iYXNlIHtcbiAgYmFja2dyb3VuZDogI2ZmYzEwNyAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtc2xpZGVyW2RhdGEtaXMtY29sb3I9Z3JlZW5dIC5ub1VpLWJhc2Uge1xuICBiYWNrZ3JvdW5kOiAjNGNhZjUwICFpbXBvcnRhbnQ7XG59XG5cbi5jcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jcC1jb250YWluZXIgPiAuaW5wdXQtZ3JvdXAgaW5wdXQuY3AtdmFsdWUge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uY3AtY29udGFpbmVyID4gLmlucHV0LWdyb3VwIC5kcm9wZG93bi1tZW51IHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmNwLWNvbnRhaW5lciBpLmNwLXZhbHVlIHtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi5ub3RlLWVkaXRvcixcbi5ub3RlLXBvcG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlNGU0ZTQ7XG59XG5cbi5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyLFxuLm5vdGUtcG9wb3ZlciAubm90ZS10b29sYmFyLFxuLm5vdGUtZWRpdG9yIC5wb3BvdmVyLWNvbnRlbnQsXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNlNGU0ZTQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwIDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgPiAuYnRuLWdyb3VwLFxuLm5vdGUtcG9wb3ZlciAubm90ZS10b29sYmFyID4gLmJ0bi1ncm91cCxcbi5ub3RlLWVkaXRvciAucG9wb3Zlci1jb250ZW50ID4gLmJ0bi1ncm91cCxcbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCA+IC5idG4tZ3JvdXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciA+IC5idG4tZ3JvdXAgLmJ0bixcbi5ub3RlLXBvcG92ZXIgLm5vdGUtdG9vbGJhciA+IC5idG4tZ3JvdXAgLmJ0bixcbi5ub3RlLWVkaXRvciAucG9wb3Zlci1jb250ZW50ID4gLmJ0bi1ncm91cCAuYnRuLFxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50ID4gLmJ0bi1ncm91cCAuYnRuIHtcbiAgbWFyZ2luOiAwIDFweDtcbn1cblxuLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgPiAuYnRuLWdyb3VwID4gLmFjdGl2ZSxcbi5ub3RlLXBvcG92ZXIgLm5vdGUtdG9vbGJhciA+IC5idG4tZ3JvdXAgPiAuYWN0aXZlLFxuLm5vdGUtZWRpdG9yIC5wb3BvdmVyLWNvbnRlbnQgPiAuYnRuLWdyb3VwID4gLmFjdGl2ZSxcbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCA+IC5idG4tZ3JvdXAgPiAuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwYmNkNDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5idG4sXG4ubm90ZS1wb3BvdmVyIC5ub3RlLXRvb2xiYXIgLmJ0bixcbi5ub3RlLWVkaXRvciAucG9wb3Zlci1jb250ZW50IC5idG4sXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLmJ0biB7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLmJ0bjphY3RpdmUsXG4ubm90ZS1wb3BvdmVyIC5ub3RlLXRvb2xiYXIgLmJ0bjphY3RpdmUsXG4ubm90ZS1lZGl0b3IgLnBvcG92ZXItY29udGVudCAuYnRuOmFjdGl2ZSxcbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAuYnRuOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLXBhbGV0dGUtdGl0bGUsXG4ubm90ZS1wb3BvdmVyIC5ub3RlLXRvb2xiYXIgLm5vdGUtcGFsZXR0ZS10aXRsZSxcbi5ub3RlLWVkaXRvciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXBhbGV0dGUtdGl0bGUsXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtcGFsZXR0ZS10aXRsZSB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3ItcmVzZXQsXG4ubm90ZS1wb3BvdmVyIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3ItcmVzZXQsXG4ubm90ZS1lZGl0b3IgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvci1yZXNldCxcbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvci1yZXNldCB7XG4gIHBhZGRpbmc6IDAgMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yIC5kcm9wZG93bi1tZW51LFxuLm5vdGUtcG9wb3ZlciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yIC5kcm9wZG93bi1tZW51LFxuLm5vdGUtZWRpdG9yIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3IgLmRyb3Bkb3duLW1lbnUsXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3IgLmRyb3Bkb3duLW1lbnUge1xuICBtaW4td2lkdGg6IDMzNXB4O1xufVxuXG4ubm90ZS1lZGl0b3IgLm5vdGUtc3RhdHVzYmFyIC5ub3RlLXJlc2l6ZWJhcixcbi5ub3RlLXBvcG92ZXIgLm5vdGUtc3RhdHVzYmFyIC5ub3RlLXJlc2l6ZWJhciB7XG4gIGJvcmRlci1jb2xvcjogI0U4RThFODtcbn1cblxuLm5vdGUtZWRpdG9yIC5ub3RlLXN0YXR1c2JhciAubm90ZS1yZXNpemViYXIgLm5vdGUtaWNvbi1iYXIsXG4ubm90ZS1wb3BvdmVyIC5ub3RlLXN0YXR1c2JhciAubm90ZS1yZXNpemViYXIgLm5vdGUtaWNvbi1iYXIge1xuICBib3JkZXItY29sb3I6ICNCQ0JDQkM7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEsXG4ubm90ZS1wb3BvdmVyIC5mYSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubm90ZS1lZGl0b3IgLmZhOmJlZm9yZSxcbi5ub3RlLXBvcG92ZXIgLmZhOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgRGVzaWduIEljb25pYyBGb250Jztcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1tYWdpYzpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuXG4ubm90ZS1lZGl0b3IgLmZhLmZhLWJvbGQ6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiO1xufVxuXG4ubm90ZS1lZGl0b3IgLmZhLmZhLWl0YWxpYzpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS11bmRlcmxpbmU6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThiXCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtZm9udDpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtbGlzdC11bDpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1saXN0LXVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtbGlzdC1vbDpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1saXN0LW9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtYWxpZ24tbGVmdDpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc4XCI7XG4gIGNvbnRlbnQ6IFwiXFxmMTc4XCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtYWxpZ24tcmlnaHQ6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc2XCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc3XCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtaW5kZW50OmJlZm9yZSxcbi5ub3RlLXBvcG92ZXIgLmZhLmZhLWluZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiO1xufVxuXG4ubm90ZS1lZGl0b3IgLmZhLmZhLW91dGRlbnQ6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtb3V0ZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZlwiO1xufVxuXG4ubm90ZS1lZGl0b3IgLmZhLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSxcbi5ub3RlLXBvcG92ZXIgLmZhLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgyXCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtdGFibGU6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWVcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1saW5rOmJlZm9yZSxcbi5ub3RlLXBvcG92ZXIgLmZhLmZhLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1waWN0dXJlLW86YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtcGljdHVyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtbWludXM6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmVcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1hcnJvd3MtYWx0OmJlZm9yZSxcbi5ub3RlLXBvcG92ZXIgLmZhLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWZcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1jb2RlOmJlZm9yZSxcbi5ub3RlLXBvcG92ZXIgLmZhLmZhLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1xdWVzdGlvbjpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzM1wiO1xufVxuXG4ubm90ZS1lZGl0b3IgLmZhLmZhLWVyYXNlcjpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS1lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2JcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS1zcXVhcmU6YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XG59XG5cbi5ub3RlLWVkaXRvciAuZmEuZmEtY2lyY2xlLW86YmVmb3JlLFxuLm5vdGUtcG9wb3ZlciAuZmEuZmEtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTNcIjtcbn1cblxuLm5vdGUtZWRpdG9yIC5mYS5mYS10aW1lczpiZWZvcmUsXG4ubm90ZS1wb3BvdmVyIC5mYS5mYS10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5YVwiO1xufVxuXG4ubm90ZS1lZGl0b3IgLm5vdGUtYWlyLXBvcG92ZXIgLmFycm93LFxuLm5vdGUtcG9wb3ZlciAubm90ZS1haXItcG9wb3ZlciAuYXJyb3cge1xuICBsZWZ0OiAyMHB4O1xufVxuXG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGFibGUge1xuICBwYWRkaW5nOiAyMHB4IDIzcHg7XG59XG5cbi5maWxlaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG59XG5cbi5maWxlaW5wdXQgLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmbG9hdDogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgd2lkdGg6IDE5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxOXB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICByaWdodDogMDtcbn1cblxuLmZpbGVpbnB1dCAuY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xufVxuXG4uZmlsZWlucHV0IC5idG4tZmlsZSA+IGlucHV0IHtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLmZpbGVpbnB1dCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5maWxlaW5wdXQgLmZpbGVpbnB1dC1wcmV2aWV3IHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWxlaW5wdXQgLmZpbGVpbnB1dC1wcmV2aWV3IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXRvcDogLTEzcHg7XG59XG5cbi5maWxlaW5wdXQgLmZpbGVpbnB1dC1wcmV2aWV3OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4jbGctc2xpZGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMjE5NmYzO1xuICAtd2Via2l0LWFuaW1hdGlvbjogYmFsbC1zY2FsZS1yaXBwbGUgMXMgMCBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC4yMSwgMC41MywgMC41NiwgMC44KTtcbiAgYW5pbWF0aW9uOiBiYWxsLXNjYWxlLXJpcHBsZSAxcyAwIGluZmluaXRlIGN1YmljLWJlemllcigwLjIxLCAwLjUzLCAwLjU2LCAwLjgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4jbGctb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xufVxuXG4jbGctb3V0ZXIgLm9iamVjdCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuI2xnLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2xnLWFjdGlvbiB7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jbGctYWN0aW9uID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzlEOUQ5RDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAzN3B4O1xufVxuXG4jbGctYWN0aW9uID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcbn1cblxuI2xnLWFjdGlvbiAuY2wtdGh1bWIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDIwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIGJhY2tncm91bmQ6ICNmNDQzMzY7XG4gIHRyYW5zaXRpb246IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbiNsZy1hY3Rpb24gLmNsLXRodW1iOmFmdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jbGctYWN0aW9uIC5jbC10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMzJjMWU7XG59XG5cbiNsZy1nYWxsZXJ5IC50aHVtYi1jb250IHtcbiAgYmFja2dyb3VuZDogI2Y0NDMzNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jbGctZ2FsbGVyeSAudGh1bWItY29udCAudGh1bWItaW5mbyB7XG4gIGJhY2tncm91bmQ6ICNmNDQzMzY7XG59XG5cbiNsZy1nYWxsZXJ5IC50aHVtYi1jb250IC50aHVtYi1pbmZvIC5jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNsZy1nYWxsZXJ5IC50aHVtYi1jb250IC50aHVtYi1pbmZvIC5jbG9zZSB7XG4gIHdpZHRoOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4jbGctZ2FsbGVyeSAudGh1bWItY29udCAudGh1bWItaW5mbyAuY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4jbGctZ2FsbGVyeSAudGh1bWItY29udCAudGh1bWIge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuI2xnLWdhbGxlcnkgLnRodW1iLWNvbnQgLnRodW1iLWlubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMnB4IDEycHggMTVweDtcbn1cblxuLmxnLXNsaWRlIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubGctc2xpZGUgZW0ge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5sZy1zbGlkZSBlbSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmxnLXNsaWRlIC52aWRlby1jb250IHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgNnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE5KTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhbGwtc2NhbGUtcmlwcGxlIHtcbiAgMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNzAlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJhbGwtc2NhbGUtcmlwcGxlIHtcbiAgMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNzAlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ud2F2ZXMtYnV0dG9uLFxuLndhdmVzLWNpcmNsZSB7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5kYXRlLXBpY2tlciAuZHAtaW5saW5lIHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZGF0ZS1waWNrZXI6bm90KC5kcC1ibHVlKTpub3QoLmRwLXJlZCkgLnRyLWRwbmF2IHRoIHtcbiAgYmFja2dyb3VuZDogIzAwOTY4ODtcbn1cblxuLmRhdGUtcGlja2VyOm5vdCguZHAtYmx1ZSk6bm90KC5kcC1yZWQpIC50ci1kcGRheSB0aCB7XG4gIGJhY2tncm91bmQ6ICMwMDg3N2E7XG59XG5cbi5kYXRlLXBpY2tlcjpub3QoLmRwLWJsdWUpOm5vdCguZHAtcmVkKSAuZHAtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbn1cblxuLmRhdGUtcGlja2VyOm5vdCguZHAtYmx1ZSk6bm90KC5kcC1yZWQpIC5kcC1hY3Rpb25zIC5idG4tbGluayB7XG4gIGNvbG9yOiAjMDA5Njg4O1xufVxuXG4uZGF0ZS1waWNrZXIgLmRyb3Bkb3duLW1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5kYXRlLXBpY2tlci5pcy1vcGVuZWQgLmRyb3Bkb3duLW1lbnUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xufVxuXG4uZHAtdGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5kcC10YWJsZSB0aGVhZCA+IHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uZHAtdGFibGUgdGhlYWQgPiB0ciB0aDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmRwLXRhYmxlIHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4uZHAtdGFibGUgdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLmRwLXRhYmxlIHRib2R5ID4gdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5kcC10YWJsZSB0Ym9keSA+IHRyIHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4uYnRuLWRwIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLmJ0bi1kcCAuem1kaSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG59XG5cbi5idG4tZHAgLnptZGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTQpO1xufVxuXG4uYnRuLWRwW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAjQ0RDRENEO1xufVxuXG4uYnRuLWRwW2Rpc2FibGVkXSAuZHAtZGF5LW11dGVkIHtcbiAgY29sb3I6ICNDRENEQ0Q7XG59XG5cbi5idG4tZHBib2R5IHtcbiAgcGFkZGluZzogMTNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5idG4tZHBib2R5Om5vdCguZHAtYWN0aXZlKTpub3QoW2Rpc2FibGVkXSkge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmJ0bi1kcGJvZHk6bm90KC5kcC1hY3RpdmUpOm5vdChbZGlzYWJsZWRdKTpub3QoLmRwLXRvZGF5KTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNGMEYwRjA7XG59XG5cbi5idG4tZHBkYXkge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA0MnB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDJweDtcbn1cblxuLnRyLWRwbmF2IC5idG4tZHAge1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjVweCAwIDIzcHg7XG59XG5cbi50ci1kcGRheSB0aCB7XG4gIHBhZGRpbmc6IDhweCAwIDlweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5kcC1hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmRwLXRvZGF5Om5vdCguZHAtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMkUyRTI7XG59XG5cbi5kcC1kYXktbXV0ZWQge1xuICBjb2xvcjogIzhCOEI4Qjtcbn1cblxuLmRwLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZHAtdGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5kcC1ibHVlIC50ci1kcG5hdiB0aCB7XG4gIGJhY2tncm91bmQ6ICMyMTk2ZjM7XG59XG5cbi5kcC1ibHVlIC50ci1kcGRheSB0aCB7XG4gIGJhY2tncm91bmQ6ICMxMjhmZjI7XG59XG5cbi5kcC1ibHVlIC5kcC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5NmYzO1xufVxuXG4uZHAtYmx1ZSAuZHAtYWN0aW9ucyAuYnRuLWxpbmsge1xuICBjb2xvcjogIzIxOTZmMztcbn1cblxuLmRwLXJlZCAudHItZHBuYXYgdGgge1xuICBiYWNrZ3JvdW5kOiAjZjQ0MzM2O1xufVxuXG4uZHAtcmVkIC50ci1kcGRheSB0aCB7XG4gIGJhY2tncm91bmQ6ICNmMzM1Mjc7XG59XG5cbi5kcC1yZWQgLmRwLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG59XG5cbi5kcC1yZWQgLmRwLWFjdGlvbnMgLmJ0bi1saW5rIHtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG5cbi5kcC1hY3Rpb25zIHtcbiAgcGFkZGluZzogMTBweCAyMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZHAtYWN0aW9ucyAuYnRuLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubmctdGFibGUgdGguc29ydGFibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm5nLXRhYmxlIHRoLnNvcnRhYmxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZERkJEMztcbn1cblxuLm5nLXRhYmxlIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTRFNEU0O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm5nLXRhYmxlIC5mb3JtLWNvbnRyb2w6YWN0aXZlLFxuLm5nLXRhYmxlIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNEN0Q3RDcgIWltcG9ydGFudDtcbn1cblxuLm5nLXRhYmxlLXBhZ2VyIHtcbiAgcGFkZGluZzogMTJweCAyNXB4IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmctdGFibGUtcGFnZXIge1xuICAgICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgfVxufVxuXG4ubmctdGFibGUtY291bnRzIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAyM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRThFOEU4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubmctdGFibGUtY291bnRzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5nLXRhYmxlLWNvdW50cyAuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0YwRjBGMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm5nLXRhYmxlLXBhZ2luYXRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5nLXRhYmxlLXBhZ2luYXRpb24gPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5nLXRhYmxlLXBhZ2luYXRpb24gPiBsaTpmaXJzdC1jaGlsZDpiZWZvcmUsXG4ubmctdGFibGUtcGFnaW5hdGlvbiA+IGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbC1EZXNpZ24tSWNvbmljLUZvbnQnO1xuICBmb250LXNpemU6IDIycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTZweDtcbiAgdG9wOiA1cHg7XG4gIHotaW5kZXg6IDEyO1xufVxuXG4ubmctdGFibGUtcGFnaW5hdGlvbiA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbi5uZy10YWJsZS1wYWdpbmF0aW9uID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICBmb250LXNpemU6IDA7XG59XG5cbi5uZy10YWJsZS1wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmFcIjtcbn1cblxuLm5nLXRhYmxlLXBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZiXCI7XG59XG5cbi5zb3J0YWJsZSAubmctdGFibGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc29ydGFibGUgLm5nLXRhYmxlLWhlYWRlcjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsLURlc2lnbi1JY29uaWMtRm9udCc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogLTJweDtcbiAgZm9udC1zaXplOiAxN3B4O1xufVxuXG4uc29ydGFibGUuc29ydC1kZXNjIC5uZy10YWJsZS1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjtcbn1cblxuLnNvcnRhYmxlLnNvcnQtYXNjIC5uZy10YWJsZS1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cblxuLnRpbWVwaWNrZXItcGlja2VyIC5idG4ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50aW1lcGlja2VyLXBpY2tlciB0YWJsZSB0Ym9keSB0ciArIHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICBiYWNrZ3JvdW5kOiAjMDA5Njg4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRpbWVwaWNrZXItcGlja2VyIHRhYmxlIHRib2R5IHRyICsgdHI6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi50aW1lcGlja2VyLXBpY2tlciAuYnRuIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5kYXRlcGlja2VyLnRvcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0aGVhZCB0ciB0aCAuZ2x5cGhpY29uIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMjlweDtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHIgdGg6aG92ZXIgLmdseXBoaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICBiYWNrZ3JvdW5kOiAjMDA5Njg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG5cbi5kYXRlcGlja2VyIHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwOTY4ODtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgucGlja2VyLXN3aXRjaCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHI6bGFzdC1jaGlsZCB0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGhlYWQgdHI6bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgYmFja2dyb3VuZDogIzAwODc3YTtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMTNweDtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEzcHg7XG59XG5cbi5kYXRlcGlja2VyIHRhYmxlIHRkLmRheSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzMzMztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGQuZGF5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGQuZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLWJvdHRvbTogLTMzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0ZC5kYXkub2xkLCAuZGF0ZXBpY2tlciB0YWJsZSB0ZC5kYXkubmV3IHtcbiAgY29sb3I6ICNDRENEQ0Q7XG59XG5cbi5kYXRlcGlja2VyIHRhYmxlIHRkOm5vdCgudG9kYXkpOm5vdCguYWN0aXZlKTpob3ZlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYwO1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0ZC50b2RheSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0ZC50b2RheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTJFMkUyO1xufVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0ZC5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmRhdGVwaWNrZXIgdGFibGUgdGQuYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG59XG5cbi5kYXRlcGlja2VyLW1vbnRocyAubW9udGgsIC5kYXRlcGlja2VyLXllYXJzIC55ZWFyLCAudGltZXBpY2tlci1taW51dGVzIC5taW51dGUsIC50aW1lcGlja2VyLWhvdXJzIC5ob3VyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uZGF0ZXBpY2tlci1tb250aHMgLm1vbnRoOm5vdCguYWN0aXZlKTpob3ZlciwgLmRhdGVwaWNrZXIteWVhcnMgLnllYXI6bm90KC5hY3RpdmUpOmhvdmVyLCAudGltZXBpY2tlci1taW51dGVzIC5taW51dGU6bm90KC5hY3RpdmUpOmhvdmVyLCAudGltZXBpY2tlci1ob3VycyAuaG91cjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYwO1xufVxuXG4uZGF0ZXBpY2tlci1tb250aHMgLm1vbnRoLmFjdGl2ZSwgLmRhdGVwaWNrZXIteWVhcnMgLnllYXIuYWN0aXZlLCAudGltZXBpY2tlci1taW51dGVzIC5taW51dGUuYWN0aXZlLCAudGltZXBpY2tlci1ob3VycyAuaG91ci5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDA5Njg4O1xufVxuXG4udGltZXBpY2tlci1taW51dGVzIC5taW51dGUsIC50aW1lcGlja2VyLWhvdXJzIC5ob3VyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4uY2hlY2tib3ggPiBzbWFsbCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tLWwtLTUge1xuICBtYXJnaW4tbGVmdDogLTVweCAhaW1wb3J0YW50O1xufVxuLyouY29sLWxnLTMge1xud2lkdGg6MjIlICFpbXBvcnRhbnQ7XG59Ki9cbi50b29sdGlwIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4ubS1sLTgge1xuICBtYXJnaW4tbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mLXMge1xuICBmb250LXNpemU6IDIzcHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhKG1heC13aWR0aDogMzYwcHgpIHtcbiAgI0luT3JkZXIge1xuICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICAjYnV0dG9uY2FyZCB7XG4gICAgICBoZWlnaHQ6IDk4cHggIWltcG9ydGFudDtcbiAgfVxuXG4gICNtb2JpbGVjYXJkIHtcbiAgICAgIGhlaWdodDogMzkwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4ucHJvZHVjdC1ncmlkX19kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5oZWFkbWluLWhlaWdodCB7XG4gIG1pbi1oZWlnaHQ6IDE3MHB4O1xufVxuXG4ucC1sLTI4IHtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wLWwtMzUge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLmYtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5tLWF1dG8ge1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5mLXMtMTgge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5ib3R0b20tYnRuIHtcbiAgYm90dG9tOiAxNXB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxNXB4O1xuICB6LWluZGV4OiAyMDtcbn1cblxuLmYtcy0xNCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmYtcy0xNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5mLXMtMjAge1xuICBmb250LXNpemU6IDIwcHg7XG59XG4uZi1zLTI0IHtcbiAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6IDExOTlweCkge1xuICAjdXNlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm0tbC0yMyB7XG4gIG1hcmdpbi1sZWZ0OiAyM3B4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOjExOTlweCkge1xuICAjYXV0b3NoaXBkaXYge1xuICAgICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJ0biB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbiNfX2xwZm9ybV9pbnB1dF9pZHhfMF9udW1zcGFuLCAuX19scGZvcm1faW5wdXRfaWR4XzAge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZXRob2Rkcm9wZG93biB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDZweCAxMnB4IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRjb2xvciBjdXJyZW50Y29sb3IgdmFyKC0tY29sb3IxKTtcbiAgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQ7XG4gIGJvcmRlci13aWR0aDogbWVkaXVtIG1lZGl1bSAycHg7XG59XG5cbi5kcm9wcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogODglO1xufVxuXG4uZHJvcHBlcl9tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xufVxuXG4uc2Vjb25kX21lbnUge1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIGNvbG9yOiByZ2IoMTUzLCAxNTMsIDE1Myk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNhcmV0X2Fycm93IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDglO1xufVxuXG4uY2FyZXRfYXJyb3cgaSB7XG4gIGNvbG9yOiAjMDBjMWQ2O1xufVxuXG4uZHJvcGRvd24tbWVudS5kcm9wcGVyX21lbnUgPiBsaTpob3ZlciB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmNvbC1oZWlnaHQge1xuICBoZWlnaHQ6IDMzMHB4O1xufVxuXG4uZHMtY2FydF9fcGFnZS1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiA2MDBweDtcbn1cblxuXG4uaW9zRGV2aWNlIC5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG4uaW9zRGV2aWNlIC5tb2RhbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNTA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3V0bGluZTogMDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgei1pbmRleDogOTk5OTk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwuaW4gLm1vZGFsLWRpYWxvZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5pb3NEZXZpY2UgLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDlweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgb3V0bGluZTogMDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtYmFja2Ryb3AuZmFkZSB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtYmFja2Ryb3AuaW4ge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xufVxuXG4uaW9zRGV2aWNlIC5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgbWluLWhlaWdodDogMTYuNDI4NTcxNDNweDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5pb3NEZXZpY2UgLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mztcbn1cblxuLmlvc0RldmljZSAubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZzogMTlweCAyMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtZm9vdGVyIC5idG4gKyAuYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmlvc0RldmljZSAubW9kYWwtZm9vdGVyIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6NDIwcHgpIHtcbiAgLmNhcnRfbW9iaWxle1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMCUhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogLTglIWltcG9ydGFudDtcbiAgXG4gIH1cbiAgLmNhcnRfbW9iaWxlIC56bWRpLXNob3BwaW5nLWNhcnRcbiAge1xuICAgICAgZm9udC1zaXplOiAyMXB4IWltcG9ydGFudDtcbiAgfVxuICAuY2FydF9tb2JpbGUgLmNhcnQtY291bnRlciB7XG4gICAgICB3aWR0aDogMTRweCFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDE0cHghaW1wb3J0YW50O1xuICB9XG4gIC5tZW51X2xpc3Qge1xuICAgICAgb3BhY2l0eTogMSFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk5OTkhaW1wb3J0YW50O1xuICB9XG4gIC5kcy1wcm9kdWN0LWRldGFpbF9fYm9keSAuaW1nLWJveCB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRzLXByb2R1Y3QtZGV0YWlsX19ib2R5IC5zaGFyZV9ib3gge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyJSFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRzLXByb2R1Y3QtZGV0YWlsX19vcHRpb25zX19vcHRpb257XG4gICAgICB3aWR0aDoxMDAlO1xuICB9XG4gIC5pb3NEZXZpY2UgLm1vZGFsLWJhY2tkcm9wIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xuICAuaW9zRGV2aWNlIC5tb2RhbC1kaWFsb2cge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cblxuICAuaW9zRGV2aWNlIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gIH1cblxuICAuaW9zRGV2aWNlIC5tb2RhbC1zbSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgLmlvc0RldmljZSAubW9kYWwtbGcge1xuICAgICAgd2lkdGg6IDkwMHB4O1xuICB9XG59XG5cbi5mbGV4LWp1c3RpZnktZW5kIHtcbmp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5yb3RhdGUtOTAge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAuNSk7XG4td2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4tbW96LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4tbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbi1vLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG50cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4jcHJvZHVjdF91cGRhdGVfY2FyZCB7XG4gIC5kcy1jYXJ0X19pbWFnZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuICAgICAgJl9fc2FsZXMge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNzlweCBzb2xpZCAjMWM3YmJmO1xuICAgICAgICAgIGJvcmRlci10b3A6IDc5cHggc29saWQgdmFyKC0tY29sb3IxKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA3OXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogNzlweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICYgcCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDc5cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnRuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICAgIC56bWRpLXNoYXJlLWJ0biB7XG4gICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgIH1cbiAgICAgIC5tb3JlX2NvbG9ycyB7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgd2lkdGg6IDEwOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgICAgLm9wYWNpdHlfYnRue1xuICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIH1cbiAgICAgIC5kcy1jYXJ0X19pbWFnZSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMzA2cHg7XG4gICAgICAgICAgd2lkdGg6IDMwNnB4O1xuICAgICAgfVxuICB9XG4gIC5kcy1jYXJ0LXNpemUge1xuICAgICAgaGVpZ2h0OiAzOTRweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDMwNnB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5kcy1jYXJ0X19pdGVtLW1ldGEge1xuICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDBweCAwcHggMHB4O1xuICAgICAgfVxuICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0LWNvbG9yIHtcbiAgICAgICAgICBjb2xvcjogIzFjN2JiZjtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3IxKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHBhZGRpbmc6IDBweCAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuc3RyaWtldGhyb3VnaCB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgLmRhcmtncmF5IHtcbiAgICAgICAgICBjb2xvcjogZGFya2dyYXk7XG4gICAgICB9XG4gICAgICAuem1kaS1jYXJ0LXBsdXMtYnRuIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2E1YTVhNWIwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICNhNWE1YTViMDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICAgIH1cbiAgICAgIFxuICB9XG59XG5cbi5td28ge1xuICBtYXgtd2lkdGg6IDEzNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucHJvZHVjdC1jb2xvciB7XG4gIGNvbG9yOiAjMWM3YmJmO1xuICBjb2xvcjogdmFyKC0tY29sb3IxKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwcHggMTVweDtcbn1cblxuLm0tYi00e1xuICBtYXJnaW4tYm90dG9tOjQlO1xufVxuXG5cbi5tZC1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLnptZGl7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuI09yZGVyVmlldyB7XG4gIC5zZWxlY3RlZF90YWIge1xuICAgICAgYm9yZGVyLWJvdHRvbTo0cHggc29saWQgIzRhNGE0YSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM0YTRhNGEgIWltcG9ydGFudDtcbiAgfVxuICAuc2VsZWN0ZWRfdGFiID4gIGF7XG4gIGNvbG9yOiAgYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuICAudGFiLW5hdjpub3QoLnRuLXZlcnRpY2FsKSB7ICBcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudGFiLW5hdiA+IGxpID4gYXtcbiAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMTNweCAxM3B4IDFweCAxM3B4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmRzLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDoxMzA0cHg7XG4gIG1hcmdpbjogMCBhdXRvOyAgICBcbiAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWQtdGFiIHtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxubWQtdGFicy5tZC1kZWZhdWx0LXRoZW1lIG1kLXRhYnMtd3JhcHBlciwgbWQtdGFicyBtZC10YWJzLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlY2VjO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLTAuODgpO1xufVxuXG5tZC10YWJzIC5tZC10YWIubWQtYWN0aXZlIHtcbiAgY29sb3I6IHJnYig5MywgOTQsIDk5KTtcbn1cblxuXG4ubWQtc3ViaGVhZGVyLm1kLWRlZmF1bHQtdGhlbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tZC1zdWJoZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbn1cblxubWQtdGFicy5tZC1kZWZhdWx0LXRoZW1lIG1kLWluay1iYXIsIG1kLXRhYnMgbWQtaW5rLWJhciB7XG4gIGJhY2tncm91bmQ6ICM1ZDVlNjM7XG59XG5cbi5zb3J0LWRyb3Bkb3duIHtcbiAgdG9wOiA5MiU7XG4gIC8vcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMSU7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4IWltcG9ydGFudDtcbn1cblxuLm0tdC0tMTUge1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuaHRtbCwgYm9keSB7XG4gIGJhY2tncm91bmQ6ICNlZGVjZWMgIWltcG9ydGFudDtcbn1cblxuLnNvcnQtZHJvcGRvd24ge1xuICBtZC1zZWxlY3Qge1xuICAgICAgcGFkZGluZzogMTBweCAycHggMTBweCFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy9PcmRlcmNhcnQgZXh0cmEgYmFjayBzcGFjZVxub3JkZXJjYXJ0bW9kYWwgbWQtYmFja2Ryb3Age1xuICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5mLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLm1hcmdpbi0we1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xufVxuLmxpbmVfaGVpZ2h0XzF7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbSAhaW1wb3J0YW50O1xufVxuLmJnLXdoaXRle1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5wYWRkaW5nLTB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuLmRzLXN1bW1hcnktY2FydCBtZC10b29sYmFyIG1kLWxpc3QgbWQtbGlzdC1pdGVtIC5tZC1saXN0LWl0ZW0tdGV4dCBoMyB7XG4gZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7XG59XG4uYy1saWdodHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG4ubWFpbl9oZWFkaW5ne1xuICBmb250LXNpemU6IDIycHghaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbn1cbi5zdWJoZWFkaW5nX3RleHR7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gfVxucC5tYWluX3ByaWNle1xuICBmb250LXNpemU6IDE2cHghaW1wb3J0YW50O1xufVxuLm1haW5fcXZ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbmgzLmVucm9sbF9tYWluX3RleHQge1xuICBmb250LXNpemU6IDE1cHghaW1wb3J0YW50O1xufVxucC5lbnJvbGxfbWFpbl90b3RhbCB7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbn1cbnAucHJpY2VfZWFjaCB7XG4gIGZvbnQtc2l6ZTogMTVweCFpbXBvcnRhbnQ7XG59XG5wLmYtcmlnaHQucXZfZWFjaCB7XG4gIGZvbnQtc2l6ZTogMTJweCFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbn1cbi5wcm9kdWN0X2RldGFpbF90ZXh0IHtcbiAgZm9udC1zaXplOiAxNXB4IWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE4cHghaW1wb3J0YW50O1xufVxuLnByb2R1Y3RfZGV0YWlsX3F2IHtcbiAgZm9udC1zaXplOiAxMnB4IWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4ucHJpY2Vfc2V0IHAge1xuICBtYXJnaW4tdG9wOjI2JSFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtNDAlIWltcG9ydGFudDtcbn1cbi50b3RhbF9ibG9ja3tcbiAgICBwYWRkaW5nOiAyJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4IWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG4udG9wXzB7XG4gIHRvcDowIWltcG9ydGFudDtcbn1cbi5wYWQtcmlnaHR7XG4gIHBhZGRpbmctcmlnaHQ6NCUhaW1wb3J0YW50O1xufVxuYm9keS5tb2RhbC1vcGVuIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3c6IGF1dG8haW1wb3J0YW50O1xufVxubWQtZGF0ZXBpY2tlcnsgaW5wdXR7IHBvaW50ZXItZXZlbnRzOm5vbmU7IH0gfVxuLmYtc21hbGx7XG4gIGZvbnQtc2l6ZTpzbWFsbCFpbXBvcnRhbnQ7XG59XG4ubWQtMy1saW5lLm0tdC01IHtcbiAgbWFyZ2luLXRvcDo1JSFpbXBvcnRhbnQ7XG59XG5cbi8vIGZpeCBmb3IgaW5saW5lIGNoZWNrYm94IGVycm9yIG1lc3NhZ2VzXG4uZHMtY2FydF9fcGFnZSAuZHMtY2hlY2tib3grLmhlbHAtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNsZWFyOiBib3RoO1xufVxuLndpZHRoLTEwMHtcbm1pbi13aWR0aDogMTAwcHggIWltcG9ydGFudDsgXG59XG5cbi5oZWFkZXItYmctY29sb3J7XG5iYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwO1xufVxuXG5cbi8vQ1NTIGZvciBzdGFyIHJhdGluZ3Mgc3RhcnRcbi5yYXRpbmdzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjYjFiMWIxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZ1bGwtc3RhcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmZGUxNmQ7XG59XG4uZW1wdHktc3RhcnM6YmVmb3JlLCAuZnVsbC1zdGFyczpiZWZvcmUge1xuICBjb250ZW50OlwiXFwyNjA1XFwyNjA1XFwyNjA1XFwyNjA1XFwyNjA1XCI7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbn1cbi5lbXB0eS1zdGFyczpiZWZvcmUge1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggIzg0ODQ4NDtcbn1cbi5mdWxsLXN0YXJzOmJlZm9yZSB7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCBvcmFuZ2U7XG59XG4vKiBXZWJraXQtdGV4dC1zdHJva2UgaXMgbm90IHN1cHBvcnRlZCBvbiBmaXJlZm94IG9yIElFICovXG5cbi8qIEZpcmVmb3ggKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIC5mdWxsLXN0YXJzIHtcbiAgICAgIGNvbG9yOiAjRUNCRTI0O1xuICB9XG59XG4uZnVsbC1zdGFycyB7XG4gIGNvbG9yOiAjRUNCRTI0O1xufVxuLmMtcmVke1xuIGNvbG9yOiAjQzYxNjFEO1xufVxuXG4uZnVsbC13aWR0aHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZnVsbC1oZWlnaHR7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5jYXJvdXNlbC1pbm5lcj4uaXRlbT5pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MzBweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDo5NjBweCkge1xuICAgICAgaGVpZ2h0OiAzNjZweCAhaW1wb3J0YW50O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkgYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAgIGhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOjQ5OXB4KSB7XG4gICAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5pdGVtPmltZyB7XG5ib3JkZXI6IG5vbmUhaW1wb3J0YW50OyBcbn1cbi53LTQ5IHtcbiAgd2lkdGg6IDQ5JTtcbn1cbi5tLXItMntcbiAgbWFyZ2luLXJpZ2h0OjIlO1xufVxuLm0tdC0ye1xuICBtYXJnaW4tdG9wOjIlO1xufVxuLm0tYi0ye1xuICBtYXJnaW4tYm90dG9tOjIlO1xufVxuXG5cbiN6cGltYWdlLXpvb21Db250YWluZXJ7XG4gIHotaW5kZXg6MSAhaW1wb3J0YW50O1xufVxuXG4ubWQtYnV0dG9uLmRpc2FibGVkLFxuLm1kLWJ1dHRvbltkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLm1kLWJ1dHRvbiB7XG5jdXJzb3I6IG5vdC1hbGxvd2VkO1xub3BhY2l0eTogMC42NTtcbmZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4td2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG5ib3gtc2hhZG93OiBub25lO1xufVxuYS5tZC1idXR0b24uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5tZC1idXR0b24ge1xucG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubWQtYnV0dG9uLmRpc2FibGVkLCAubWQtYnV0dG9uW2Rpc2FibGVkXSwgZmllbGRzZXRbZGlzYWJsZWRdIC5tZC1idXR0b24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IC42NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuYS5tZC1idXR0b24uZGlzYWJsZWQsIGZpZWxkc2V0W2Rpc2FibGVkXSBhLm1kLWJ1dHRvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ0bi1kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IC42NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBTdGlja3kgZm9vdGVyKi9cbi5wYWdlLXdyYXAge1xuICBtaW4taGVpZ2h0OiBcImNhbGMoMTAwdmggLSAyNjBweClcIjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6NjAwcHgpIHtcbiAgLnByb2R1Y3RfZGV0YWlsX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxM3B4IWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMTVweCFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB9XG4gIC5wcm9kdWN0X2RldGFpbF9xdi5tLWItMjB7IG1hcmdpbi1ib3R0b206IDRweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOjMyMHB4KSB7XG4gIC5kcy1zdW1tYXJ5LWNhcnQgbWQtY29udGVudCBtZC1saXN0LWl0ZW0uaXRlbXN7cGFkZGluZy1sZWZ0OiAxNHB4ICFpbXBvcnRhbnQ7IH1cbn1cblxuLnF1YW50aXR5X2Rpc2FibGUge1xuJi5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgNjAlKSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xufVxufVxuXG4vKiBMb2FkaW5nIGJhciBjdXN0b20gc3R5bGVzICovXG4jbG9hZGluZy1iYXIgLmJhciB7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kOiAjNTFjMUU4O1xufVxuXG4jbG9hZGluZy1iYXIgLnBlZyB7XG4gIGJveC1zaGFkb3c6ICNmZmYgMXB4IDAgNnB4IDFweDtcbn1cblxuI2xvYWRpbmctYmFyLXNwaW5uZXIge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwNXB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgei1pbmRleDogMDk7XG59XG5cbiNsb2FkaW5nLWJhci1zcGlubmVyIC5zcGlubmVyLWljb24ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYig4MSwgMTkzLCAyMzIpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBhbmltYXRpb246IGxvYWRpbmctYmFyLXNwaW5uZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG4vKiBlbmQgTG9hZGluZyBiYXIgY3VzdG9tIHN0eWxlcyAqL1xuXG4vKiBTd2VldCBBbGVydCBjdXN0b20gY3NzKi9cbi5zd2VldC1hbGVydCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xufVxuXG4uc3dlZXQtYWxlcnQgaDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnN3ZWV0LWFsZXJ0IC5sZWFkIHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4uc3dlZXQtYWxlcnQgLmJ0biB7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbjogMjBweCAycHggMDtcbn1cblxuLnN3ZWV0LWFsZXJ0IC5mb3JtLWdyb3VwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN3ZWV0LWFsZXJ0IC5zYS1jb25maXJtLWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIGVuZCBzd2VldCBhbGVydCBjdXN0b20gY3NzKi9cblxuLnRleHQtbm9uZWNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dF9vdmVyZmxvdyB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ub3BhY2l0eS04NyB7XG4gIG9wYWNpdHk6IDAuODcgIWltcG9ydGFudDtcbn1cblxuLm9wYWNpdHktNTQge1xuICBvcGFjaXR5OiAwLjU0ICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTM4IHtcbiAgb3BhY2l0eTogMC4zOCAhaW1wb3J0YW50O1xufVxuXG4vKiBQcm9kdWN0IGRlbW8gKi9cbi5kcy1wcm9kdWN0LWN1c3RvbSB7XG5ib3JkZXI6IG5vbmU7XG5tYXJnaW46IDdweCA4cHg7XG59XG4uYy0xIHtcbiAgY29sb3I6ICMwMDAwMDBERTtcbn0iXX0= */\";","import { BrowserModule, Title } from '@angular/platform-browser';\nimport { APP_INITIALIZER, Injectable, NgModule } from '@angular/core';\nimport { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { HttpClient, HttpClientModule, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\nimport { DefaultUrlSerializer, Router, UrlSerializer, UrlTree } from '@angular/router';\nimport { MainComponent } from './components/main/main.component';\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\nimport { AppRoutingModule } from './app-routing.module';\nimport { ShopModule } from './components/shop/shop.module';\nimport { SharedModule } from './components/shared/shared.module';\nimport { ColorOptionsComponent } from './components/color-options/color-options.component';\nimport { NotTranslatedService } from './components/shared/services/not-ranslated.service';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { MyLoaderComponent } from './components/my-loader/my-loader.component';\nimport { LoaderService } from './components/shared/services/loader.service';\nimport { LoaderInterceptor } from './components/shared/services/interceptors/loader-interceptor.service';\nimport { ConfigService } from './components/shared/services/config.service';\nimport { environment } from 'src/environments/environment';\nimport { CommonSetting } from './modals/commonsetting.modal';\nimport { PagesModule } from './components/pages/pages.module';\nimport { FindEnrollerComponent } from './components/shared/model/findenroller/findenroller.component';\nimport { PersistentService } from './components/shared/services/persistent.service';\nimport { ApiInterceptor } from './components/shared/services/interceptors/http-interceptor.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { getSubdomain } from 'tldts';\nimport { AuthGuard } from './components/shared/services/auth.guard.service';\nimport { LoggedInAuthGuard } from './components/shared/services/loggedin.guard.service';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { getBaseLocation } from './baseUrl';\n\nconst initializeConfig = (configService: ConfigService, http: HttpClient, dailog: MatDialog, translate) => {\n  const promise2 = new Promise((resolve, reject) => {\n    let subdomain = getBaseLocation();\n    if (!subdomain) {\n    } else {\n      subdomain = subdomain.replace('/', '');\n    }\n    http.get(`${environment.apiUrl}api/Customers/GetWebsiteInformation_V1?webAlias=${subdomain}`, {\n      headers: new HttpHeaders({\n        'Content-Type': 'application/json; charset=utf-8'\n      }),\n      withCredentials: true\n    }).toPromise()\n      .then((result: any) => {\n        if (!result.Data) {\n          //webalias not found so setting default to thinkenergy/samspace making call below\n          http.get(`${environment.apiUrl}api/Customers/GetWebsiteInformation_V1?webAlias=thinkenergy`, {\n            headers: new HttpHeaders({\n              'Content-Type': 'application/json; charset=utf-8'\n            }),\n            withCredentials: true\n          }).toPromise().then((result: any) => {\n            //update url\n            subdomain = 'thinkenergy'\n            let a = window.location.pathname.split('/')[1].replace(location.pathname.split('/')[1], subdomain)\n            window.location.href = location.origin + '/' + a + '/' + window.location.pathname.split('/')[2]\n            configService.setWebsiteInfo(result.Data);\n\n            //localconfig file get call\n            http.get<any>(`assets/data/localconfig.json`, {\n              headers: new HttpHeaders({\n                'Content-Type': 'application/json; charset=utf-8'\n              })\n            }).subscribe((data) => {\n              configService.localSettings = data;\n              return resolve(result.Data);\n            });\n            //localconfig file get call ends\n          })\n          //default webalias call ends\n          //else block for found webalias and empty webalias also\n        } else {\n          configService.setWebsiteInfo(result.Data);\n\n          //localconfig file get call\n          http.get<any>(`assets/data/localconfig.json`, {\n            headers: new HttpHeaders({\n              'Content-Type': 'application/json; charset=utf-8'\n            })\n          }).subscribe((data) => {\n            configService.localSettings = data;\n            return resolve(result.Data);\n          });\n          //localconfig file get call ends\n        }\n      }).finally(() => {\n      });\n  });\n\n  const promise1 = new Promise((resolve, reject) => {\n    http.get(`assets/data/clientsetting.json`,\n      {\n        headers: new HttpHeaders({\n          'Content-Type': 'application/json; charset=utf-8'\n        }),\n        withCredentials: true\n      }).toPromise()\n      .then((result: CommonSetting) => {\n        configService.init(result);\n        return resolve(result);\n      }).finally(() => {\n      });\n  });\n\n\n  return async () => {\n    const res = await Promise.all([promise2, promise1]);\n    return res;\n  };\n\n};\n\n@Injectable()\nexport class MyMissingTranslationHandler implements MissingTranslationHandler {\n  handle(params: MissingTranslationHandlerParams): any {\n    if (params.interpolateParams) {\n      return params.interpolateParams['Default'] || params.key;\n    }\n    return params.key;\n  }\n\n  constructor(private nts: NotTranslatedService) { }\n}\n\n@Injectable()\nexport class LowerCaseUrlSerializer extends DefaultUrlSerializer {\n  parse(url: string): UrlTree {\n\n    return super.parse(url.toLowerCase());\n  }\n}\n@NgModule({\n  declarations: [\n    AppComponent,\n    MainComponent,\n    ColorOptionsComponent,\n    MyLoaderComponent,\n  ],\n  imports: [\n    NgxSpinnerModule,\n    BrowserModule,\n    SharedModule,\n    ShopModule,\n    PagesModule,\n    NgxSkeletonLoaderModule,\n    HttpClientModule,\n    BrowserAnimationsModule,\n    NoopAnimationsModule,\n    FormsModule,\n    MatDialogModule,\n    ReactiveFormsModule,\n    AppRoutingModule,\n    NgxImageZoomModule,\n    TranslateModule.forRoot({\n      loader: {\n        provide: TranslateLoader,\n        useFactory: HttpLoaderFactory,\n        deps: [HttpClient]\n      },\n      missingTranslationHandler: {\n        provide: MissingTranslationHandler,\n        useClass: MyMissingTranslationHandler,\n        deps: [NotTranslatedService]\n      }\n    })\n  ],\n  providers: [\n    {\n      provide: APP_BASE_HREF,\n      useFactory: getBaseLocation\n    },\n    ConfigService,\n    { provide: APP_INITIALIZER, useFactory: initializeConfig, deps: [ConfigService, HttpClient, MatDialog], multi: true },\n    {\n      provide: UrlSerializer,\n      useClass: LowerCaseUrlSerializer\n    },\n    LoaderService,\n    { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true },\n    Title,\n    PersistentService,\n    {\n      provide: HTTP_INTERCEPTORS,\n      useFactory: function (router: Router, cookieService: CookieService) {\n        return new ApiInterceptor(router, cookieService);\n      },\n      multi: true,\n      deps: [Router, CookieService]\n    },\n    AuthGuard,\n    LoggedInAuthGuard\n  ],\n  exports: [\n    MatDialogModule\n  ],\n  bootstrap: [AppComponent],\n\n})\nexport class AppModule { }\n\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\n  return new TranslateHttpLoader(http);\n}","import { Component, OnInit, Input } from '@angular/core';\nimport { SwiperConfigInterface, SwiperPaginationInterface } from 'ngx-swiper-wrapper';\n\n@Component({\n  selector: 'app-main-carousel',\n  templateUrl: './main-carousel.component.html',\n  styleUrls: ['./main-carousel.component.scss']\n})\nexport class MainCarouselComponent implements OnInit {\n  @Input('slides') slides: Array<any> = [];\n  public config: SwiperConfigInterface = {};\n  private pagination: SwiperPaginationInterface = {\n    el: '.swiper-pagination',\n    clickable: true\n  };\n  constructor() { }\n  ngOnInit() {  \n  }\n  ngAfterViewInit(){\n    this.config = {\n      slidesPerView: 1,\n      spaceBetween: 0,\n      initialSlide: 5,\n      keyboard: true,\n      navigation: true,\n      pagination: this.pagination,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      autoplay: {\n        delay: 6000,\n        disableOnInteraction: false\n      },\n      speed: 500,\n      effect: \"slide\"\n    }\n  }\n}\n","import { DecimalPipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'isDecimalNumber'\n})\nexport class IsDecimalNumberPipe implements PipeTransform {\n\ttransform(value) {\n\t\tlet numberFilter=new DecimalPipe(\"en-US\");\n\t\tif (value && value.toString().indexOf('.') >= 0) {\n\t\t\treturn numberFilter.transform(value, '2');\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t}\n}","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport $ from 'jquery';\nimport { NotificationService } from '../../services/notification.service';\nimport { RestApiService } from '../../services/restapi.service';\nimport { UserService } from '../../services/user.service';\n@Component({\n  selector: 'app-contact',\n  templateUrl: './contact.component.html',\n  styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n  captchaError = true;\n  contact: any = {};\n  public a: number;\n  captchaRequired: boolean = false;\n  public userService: any={};\n  public b: number;\n  constructor(private domSanitizer:DomSanitizer,public apiService: RestApiService, public notificationService: NotificationService, private titleService: Title, public translate: TranslateService, public user: UserService) {\n    \n  }\n\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle('ContactUS' + ' | ' + text);\n    });\n    this.getCustomerSite();\n  }\n\n  getRandom(reloadCaptcha) {\n    if (reloadCaptcha) {\n      $('#answer').val(null);\n      this.captchaRequired = true;\n      this.captchaError = true;\n    }\n    var numbers = new Array();\n    for (var i = 1; i < 100; i++) {\n      numbers.push(i);\n    }\n    this.a = numbers[Math.floor(Math.random() * numbers.length)];\n    this.b = numbers[Math.floor(Math.random() * numbers.length)];\n    setTimeout(() => {\n      document.getElementById('captchaQuestion').innerHTML = this.a + '+' + this.b;\n    }, 1000);\n\n\n  }\n  checkCaptch() {\n\n    if (Number(this.contact.result) == (Number(this.a) + Number(this.b))) {\n      this.captchaError = true;\n    } else {\n      if (this.contact.result == '') {\n        this.captchaError = true;\n      } else {\n        this.captchaError = false;\n      }\n\n\n    }\n  }\n  getCustomerSite() {\n    var req = this.user.userServiceModal.WebAlias || this.user.userServiceModal.enrollerInfo.WebAlias;\n    this.apiService.getWebsiteInformation(req).subscribe((result) =>{\n        try {\n            if ((Number(result.Status) === 0) && result.Data) {\n                this.userService = result.Data;\n                this.getRandom(false);\n            }\n        } catch (ex) {\n\n        }\n    });\n};\n  contactUser() {\n    if (this.captchaError) {\n      var request = {\n        'FirstName': this.contact.FirstName,\n        'LastName': this.contact.LastName,\n        'CustomerId': this.userService.enrollerInfo.CustomerId,\n        'MobilePhone': this.contact.MobilePhone,\n        'Email': this.contact.Email,\n        'Notes': this.contact.Message\n      };\n      this.apiService.createProspect(request).subscribe((result)=> {\n        if (result && result.status == 200) {\n          this.contact = {};\n          setTimeout(() => {\n            $('#closePop').trigger('click');\n          }, 1000);\n          $('#answer').val(null);\n          this.notificationService.success('Success', this.translate.instant('contact_info_added'));\n\n        } else {\n          this.notificationService.error('Error', this.translate.instant('some_error_occur_try_again'));\n        }\n      });\n    }\n\n  };\n  trustHtml(html) {\n    return this.domSanitizer.bypassSecurityTrustHtml(html);\n  }\n\n}\n","export default \".side-list-title {\\n  font-size: 18px;\\n}\\n\\n.side-list-child {\\n  font-size: 16px;\\n  line-height: 37px;\\n}\\n\\nsvg {\\n  height: 20px;\\n  width: 26px;\\n}\\n\\n.text-gray {\\n  color: var(--theme-selected-state) !important;\\n}\\n\\n.rotate {\\n  transition: transform 0.5s;\\n  transform: rotate(180deg);\\n}\\n\\n.rotate-reverse {\\n  transition: transform 0.5s;\\n  transform: rotate(0deg);\\n}\\n\\na.outside-link {\\n  color: #000000DE;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NpZGViYXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxlQUFBO0FBQ0o7O0FBQ0E7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7QUFFSjs7QUFDQTtFQUNJLFlBQUE7RUFDQSxXQUFBO0FBRUo7O0FBQ0E7RUFDSSw2Q0FBQTtBQUVKOztBQUNBO0VBQ0ksMEJBQUE7RUFDQSx5QkFBQTtBQUVKOztBQUNBO0VBQ0ksMEJBQUE7RUFDQSx1QkFBQTtBQUVKOztBQUNBO0VBQ0ksZ0JBQUE7QUFFSiIsImZpbGUiOiJzaWRlYmFyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNpZGUtbGlzdC10aXRsZSB7XG4gICAgZm9udC1zaXplOjE4cHg7XG59XG4uc2lkZS1saXN0LWNoaWxkIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM3cHg7XG59XG5cbnN2ZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyNnB4O1xufVxuXG4udGV4dC1ncmF5IHtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtc2VsZWN0ZWQtc3RhdGUpICFpbXBvcnRhbnQ7IFxufVxuXG4ucm90YXRlIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucm90YXRlLXJldmVyc2Uge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG5hLm91dHNpZGUtbGluayB7XG4gICAgY29sb3I6ICMwMDAwMDBERTtcbn1cbiJdfQ== */\";","export default \"<div class=\\\"main-slider\\\">\\n    <div class=\\\"swiper-container h-100\\\" [swiper]=\\\"config\\\">\\n      <div class=\\\"swiper-wrapper h-100\\\">\\n        <div *ngFor=\\\"let slide of slides\\\" class=\\\"swiper-slide\\\">\\n          <div [attr.data-background]=\\\"slide.image\\\" class=\\\"slide-item swiper-lazy\\\">\\n            <div class=\\\"container sl-wrap\\\">\\n              <div class=\\\"swiper-lazy-preloader swiper-lazy-preloader-white\\\"></div>\\n              <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center left\\\" class=\\\"content\\\">\\n                <h1>{{slide.title}}</h1>\\n                <h3>{{slide.subtitle}}</h3>\\n                <button mat-raised-button color=\\\"primary\\\">Shop now</button>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div class=\\\"swiper-pagination white\\\"></div>\\n      <button mat-mini-fab color=\\\"primary\\\" class=\\\"swiper-button-prev swipe-arrow\\\">\\n        <mat-icon>keyboard_arrow_left</mat-icon>\\n      </button>\\n      <button mat-mini-fab color=\\\"primary\\\" class=\\\"swiper-button-next swipe-arrow\\\">\\n        <mat-icon>keyboard_arrow_right</mat-icon>\\n      </button>\\n    </div>\\n  </div>\";","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'range'\n})\nexport class RangePipe implements PipeTransform {\n\ttransform(input, total) {\n        var total1 = parseInt(total, input);\n        for (var i = 0; i < total1; i++) {\n            input.push(i);\n        }\n        return input;\n    }\n}","export default \".category_menu {\\n  max-width: 201px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21lbnUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSwyQkFBQTtBQUNKIiwiZmlsZSI6Im1lbnUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2F0ZWdvcnlfbWVudXtcbiAgICBtYXgtd2lkdGg6IDIwMXB4ICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { HostedpaymentDialogComponent } from '../model/hostedpayment-dialog/hostedpayment-dialog.component';\nimport { NotificationService } from './notification.service';\nimport { RestApiService } from './restapi.service';\nimport { UserService } from './user.service';\nimport { UniquePipe } from '../pipes/unique.pipe';\nimport * as moment from 'moment';\nimport { UtilityService } from './utility.service';\nimport { CompanyService } from './company.service';\nimport { ConfigService } from './config.service';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class PaymentService {\n    public PaymentDataResponse: any = {};\n    public PaymentTypeResponse: Array<any> = [];\n    public selectedPaymentTypeName = '';\n    public SelectedPaymentTypes: any = {};\n    public OldSelectedPaymentType: any = {};\n    public oldSelectedPaymentTypeName: string = '';\n    public AllowedMethods = [];\n    public SaveMethods = [];\n    public IsFrameReload: boolean;\n    userService: UserServiceModal;\n\n    isModalOpen = false;\n    constructor(public dialog: MatDialog, public notificationService: NotificationService, public user: UserService, public apiService: RestApiService, public utilityService: UtilityService, public companyService: CompanyService, public configService: ConfigService) {\n        this.userService = user.userServiceModal;\n    }\n\n    public getPaymentType(statecode?, countryCode?): Promise<Array<any>> {\n        const getPaymentTypePromise = new Promise((resolve, reject) => {\n            const request = {\n                customerId: 0,\n                storeid: 4,\n              countrycode: countryCode || this.configService.commonData.selectedCountry || 'us',\n                region: statecode || this.userService?.defaultState || \"UT\" \n            };\n            this.apiService.getPaymentMerchants(request).subscribe((result) => {\n                    try {\n                        if (parseInt(result.Status, 10) === 0) {\n                            this.PaymentTypeResponse['AllowedMethods'] = new UniquePipe().transform(result.Data, 'MerchantId');\n                            resolve(this.PaymentTypeResponse);\n                        } else {\n                            this.notificationService.error('error_', result.Message);\n                            reject(result);\n                        }\n                    } catch (ex) {\n\n                        this.notificationService.error('error_', 'error_occured_try_again');\n                        reject(ex);\n                    }\n                }, error => {\n                    reject(error);\n                }, () => {\n\n                });\n        });\n\n        const getCustomerSavedPaymentMethodPromise = new Promise((resolve, reject) => {\n            const request = {\n                customerId: 0,\n                storeId: 4\n            };\n            this.apiService.getCustomerSavedPaymentMethods(request).subscribe((result) => {\n                    try {\n                        if (parseInt(result.Status, 10) === 0) {\n                            this.PaymentTypeResponse['SaveMethods'] = new UniquePipe().transform(result.Data, 'PaymentMethodId');\n                            resolve(this.PaymentTypeResponse);\n                        } else {\n                            this.notificationService.error('error_', result.Message);\n                            reject(result);\n                        }\n                    } catch (ex) {\n                        this.notificationService.error('error_', 'error_occured_try_again');\n                        reject(ex);\n                    }\n                }, error => {\n                    reject(error);\n                }, () => {\n\n                });\n        });\n\n        const res = Promise.all([getPaymentTypePromise, getCustomerSavedPaymentMethodPromise]);\n        return res;\n    }\n\n    public getPaymentData(paymentdata?: any, paymentMethod: any = '', IsApplication: boolean = false) {\n        const dialogConfig = new MatDialogConfig();\n        dialogConfig.role = 'dialog';\n        dialogConfig.width = '720px';\n        const promise = new Promise((resolve, reject) => {\n            const getPaymentDataRequest = {\n                iframeid: 'DsIframe',\n                storeid: 0,\n                CountryCode: this.configService.commonData.selectedCountry || 'us',\n                region: this.userService.shippingAddress?.Region || 'UT',\n                languagecode: this.configService.commonData.selectedLanguage || 'en',\n                customerId: this.userService.customerData.CustomerId || 0\n            };\n            this.apiService.getPaymentMethodIFrameTempUser(getPaymentDataRequest).subscribe((result) => {\n                    try {\n                        if (Number(result.Status) === 0) {\n                            const paymentData = result.Data;\n                            this.PaymentDataResponse = paymentData;\n                            localStorage.setItem('categoryid-username', this.PaymentDataResponse.customerId)\n                            const iframe = this.dialog.open(HostedpaymentDialogComponent, {\n                                data: paymentData,\n                                panelClass: 'hosted_payment-Dialog'\n                            });\n                            iframe.afterClosed().subscribe(result => {\n                                if (result) {\n                                    const newPayment: any = result;\n                                    newPayment.MerchantId = paymentdata.MerchantId;\n                                    if (!IsApplication && (!localStorage.getItem('guestLogin') || localStorage.getItem('guestLogin') == 'false')) {\n                                        this.savePaymentMethod(newPayment);\n                                    }\n                                    else {\n                                        this.getPaymentType();\n                                    }\n                                    const paymentMethods = [];\n                                    const editingPaymentMethod = paymentMethod;\n                                    if (editingPaymentMethod) {\n                                        paymentMethods.splice(paymentMethods.indexOf(editingPaymentMethod), 1, newPayment);\n                                        this.userService.paymentMethods = paymentMethods;\n                                    } else if (paymentMethods.length >= 2) {\n                                        paymentMethods.splice(paymentMethods.indexOf(editingPaymentMethod), paymentMethods.length - 1, newPayment);\n                                    } else {\n                                        // newPayment.CardType = newPayment.type;\n                                        // newPayment.Last4 = newPayment.lastFour;\n                                        // newPayment.ExpireMonth = newPayment.expireMonth;\n                                        // newPayment.ExpireYear = newPayment.expireYear;\n                                        newPayment.CardType = newPayment.type || newPayment.cardType;\n                                        newPayment.Last4 = newPayment.lastFour || newPayment.token.lastFour;\n                                        newPayment.ExpireMonth = newPayment.expireMonth || newPayment.card.expirationMonth;\n                                        newPayment.ExpireYear = newPayment.expireYear || newPayment.card.expirationYear;\n                                        newPayment.token = newPayment.token.token || newPayment.token;\n                                        paymentMethods.push(newPayment);\n                                        this.selectedPaymentTypeName = newPayment.CardType + ' ' + newPayment.Last4;\n                                        this.userService.paymentMethods = paymentMethods;\n                                        \n                                    }\n                                    this.userService.isPaymentChanged = true;\n                                    localStorage.setItem('userService', JSON.stringify(this.userService));\n                                    return;\n                                }\n                            });\n                            iframe.afterOpened().subscribe(result => {\n                                this.isModalOpen = true;\n                            });\n                            resolve(result);\n                        } else {\n                            this.notificationService.error('error_', result.ErrorDescription);\n                            reject(result);\n                        }\n                    } catch (ex) {\n\n                        this.notificationService.error('error_', 'error_occured_try_again');\n                        reject(ex);\n                    }\n                }, (error) => {\n                    reject(error);\n                }, () => {\n\n                });\n        });\n        return promise;\n    }\n\n    public savePaymentMethod(payment) {\n        const promise = new Promise((resolve, reject) => {\n            const request = {\n                customerId: 0,\n                createPaymentMethod: {\n                    MerchantId: payment.MerchantId || 99,\n                    PaymentToken: payment.token,\n                    CardType: payment.type,\n                    NameOnAccount: payment.billingInfo.fullName || '',\n                    Ending: payment.lastFour,\n                    Expires: moment({ year: payment.expireYear, month: (parseInt(payment.expireMonth, 10) - 1), day: parseInt(moment().format('D'), 10) }).format(),\n                    CurrencyCode: this.companyService.selectedCurrency.CurrencyCode\n                }\n            };\n            this.apiService.createPaymentMethod(request).subscribe((response) => {\n                const result = response.Data;\n                if (response.Status.toString() !== '0') {\n                    reject(response.ErrorDescription);\n                    return;\n                }\n                this.getPaymentType();\n                resolve(result);\n            });\n        });\n        return promise;\n    }\n\n    public clearPayment() {\n        this.PaymentDataResponse = {};\n        this.PaymentTypeResponse = [];\n        this.selectedPaymentTypeName = '';\n        this.SelectedPaymentTypes = {};\n        this.OldSelectedPaymentType = {};\n        this.AllowedMethods = [];\n        this.SaveMethods = [];\n        localStorage.setItem('paymentService', JSON.stringify({}));\n    }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { map } from 'rxjs/operators';\nimport { Observable, BehaviorSubject, Subscriber } from 'rxjs';\n\n// Get product from Localstorage\nlet products = JSON.parse(localStorage.getItem(\"cartItem\")) || [];\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CartService {\n\n// Array\npublic cartItems  :  BehaviorSubject<CartItem[]> = new BehaviorSubject([]);\npublic observer   :  Subscriber<{}>;\n\n  constructor(public snackBar: MatSnackBar) {\n    this.cartItems.subscribe(\n      products => products = products\n    );\n   }\n\n    // Get Products\n  public getItems(): Observable<CartItem[]> {\n    const itemsStream = new Observable(observer => {\n      observer.next(products);\n      observer.complete();\n    });\n    return <Observable<CartItem[]>>itemsStream;\n  }\n\n   // Add to cart\n   public addToCart(product: any, quantity: number) {\n    let message, status;\n     var item: CartItem | boolean = false;\n     // If Products exist\n     let hasItem = products.find((items, index) => {\n       if(items.product.Id == product.Id) {\n         let qty = products[index].quantity + quantity;\n         let stock = this.calculateStockCounts(products[index], quantity);\n         if(qty != 0 && stock) {\n           products[index]['quantity'] = qty;\n           message = 'The product ' + product.Languages[0].ProductName + ' has been added to cart.';\n           status = 'success';\n           this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\n         }\n         return true;\n       }\n     } );\n\n     // If Products does not exist (Add New Products)\n     if(!hasItem) {\n      item = { product: product, quantity: quantity };\n      products.push(item);\n      message = 'The product ' + product.name + ' has been added to cart.';\n      status = 'success';\n      this.snackBar.open(message, '×', { panelClass: [status], verticalPosition: 'top', duration: 3000 });\n  }\n\n     localStorage.setItem(\"cartItem\", JSON.stringify(products));\n     return item;\n\n   }\n\n// Calculate Product stock Counts\npublic calculateStockCounts(product: CartItem, quantity): CartItem | Boolean {\n  let message, status;\n  let qty   = product.quantity + quantity;\n  let stock = product.product.stock;\n  if(stock < qty) {\n   this.snackBar.open('You can not choose more items than available. In stock ' + stock + ' items.', '×', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\n    return false\n  }\n  return true\n}\n\n\n\n\n\n// Removed in cart\npublic removeFromCart(item: CartItem) {\n  if (item === undefined) return false;\n    const index = products.indexOf(item);\n    products.splice(index, 1);\n    localStorage.setItem(\"cartItem\", JSON.stringify(products));\n}\n\n// Total amount\npublic getTotalAmount(): Observable<number> {\n  return this.cartItems.pipe(map((product: CartItem[]) => {\n    return products.reduce((prev, curr: CartItem) => {\n      return prev + curr.product.price * curr.quantity;\n    }, 0);\n  }));\n}\n\n// Update Cart Value\npublic updateCartQuantity(product: Product, quantity: number): CartItem | boolean {\n  return products.find((items, index) => {\n    if(items.product.id == product.id) {\n      let qty = products[index].quantity + quantity;\n      let stock = this.calculateStockCounts(products[index], quantity);\n      if (qty != 0 && stock)\n        products[index]['quantity'] = qty;\n      localStorage.setItem(\"cartItem\", JSON.stringify(products));\n      return true;\n    }\n  });\n}\npublic isReviewOrderDisabled(dd?:any){\n\n}\npublic isReviewOrderDisabledQTY(dd?:any){\n\n}\n \n\n\n}\n","export default \"<h1 mat-dialog-title>\\n    {{title}}\\n  </h1>\\n  \\n  <div mat-dialog-content>\\n    <p>{{message}}</p>\\n  </div>\\n  \\n  <div mat-dialog-actions>\\n    <button mat-button (click)=\\\"onDismiss()\\\" *ngIf=\\\"noaction\\\">{{noaction}}</button>\\n    <button mat-raised-button color=\\\"primary\\\" *ngIf=\\\"takeaction\\\" (click)=\\\"onConfirm()\\\" >{{takeaction}}</button>\\n\\n  </div>\";","export default \".slideshow {\\n  width: 100%;\\n  cursor: grab;\\n}\\n.slideshow video {\\n  width: 100%;\\n  height: 75vh;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  position: relative;\\n  z-index: 0;\\n}\\n.slideshow .video-container {\\n  position: relative;\\n}\\n.slideshow .content {\\n  position: absolute;\\n  top: 35%;\\n  left: 3%;\\n  z-index: 1;\\n}\\n.home-1-wrap {\\n  background-color: white !important;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n.shop-btn {\\n  background: var(--theme-deafult-secondary);\\n  border-radius: 23px;\\n  display: inline-block;\\n  padding: 15px 32px;\\n  cursor: pointer;\\n}\\n.shop-btn:hover {\\n  background-color: var(--theme-deafult-secondary);\\n}\\n.vh-90 {\\n  height: 100vh;\\n}\\n.img-bg {\\n  flex: none !important;\\n  background-size: cover;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  height: 560px;\\n}\\n.img-bg2 {\\n  flex: none !important;\\n  background-size: cover;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n}\\n.h-661 {\\n  height: 661px !important;\\n}\\n.light-block {\\n  background-color: rgba(0, 0, 0, 0.41) !important;\\n  width: 100% !important;\\n  height: 100% !important;\\n  place-content: center !important;\\n}\\n.d-none {\\n  opacity: 0;\\n}\\n.faded-in {\\n  animation: fadeIn 0.6s;\\n}\\n@keyframes fadeIn {\\n  0% {\\n    opacity: 0;\\n    transform: translateY(16px);\\n  }\\n  100% {\\n    opacity: 1;\\n    transform: translateY(0px);\\n  }\\n}\\n.faded-out {\\n  animation: fadeOut 0.6s;\\n}\\n@keyframes fadeOut {\\n  0% {\\n    opacity: 1;\\n    transform: translateY(0px);\\n  }\\n  100% {\\n    opacity: 0;\\n    transform: translateY(16px);\\n  }\\n}\\n.productIn {\\n  animation: productIn 0.6s;\\n}\\n@keyframes productIn {\\n  0% {\\n    opacity: 0.5;\\n  }\\n  100% {\\n    opacity: 0;\\n  }\\n}\\n.product-button {\\n  margin: 20px;\\n  padding: 6px 32px !important;\\n  background-color: var(--theme-deafult-secondary) !important;\\n  color: white !important;\\n}\\n.product-button:hover {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n.sale {\\n  padding: 10px 17px;\\n  background-color: #CF2929;\\n  border-radius: 23px;\\n  display: inline;\\n  color: white;\\n}\\n.text-end {\\n  text-align: end;\\n}\\n.bg-white-smoke {\\n  background-color: #f0f0f0;\\n}\\n.vl {\\n  border-left: 1px solid #dddddd;\\n  height: 200px;\\n}\\n.img-hover {\\n  overflow: hidden;\\n}\\n.img-hover img {\\n  transition: 0.5s all ease-in-out;\\n  cursor: pointer;\\n}\\n.img-hover:hover img {\\n  transform: scale(1.1);\\n}\\n.bg-img img {\\n  width: 100%;\\n  height: 570px;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  -o-object-position: bottom;\\n     object-position: bottom;\\n}\\n.p-relative {\\n  position: relative !important;\\n}\\n.p-absolute {\\n  position: absolute !important;\\n}\\n.p-abs {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  background: rgba(0, 0, 0, 0.2);\\n}\\n.p-content-div {\\n  top: 30%;\\n  left: 3%;\\n}\\n.w-35 {\\n  width: 35%;\\n}\\n.abs-width {\\n  width: 100%;\\n  left: 5%;\\n}\\n.w-89 {\\n  width: 89%;\\n}\\n.slider-img {\\n  width: 100% !important;\\n  -o-object-fit: cover !important;\\n     object-fit: cover !important;\\n  -o-object-position: top !important;\\n     object-position: top !important;\\n}\\n.top-left {\\n  top: 5%;\\n  left: 3%;\\n}\\n.top-0 {\\n  top: 0;\\n}\\n.p-fixed {\\n  bottom: 4%;\\n  position: fixed;\\n}\\n.is-visible {\\n  display: block;\\n}\\n.is-open {\\n  transform: translateY(0px);\\n  opacity: 1;\\n}\\n@media (min-width: 0px) and (max-width: 960px) {\\n  .img-bg {\\n    height: 320px !important;\\n  }\\n}\\n.a-hover {\\n  text-decoration: underline;\\n}\\n.a-hover:hover {\\n  opacity: 0.6;\\n}\\n@media (min-width: 0px) and (max-width: 960px) {\\n  .img-bg {\\n    height: 320px !important;\\n  }\\n\\n  .d-none {\\n    opacity: 1 !important;\\n  }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2hvbWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQUNKO0FBQUk7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QUFFUjtBQUFJO0VBQ0ksa0JBQUE7QUFFUjtBQUFJO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QUFFUjtBQUVBO0VBQ0ksa0NBQUE7RUFDQSxtREFBQTtBQUNKO0FBQ0E7RUFDSSwwQ0FBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUFFSjtBQUFBO0VBQ0ksZ0RBQUE7QUFHSjtBQURBO0VBQ0ksYUFBQTtBQUlKO0FBRkE7RUFDSSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMkJBQUE7RUFDQSxhQUFBO0FBS0o7QUFIQTtFQUNJLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtBQU1KO0FBSkE7RUFDSSx3QkFBQTtBQU9KO0FBTEE7RUFDSSxnREFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQ0FBQTtBQVFKO0FBTkE7RUFDSSxVQUFBO0FBU0o7QUFOQTtFQUNFLHNCQUFBO0FBU0Y7QUFORTtFQUNJO0lBQUksVUFBQTtJQUFZLDJCQUFBO0VBV3BCO0VBVkU7SUFBTSxVQUFBO0lBQVksMEJBQUE7RUFjcEI7QUFDRjtBQWJBO0VBQ0UsdUJBQUE7QUFlRjtBQVpFO0VBQ0k7SUFBSSxVQUFBO0lBQVksMEJBQUE7RUFpQnBCO0VBaEJJO0lBQU0sVUFBQTtJQUFZLDJCQUFBO0VBb0J0QjtBQUNGO0FBbkJBO0VBQ0kseUJBQUE7QUFxQko7QUFuQkE7RUFDSTtJQUFJLFlBQUE7RUF1Qk47RUF0QkE7SUFBTSxVQUFBO0VBeUJOO0FBQ0Y7QUF4QkE7RUFDSSxZQUFBO0VBQ0EsNEJBQUE7RUFDQSwyREFBQTtFQUNBLHVCQUFBO0FBMEJKO0FBeEJBO0VBQ0ksMkRBQUE7QUEyQko7QUF6QkE7RUFDSSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBQTRCSjtBQTFCQTtFQUNJLGVBQUE7QUE2Qko7QUEzQkE7RUFDRyx5QkFBQTtBQThCSDtBQTVCQTtFQUNJLDhCQUFBO0VBQ0EsYUFBQTtBQStCSjtBQTVCRTtFQUNFLGdCQUFBO0FBK0JKO0FBN0JFO0VBQ0UsZ0NBQUE7RUFDQSxlQUFBO0FBZ0NKO0FBN0JBO0VBQ0kscUJBQUE7QUFnQ0o7QUE5QkE7RUFDSSxXQUFBO0VBQ0EsYUFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7RUFDQSwwQkFBQTtLQUFBLHVCQUFBO0FBaUNKO0FBL0JBO0VBQ0ksNkJBQUE7QUFrQ0o7QUFoQ0E7RUFDSSw2QkFBQTtBQW1DSjtBQWpDQTtFQUNJLGtCQUFBO0VBRUEsV0FBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTtBQW1DSjtBQWpDQTtFQUNJLFFBQUE7RUFDQSxRQUFBO0FBb0NKO0FBakNBO0VBQ0ksVUFBQTtBQW9DSjtBQWxDQTtFQUNJLFdBQUE7RUFDQSxRQUFBO0FBcUNKO0FBbkNBO0VBQ0ksVUFBQTtBQXNDSjtBQXBDQTtFQUNJLHNCQUFBO0VBQ0EsK0JBQUE7S0FBQSw0QkFBQTtFQUNBLGtDQUFBO0tBQUEsK0JBQUE7QUF1Q0o7QUFyQ0E7RUFDSSxPQUFBO0VBQ0EsUUFBQTtBQXdDSjtBQXRDQTtFQUNJLE1BQUE7QUF5Q0o7QUF2Q0E7RUFDSSxVQUFBO0VBQ0EsZUFBQTtBQTBDSjtBQXhDQTtFQUNJLGNBQUE7QUEyQ0o7QUF6Q0U7RUFDRSwwQkFBQTtFQUNBLFVBQUE7QUE0Q0o7QUF6Q0U7RUFDRTtJQUNJLHdCQUFBO0VBNENOO0FBQ0Y7QUExQ0E7RUFDSSwwQkFBQTtBQTRDSjtBQTFDQTtFQUNJLFlBQUE7QUE2Q0o7QUEzQ0E7RUFDSTtJQUNJLHdCQUFBO0VBOENOOztFQTVDRTtJQUNJLHFCQUFBO0VBK0NOO0FBQ0YiLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zbGlkZXNob3d7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIHZpZGVve1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA3NXZoO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6MDtcbiAgICB9XG4gICAgLnZpZGVvLWNvbnRhaW5lcntcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOjM1JTtcbiAgICAgICAgbGVmdDozJTtcbiAgICAgICAgei1pbmRleDoxO1xuICAgIH1cbn1cblxuLmhvbWUtMS13cmFwe1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuLnNob3AtYnRue1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWRlYWZ1bHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDMycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNob3AtYnRuOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWRlYWZ1bHQtc2Vjb25kYXJ5KTtcbn1cbi52aC05MHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xufVxuLmltZy1iZ3tcbiAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDU2MHB4O1xufVxuLmltZy1iZzJ7XG4gICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4uaC02NjF7XG4gICAgaGVpZ2h0OiA2NjFweCAhaW1wb3J0YW50O1xufVxuLmxpZ2h0LWJsb2Nre1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCwwLjQxKSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4uZC1ub25le1xuICAgIG9wYWNpdHk6IDA7XG59XG4gIFxuLmZhZGVkLWluIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW4gMC42cztcbi8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpO1xuICB9XG4gIEBrZXlmcmFtZXMgZmFkZUlue1xuICAgICAgMCUge29wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KX1cbiAgICAxMDAlIHtvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KX1cbiAgfVxuLmZhZGVkLW91dCB7XG4gIGFuaW1hdGlvbjogZmFkZU91dCAwLjZzO1xuLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XG4gIH1cbiAgQGtleWZyYW1lcyBmYWRlT3V0e1xuICAgICAgMCUge29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpfVxuICAgICAgMTAwJSB7b3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpfVxuICB9XG4ucHJvZHVjdElue1xuICAgIGFuaW1hdGlvbjogcHJvZHVjdEluIDAuNnM7XG59XG5Aa2V5ZnJhbWVzIHByb2R1Y3RJbntcbiAgICAwJSB7b3BhY2l0eTogMC41OyB9XG4gIDEwMCUge29wYWNpdHk6IDA7IH1cbn1cbi5wcm9kdWN0LWJ1dHRvbntcbiAgICBtYXJnaW46IDIwcHg7XG4gICAgcGFkZGluZzogNnB4IDMycHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn0gIFxuLnByb2R1Y3QtYnV0dG9uOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWRlYWZ1bHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuLnNhbGV7XG4gICAgcGFkZGluZzogMTBweCAxN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDRjI5Mjk7XG4gICAgYm9yZGVyLXJhZGl1czogMjNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuLnRleHQtZW5ke1xuICAgIHRleHQtYWxpZ246IGVuZDtcbn1cbi5iZy13aGl0ZS1zbW9rZXtcbiAgIGJhY2tncm91bmQtY29sb3I6ICByZ2IoMjQwLCAyNDAsIDI0MCk7XG59XG4udmwge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZGRkZDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICB9XG5cbiAgLmltZy1ob3ZlcntcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5pbWctaG92ZXIgaW1ne1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGVhc2UtaW4tb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICB9XG4uaW1nLWhvdmVyOmhvdmVyIGltZ3tcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG4uYmctaW1nIGltZ3tcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU3MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xufVxuLnAtcmVsYXRpdmV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4ucC1hYnNvbHV0ZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cbi5wLWFic3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gbGVmdDogMyU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IDAuMik7XG59XG4ucC1jb250ZW50LWRpdntcbiAgICB0b3A6IDMwJTtcbiAgICBsZWZ0OiAzJTtcbiAgICAvLyB3aWR0aDogMzUlO1xufVxuLnctMzV7XG4gICAgd2lkdGg6IDM1JTtcbn1cbi5hYnMtd2lkdGh7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogNSU7XG59XG4udy04OXtcbiAgICB3aWR0aDogODklXG59XG4uc2xpZGVyLWltZ3tcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgIWltcG9ydGFudDtcbn1cbi50b3AtbGVmdHtcbiAgICB0b3A6IDUlO1xuICAgIGxlZnQ6IDMlO1xufVxuLnRvcC0we1xuICAgIHRvcDogMDtcbn1cbi5wLWZpeGVke1xuICAgIGJvdHRvbTogNCU7XG4gICAgcG9zaXRpb246IGZpeGVkXG59XG4uaXMtdmlzaWJsZXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtb3BlbntcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLmltZy1iZ3tcbiAgICAgICAgaGVpZ2h0OiAzMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5hLWhvdmVye1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmEtaG92ZXI6aG92ZXJ7XG4gICAgb3BhY2l0eTogMC42O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLmltZy1iZ3tcbiAgICAgICAgaGVpZ2h0OiAzMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuZC1ub25le1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIl19 */\";","import { cloneDeep } from 'lodash';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport * as _ from 'lodash';\nimport { environment } from '../../../../environments/environment';\nimport { RestApiService } from './restapi.service';\nimport { User } from 'src/app/modals/user.modal';\nimport { UserServiceModal, ShippingAddress } from 'src/app/modals/userservice.modal';\nimport { ConfigService } from './config.service';\nimport { UserService } from './user.service';\nimport { NotificationService } from './notification.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { UtilityService } from './utility.service';\n\n@Injectable({ providedIn: 'root' })\nexport class AccountService {\n  private userSubject: BehaviorSubject<User>;\n  public user: Observable<User>;\n  userServiceModal: UserServiceModal;\n\n  constructor(\n    private router: Router,\n    private http: HttpClient,\n    public apiService: RestApiService,\n    public configService: ConfigService,\n    public userService: UserService,\n    public notificationService: NotificationService,\n    private cookieService: CookieService,\n    private utilityService: UtilityService\n\n  ) {\n    this.userSubject = new BehaviorSubject<User>(JSON.parse(localStorage.getItem('user')));\n    this.user = this.userSubject.asObservable();\n    this.userServiceModal = this.userService.userServiceModal;\n  }\n\n  public get userValue(): User {\n    return this.userSubject.value;\n  }\n\n  login(loginrequest) {\n    return this.apiService.Login(loginrequest)\n      .pipe(map(user => {\n        // store user details and jwt token in local storage to keep user logged in between page refreshes\n        localStorage.setItem('user', JSON.stringify(user.body));\n        this.userSubject.next(user.body);\n        return user;\n      }));\n  }\n  createGuestUser(createGuestRequest) {\n    return this.apiService.createCustomer(createGuestRequest)\n      .pipe(map(user => {\n        // store user details and jwt token in local storage to keep user logged in between page refreshes\n        localStorage.setItem('user', JSON.stringify(user));\n        this.userSubject.next(user);\n        return user;\n      }));\n  }\n\n  logout() {\n    this.cookieService.delete('X-Auth', '/');\n    this.cookieService.deleteAll('/');\n    // remove user from local storage and set current user to null\n    this.apiService.Logout().subscribe(() => {\n      this.router.navigate(['/login']).then(() => {\n      localStorage.removeItem('user');\n      localStorage.clear();\n      sessionStorage.clear();\n      this.userService.setDefault();\n      this.userSubject.next(null);\n      window.location.reload();\n      });\n    });\n  }\n\n  register(user: User) {\n    return this.http.post(`${environment.apiUrl}/users/register`, user);\n  }\n\n  getCustomerData(customerID?:any) {\n    const promise = new Promise((resolve, reject) => {\n      this.apiService.getCustomer(customerID).subscribe((result) => {\n        if (result && result.Data) {\n          this.userServiceModal.customerData = result.Data;\n          if (!this.configService.commonData.selectedLanguage ||\n            (this.configService.commonData.selectedLanguage && this.configService.commonData.selectedCountry.toLowerCase() !== result.Data.DefaultShippingAddress?.CountryCode)){\n          _.each(this.configService.countryLanguageCode, (item) => {\n              if (item.CountryCode == result.Data.DefaultShippingAddress?.CountryCode &&\n                item.CountryLanguages.filter((val) => {\n                return (val.LanguageCode == result.Data.LanguageCode); }\n                )) {\n                this.configService.commonData.selectedLanguage = item.LanguageCode || result.Data.LanguageCode;\n              }\n            });\n          }\n          // for autologin\n          if (this.userServiceModal.customerData.LanguageCode) {\n            this.configService.commonData.selectedLanguage = this.userServiceModal.customerData.LanguageCode;\n          }\n          this.configService.setSelectedCountry(this.userServiceModal.customerData.DefaultShippingAddress?.CountryCode || this.userServiceModal.customerData.PrimaryAddress?.CountryCode, this.configService.commonData.selectedLanguage);\n          this.userServiceModal.shippingAddress = !this.utilityService.isEmptyObject(this.userServiceModal.customerData.DefaultShippingAddress) ?\n            cloneDeep(this.userServiceModal.customerData.DefaultShippingAddress) : {};\n\n          if (this.userServiceModal.customerData.DefaultShippingAddress.Street1 == 'No Address on file') {\n            // check if loginned user have address saved\n            this.userServiceModal.customerData.DefaultShippingAddress = [];\n            this.userServiceModal.shippingAddress = {} as ShippingAddress;\n          }\n\n          try {\n            resolve(result);\n          } catch (ex) {\n            reject();\n            console.error('ex', ex);\n          }\n        } else {\n          reject();\n          this.notificationService.error('error_', result.ErrorDescription);\n        }\n      });\n    });\n    return promise;\n  }\n  isLoggedIn(): boolean{\n    let isLoggedIn = false;\n    this.apiService.loginStatus.subscribe(val => {\n      alert();\n      isLoggedIn =  val;\n    });\n    return isLoggedIn;\n  }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'addsymbolwithnumber'\n})\nexport class AddSymbolWithNumberPipe implements PipeTransform {\n\ttransform(value, symbol, lastdigitcount, symbolcount) {\n\t\tif (!value) {\n\t\t\treturn '';\n\t\t}\n\t\tvalue = value.substring(value.length - lastdigitcount, value.length);\n\t\tvar maskLength = symbolcount;\n\t\tvar mask = '';\n\t\tfor (var i = 0; i < maskLength; i++) {\n\t\t\tmask += symbol;\n\t\t}\n\t\treturn mask + value;\n\t}\n}\n","export default \"\\n  <div class=\\\"commerce-buttons mat-hover\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n\\n    <button mat-button class=\\\"flex-row-button mat-button hover\\\" (click)=\\\"sideNavBarService.triggerOpen()\\\" fxLayoutAlign=\\\"space-between center\\\">\\n      <div class=\\\"mat-button-wrapper h-32\\\">\\n          <div class=\\\"c-white\\\">\\n              <span class=\\\"icon\\\">\\n                <svg width=\\\"24px\\\" viewBox=\\\"0 0 24 24\\\">\\n                  <path d=\\\"M0 0h24v24H0V0z\\\" fill=\\\"none\\\"></path><path d=\\\"M15.55 13c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.37-.66-.11-1.48-.87-1.48H5.21l-.94-2H1v2h2l3.6 7.59-1.35 2.44C4.52 15.37 5.48 17 7 17h12v-2H7l1.1-2h7.45zM6.16 6h12.15l-2.76 5H8.53L6.16 6zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z\\\" fill=\\\"currentColor\\\"></path>\\n                </svg>\\n              </span>\\n              <span class=\\\"cart-count-wrapper c-white\\\" [textContent]=\\\"getQuanity()\\\"></span>\\n            </div>\\n      </div>\\n    </button>\\n   </div>\\n\\n\";","\n\nimport { Injectable } from '@angular/core';\nimport * as _ from 'lodash';\nimport { RetailData } from 'src/app/modals/storage.modal';\nimport { UtilityService } from './utility.service';\n\n\n@Injectable({\n    providedIn: 'root'\n})\n/**\n * Persistent service\n * used for persist application data in observable key value pair\n */\nexport class PersistentService {\n    retailData: RetailData;\n    constructor(\n        public utilityService: UtilityService\n        ) {\n        this.getRetailData();\n    }\n\n    init() {\n        this.retailData = {\n            isNewAutoship: false,\n            CurrentSelectedAutoOrder: 0,\n            isChanged: false,\n            AddMoreItemInAutoshipFlag: false,\n            AddMoreItemInAutoshipData: {},\n            editAutoshipItems: [],\n            uniqueCategoryId: 0,\n            IsPaid: false,\n            SelectedAutoshipPayment: {\n                PaymentTypeID: '',\n                Name: '',\n                Ending: '',\n                PaymentDisplay: '',\n                ExpireMonth: '',\n                ExpireYear: '',\n                BillingAddress: '',\n                BillingAddress2: '',\n                BillingCity: '',\n                BillingCountry: '',\n                BillingState: '',\n                BillingZip: ''\n            },\n            Autoship: {\n                Frequency: '',\n                FrequencyTypeDescription: '',\n                FrequencyTypeID: 0\n            },\n            autoshipDate: '',\n            isNewAddress: '',\n            isAddresschanged: false,\n            IsMailingAddressVerified: false,\n            AutoOrderShippingAddress: {},\n        } as RetailData;\n    }\n\n    setRetailData(){\n        localStorage.setItem('retailData', JSON.stringify(this.retailData));\n        this.getRetailData();\n    }\n\n    getRetailData(){\n        this.retailData = JSON.parse(localStorage.getItem('retailData'));\n        if (!this.retailData || this.utilityService.isEmptyObject(this.retailData)) {\n            this.init();\n        }\n    }\n}\n","export default \"<div class=\\\"product-item-2 swiper-container\\\" [swiper]=\\\"config\\\" >\\n    <div class=\\\"swiper-wrapper h-100\\\"> \\n        <div *ngFor=\\\"let product of product\\\" class=\\\"swiper-slide\\\">\\n            <mat-card fxLayout=\\\"column\\\">\\n               <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n              *ngIf=\\\"!contentLoaded\\\"\\n                count=\\\"1\\\"\\n                [theme]=\\\"{ width: '180px', 'border-radius': '0', height: '180px' }\\\"\\n              ></ngx-skeleton-loader>\\n                <div class=\\\"product-img\\\" *ngIf=\\\"contentLoaded\\\">\\n                    <a class=\\\"product-link\\\" (click)=\\\"changeProductDetail(product.ItemID)\\\">\\n                      <img [default]=\\\"'assets/images/product/no-img.png'\\\" [src]=\\\"configService.localSettings.Disco.DiscoUrl+product.ImageUrl\\\" alt=\\\"\\\">\\n                   </a>\\n                </div>\\n                 <div class=\\\"product-info-wrapper\\\">\\n                  <ngx-skeleton-loader loadingText=\\\"Ziplingo\\\"\\n                  *ngIf=\\\"!contentLoaded\\\"\\n                    count=\\\"2\\\"\\n                    [theme]=\\\"{ 'border-radius': '0', height: '20px' }\\\"\\n                  ></ngx-skeleton-loader>\\n                    <div class=\\\"title-wrap\\\" *ngIf=\\\"contentLoaded\\\">\\n                       <h4 class=\\\"color1-f-s-10\\\">{{product?.ProductName}}</h4>\\n                    </div>\\n                    <div *ngIf=\\\"contentLoaded\\\" class=\\\"\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n                     <p class=\\\"color-f-s-10\\\" *ngIf=\\\"product && product.Prices && product.Prices.length>0\\\">{{product?.Prices[0].Price | currency : companyService.selectedCurrency.CurrencyCode}}</p>\\n                  </div> \\n                 </div>\\n              </mat-card>\\n        </div>\\n    </div>\\n    <button mat-mini-fab class=\\\"swiper-button-prev swipe-arrow l-20\\\"><mat-icon>keyboard_arrow_left</mat-icon></button>\\n    <button mat-mini-fab class=\\\"swiper-button-next swipe-arrow\\\"><mat-icon>keyboard_arrow_right</mat-icon></button>\\n  </div>\\n\";","export default \".user-type-select-btn {\\n  padding: 9px;\\n  display: block;\\n  font-size: 11px;\\n  letter-spacing: 0;\\n  color: #fff;\\n  opacity: 0.7;\\n  border: none;\\n  position: absolute;\\n  width: calc(100% - 40px);\\n  bottom: 17px;\\n  line-height: 15px;\\n}\\n\\n.user-type-box .user-type-wrapper .user-types .user-type-detail {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-size: 12px;\\n  font-weight: 300;\\n  letter-spacing: 0.07px;\\n  color: #3b4e60;\\n}\\n\\n.user-type-heading {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-size: 14px;\\n  font-weight: 700;\\n  letter-spacing: -0.4px;\\n  color: #3b4e60;\\n}\\n\\n#status-user-type-1 {\\n  order: 1;\\n}\\n\\n.user-type {\\n  order: 10;\\n  height: auto;\\n  min-height: 245px;\\n  opacity: 1;\\n  background: #fff 0 0 no-repeat padding-box;\\n  border: none !important;\\n  padding: 17px !important;\\n  position: relative;\\n  margin-right: 10px !important;\\n}\\n\\n.user-types {\\n  justify-content: flex-start;\\n  align-items: center;\\n  flex: 1;\\n  display: flex;\\n  overflow-x: auto;\\n  overflow: hidden;\\n  overflow-y: hidden;\\n  position: relative;\\n}\\n\\n.user-type-wrapper {\\n  margin-top: 6px;\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: flex-start;\\n  height: 221px;\\n  overflow: hidden;\\n}\\n\\n.user-type-box-heading {\\n  font-weight: 400;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n  font-size: 15px;\\n  letter-spacing: -0.38px;\\n  color: #3b4e60;\\n  text-transform: uppercase;\\n}\\n\\n.user-type-box {\\n  padding: 10px;\\n}\\n\\n.user-type-detail {\\n  font-size: 12px;\\n  font-weight: 300;\\n  letter-spacing: 0.07px;\\n  color: #3b4e60;\\n  height: 220px !important;\\n}\\n\\n.borderBox mat-card {\\n  border: 2px solid var(--theme-deafult) !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2N1c3RvbWVyLXR5cGUtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUFDSjs7QUFDQTtFQUNJLHdDQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0FBRUo7O0FBQUE7RUFDSSx3Q0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBQUdKOztBQURBO0VBRUksUUFBQTtBQUlKOztBQUZBO0VBRUksU0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSwwQ0FBQTtFQUNBLHVCQUFBO0VBQ0Esd0JBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0FBS0o7O0FBSEE7RUFFSSwyQkFBQTtFQUVBLG1CQUFBO0VBRUEsT0FBQTtFQUVBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBQU1KOztBQUpBO0VBQ0ksZUFBQTtFQUVBLGFBQUE7RUFFQSw4QkFBQTtFQUVBLHVCQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0FBT0o7O0FBTEE7RUFDSSxnQkFBQTtFQUNBLHdDQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0FBUUo7O0FBTkE7RUFDSSxhQUFBO0FBU0o7O0FBUEE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7RUFDQSx3QkFBQTtBQVVKOztBQVJBO0VBQ0ksaURBQUE7QUFXSiIsImZpbGUiOiJjdXN0b21lci10eXBlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnVzZXItdHlwZS1zZWxlY3QtYnRuIHtcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IC43O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIGJvdHRvbTogMTdweDtcbiAgICBsaW5lLWhlaWdodDoxNXB4O1xufVxuLnVzZXItdHlwZS1ib3ggLnVzZXItdHlwZS13cmFwcGVyIC51c2VyLXR5cGVzIC51c2VyLXR5cGUtZGV0YWlsIHtcbiAgICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDdweDtcbiAgICBjb2xvcjogIzNiNGU2MDtcbn1cbi51c2VyLXR5cGUtaGVhZGluZyB7XG4gICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS40cHg7XG4gICAgY29sb3I6ICMzYjRlNjA7XG59XG4jc3RhdHVzLXVzZXItdHlwZS0xIHtcbiAgICAtbXMtZmxleC1vcmRlcjogMTtcbiAgICBvcmRlcjogMTtcbn1cbi51c2VyLXR5cGUge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAxMDtcbiAgICBvcmRlcjogMTA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDI0NXB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAwIDAgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTdweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHghaW1wb3J0YW50O1xufVxuLnVzZXItdHlwZXMge1xuICAgIC1tcy1mbGV4LXBhY2s6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbXMtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udXNlci10eXBlLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC1tcy1mbGV4LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogMjIxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi51c2VyLXR5cGUtYm94LWhlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMzhweDtcbiAgICBjb2xvcjogIzNiNGU2MDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnVzZXItdHlwZS1ib3gge1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG4udXNlci10eXBlLWRldGFpbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wN3B4O1xuICAgIGNvbG9yOiAjM2I0ZTYwO1xuICAgIGhlaWdodDogMjIwcHggIWltcG9ydGFudDtcbn1cbi5ib3JkZXJCb3ggbWF0LWNhcmQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRoZW1lLWRlYWZ1bHQpICFpbXBvcnRhbnQ7XG59Il19 */\";","export interface PersonalInfo {\n    birthDay: number;\n    birthMonth: number;\n    birthYear: number;\n    phoneNumber: string;\n    Email: string;\n}\nexport interface FreeShipping {\n    activated: boolean;\n    coupon: string;\n}\nexport interface CouponInfo {\n    IsAppliedcode: boolean;\n    promoCodeValid: boolean;\n    promoCode: string;\n    Allcoupons: Array<any>;\n    RewardsForUse: Array<any>;\n    FreeShipping: FreeShipping;\n    availableRewards: Array<any>;\n    OrderAllowCoupons: [];\n}\nexport interface CardDetail {\n    CardExpirationYear: number;\n    CardExpirationMonth: number;\n    CardNumber: string;\n}\nexport interface DynamicCouponCode {\n    promoCode: string;\n}\nexport interface ShippingAddress{\n    AddressId: 0;\n    City: string;\n    CountryCode: string;\n    PostalCode: string;\n    Region: string;\n    Street1: string;\n    Street2: string;\n    Street3: string;\n    FirstName: string;\n    LastName: string;\n    Phone: string;\n    StateName: string;\n    FullName?: string;\n}\nexport interface WebOffice{\n        UserName: string;\n        Password: string;\n        DomainName: string;\n        ConfirmPassword: string;\n}\n\nexport class UserServiceModal {\n    selectedLanguageCode: string;\n    selectedCountry: string;\n    WebAlias: string;\n    customerTypeID: number;\n    enrollerInfo: any;\n    guestUserLogin: boolean;\n    customerData: any;\n    guestUserData: any;\n    shippingAddress: ShippingAddress;\n    mailingAddress: any;\n    newshippingAddress: any;\n    personalInfo: PersonalInfo;\n    webOffice: WebOffice;\n    couponInfo: CouponInfo;\n    DynamicCouponCode: DynamicCouponCode;\n    paymentMethods: Array<any>;\n    referralURL: string;\n    restrictedStates: Array<any>;\n    restrictedShipStates: string;\n    selectedShippingMethod: number;\n    shippingMethods: Array<any>;\n    autoshipCardDetail: any;\n    cardDetail: CardDetail;\n    commissionPayment: any;\n    licenseNumber: string;\n    legName: string;\n    enrollerId: number;\n    sponsorId: number;\n    doNotWishAutoship: boolean;\n    checkItems: boolean;\n    autologin: boolean;\n    regionMainState: string;\n    newUser: boolean;\n    TotalSteps: number;\n    noOfStepsVerified: number;\n    defaultState: string;\n    isAddressChanged: boolean = false;\n    isEditAutoshipAddressChanged: boolean = false;\n    isPaymentChanged: boolean = false;\n    isShipMethodChanged: boolean = false;\n    sponsorSectionPanel: boolean = false;\n    isNOTverified_email: boolean = true;\n    constructor(){\n\n    }\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CommonSetting } from 'src/app/modals/commonsetting.modal';\nimport { UserService } from './user.service';\nimport { RestApiService } from './restapi.service';\nimport * as _ from 'lodash';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationService } from './notification.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { CompanyService } from './company.service';\nimport { ShoppingCartService } from './shopping-cart.service';\n\n@Injectable({\n  providedIn: 'root'\n})\n\nexport class ConfigService {\n  public commonSettings: CommonSetting;\n  public localSettings: any;\n  public countryLanguageCode: any = {};\n  public commonData: any = {};\n  public allowedCountries: any;\n  constructor(\n    public user: UserService,\n    public http: HttpClient,\n    public apiService: RestApiService,\n    public translate: TranslateService,\n    public notificationService: NotificationService,\n    public activatedRoute: ActivatedRoute,\n    public companyService: CompanyService,\n    public shoppingCartService: ShoppingCartService\n  ) {\n    this.commonData.selectedLanguage = this.activatedRoute.snapshot.queryParams.language || sessionStorage.getItem('selectedLanguageCode') || 'en';\n  }\n  init(data: CommonSetting) {\n    this.commonSettings = data;\n    this.user.init();\n    this.apiService.getActiveCountries().subscribe(data => {\n      this.allowedCountries = this.countryLanguageCode = data.Data;\n      this.setSelectedCountry((this.activatedRoute.snapshot.queryParams.countrycode || sessionStorage.getItem('selectedCountry') || 'us'), this.commonData.selectedLanguage);\n    });\n  }\n\n  getConfig() {\n    return this.commonSettings;\n  }\n  getLocalConfig() {\n      return this.localSettings;\n  }\n\n  setSelectedCountry(country, selectedLanguage) {\n    selectedLanguage = selectedLanguage || this.commonData.selectedLanguage;\n    sessionStorage.setItem('selectedCountry', country);\n    sessionStorage.setItem('selectedLanguageCode', selectedLanguage);\n    this.commonData.selectedCountry = country;\n    sessionStorage.removeItem('CommonSettings');\n    this.companyService.setCurrencyDetail(country);\n    this.companyService.getRegionIDbyPromise(country).then((id: any) => {\n      this.shoppingCartService.setShoppingCart(id);\n    });\n    this.getCommonSetting(country, selectedLanguage || this.commonData.selectedLanguage);\n  }\n\n  getCommonSetting(countryCode, languageCode) {\n    const commonPromise = new Promise((resolve, reject) => {\n      if (sessionStorage.getItem('CommonSettings')) {\n        const data = JSON.parse(sessionStorage.getItem('CommonSettings'));\n        this.setCommonSettingData(data, languageCode, countryCode);\n        resolve(data);\n      } else {\n        this.http.get(`assets/data/clientsetting.json`,\n          {\n            headers: new HttpHeaders({\n              'Content-Type': 'application/json; charset=utf-8'\n            }),\n            withCredentials: true\n          }).toPromise()\n          .then((result: CommonSetting) => {\n            this.commonSettings = result;\n            this.setCommonSettingData(this.commonSettings, languageCode, countryCode);\n            sessionStorage.setItem('CommonSettings', JSON.stringify(this.commonSettings));\n            this.updateLocale(this.commonData.SelectedLanguage);\n            resolve(this.commonSettings);\n            return resolve(result);\n          }).finally(() => {\n          });\n\n      }\n    });\n    return commonPromise;\n  }\n\n  updateLocale(locale) {\n    let languageCode = 'en';\n    try {\n        if (locale || parseInt(locale, 10) === 0) {\n          if (this.commonData.selectedLanguage) {\n            languageCode = this.commonData.selectedLanguage;\n          } else if (this.commonData.Language) {\n            const language = _.filter(this.commonData.Language, (lang) => {\n              return parseInt(lang.LanguageID, 10) === parseInt(locale, 10);\n            });\n            if (language.length > 0) {\n              languageCode = language[0].ISOCode;\n            }\n          }\n\n          this.translate.use(languageCode == 'undefined' ? ('en') : languageCode);\n        }\n    }\n    catch (ex) {\n      console.warn('ex', ex.message);\n    }\n  }\n\n  getLanguageId(languageData, languageCode) {\n    let selectedLanguage = [];\n    if (languageCode) {\n      selectedLanguage = _.filter(languageData, (lang) => {\n        return lang.LanguageCode === languageCode;\n      });\n      if (selectedLanguage.length > 0) {\n        return selectedLanguage[0].LanguageCode;\n      }\n      else {\n        return 0;\n      }\n    }\n    else {\n      return languageData[0].LanguageCode || 0;\n    }\n  }\n\n  setCommonSettingData(data, languageCode, countryCode) {\n    this.commonData = data;\n    const country = _.find(this.allowedCountries, (item) => {\n      return (item.CountryCode.toLowerCase() === (countryCode.toLowerCase() || 'us'));\n    });\n    this.commonData.SelectedLanguage = this.getLanguageId(country.CountryLanguages, languageCode);\n    this.commonData.selectedCountry = countryCode || 'us';\n    this.commonData.selectedLanguage = languageCode || country.CountryLanguages[0].LanguageCode || 'en';\n    this.commonData.AddressVerification = data.AddressVerification;\n    if (data.Countries && data.Countries.length) {\n      _.each(data.Countries, (country) => {\n        if (country.CountryCodeISO2.toLowerCase() == countryCode.toLowerCase()) {\n          this.commonData.selectedCountryDescription = country.CountryName;\n        }\n      });\n    }\n    sessionStorage.setItem('selectedLanguageCode', this.commonData.selectedLanguage == 'undefined' ? ('en') : this.commonData.selectedLanguage);\n  }\n\n  checkGlCountryAvailable(countryCode) {\n    const availableCountry = _.filter(this.countryLanguageCode, (item) => {\n      return item.CountryCode.toLowerCase() == countryCode.toLowerCase();\n    });\n\n    return availableCountry.length > 0;\n  }\n\n\n  checkGlLanguageAvailable(languageCode) {\n    const availableLanguage = _.filter(this.countryLanguageCode, (item) => {\n      return item.ISOCode.toLowerCase() == languageCode.toLowerCase();\n    });\n    return availableLanguage.length > 0;\n  }\n\n  setWebsiteInfo(websiteInfo) {\n    this.user.setEnrollerInfo(websiteInfo);\n  }\n}\n","export default \".material-icons.color_white {\\n  color: #ffffff;\\n}\\n\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n\\n.close-icon {\\n  transition: 1s ease-in-out;\\n}\\n\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n\\n::ng-deep .contact-dialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n\\n::ng-deep .contact-dialog .mat-dialog-container {\\n  overflow: unset;\\n}\\n\\n.captcha_box {\\n  width: 100%;\\n  display: block;\\n  float: left;\\n}\\n\\n.captcha_answer {\\n  width: 35%;\\n  float: right;\\n}\\n\\ninput#answer {\\n  height: 43px;\\n  width: 100%;\\n  border: 2px solid #000;\\n  padding: 0 5px;\\n}\\n\\n.captcha_code {\\n  height: 45px;\\n  width: 60%;\\n  float: left;\\n  background-size: cover;\\n  color: #fff;\\n  font-size: 18px;\\n  font-weight: 600;\\n  padding: 10px;\\n  line-height: 24px;\\n  text-align: center;\\n}\\n\\n.captcha_code > span {\\n  color: #fff;\\n  font-size: 18px;\\n  font-weight: 600;\\n}\\n\\n.reload_captcha {\\n  width: 100%;\\n  float: left;\\n  padding: 10px 15px;\\n}\\n\\n.captcha_code {\\n  background-image: url(/assets/images/captcha_bg.png);\\n}\\n\\n.user_mob {\\n  font-size: 24px;\\n  line-height: 30px;\\n}\\n\\n.heading {\\n  font-size: 23px;\\n  font-weight: 500;\\n  margin-bottom: 20px;\\n}\\n\\n.ds_AboutMe {\\n  font-size: 16px;\\n  padding: 10px 0;\\n  color: #5e5e5e;\\n}\\n\\n.mailaddress {\\n  font-size: 14px;\\n  color: #2196f3;\\n  text-decoration: none;\\n  font-weight: 400;\\n}\\n\\n.color-f-s-23 {\\n  color: #5e5e5e;\\n  font-size: 23px;\\n  margin: 15px 0px;\\n}\\n\\n.color-f-s-24 {\\n  color: #5e5e5e;\\n  font-size: 24px;\\n  margin: 9px 0px;\\n}\\n\\n.color-f-s-19 {\\n  color: #5e5e5e;\\n  font-size: 19px;\\n}\\n\\n.shop-btn {\\n  background: white;\\n  border-radius: 23px;\\n  display: inline-block;\\n  padding: 15px 32px;\\n  cursor: pointer;\\n}\\n\\n.shop-btn:hover {\\n  background-color: #cccccc;\\n}\\n\\n.product-button {\\n  margin: 20px;\\n  padding: 6px 32px !important;\\n  background-color: var(--theme-deafult-secondary) !important;\\n  color: white !important;\\n}\\n\\n.product-button:hover {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n\\nform mat-form-field {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n\\n.contacts .design ::ng-deep .mat-form-field-flex {\\n  height: 47.99px !important;\\n}\\n\\n.contacts .design ::ng-deep .mat-form-field-infix {\\n  padding: 2px 0 1em 0 !important;\\n}\\n\\n.contacts .design ::ng-deep .mat-form-field-label-wrapper {\\n  top: -16px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbnRhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQTZCLGNBQUE7QUFDN0I7O0FBQUE7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFHRjs7QUFDQTtFQUNFLDBCQUFBO0FBRUY7O0FBQ0E7RUFDRSx5QkFBQTtBQUVGOztBQUVBO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDQyxlQUFBO0FBQ0Q7O0FBQ0M7RUFDQyxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QUFFRjs7QUFDQztFQUNDLFVBQUE7RUFDQSxZQUFBO0FBRUY7O0FBQ0M7RUFDQyxZQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBQUVGOztBQUNDO0VBQ0MsWUFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUFFRjs7QUFBQTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUFHRjs7QUFEQztFQUNDLFdBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QUFJRjs7QUFGQTtFQUNFLG9EQUFBO0FBS0Y7O0FBSEE7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7QUFNRjs7QUFKQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FBT0Y7O0FBTEE7RUFDRSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QUFRRjs7QUFOQTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0UscUJBQUE7RUFDQSxnQkFBQTtBQVNKOztBQVBBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQVVGOztBQVJBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0FBV0Y7O0FBVEE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQVlGOztBQVZBO0VBQ0ksaUJBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FBYUo7O0FBWEE7RUFDSSx5QkFBQTtBQWNKOztBQVpBO0VBQ0ksWUFBQTtFQUNBLDRCQUFBO0VBQ0EsMkRBQUE7RUFDQSx1QkFBQTtBQWVKOztBQWJBO0VBQ0ksMkRBQUE7QUFnQko7O0FBZEE7RUFDRSxtREFBQTtBQWlCRjs7QUFaUTtFQUNFLDBCQUFBO0FBZVY7O0FBYlM7RUFDQywrQkFBQTtBQWVWOztBQWJPO0VBQ0cscUJBQUE7QUFlViIsImZpbGUiOiJjb250YWN0cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGlmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlIGljb25cbi5tYXRlcmlhbC1pY29ucy5jb2xvcl93aGl0ZSB7Y29sb3I6ICNmZmZmZmY7fVxuLmNsb3NlLWJ1dHRvbntcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0b3A6LTI0cHg7XG4gIHJpZ2h0Oi0yNHB4O1xufVxuXG4vL2lmIHlvdSB3YW50IHNvbWUgY3NzIGFuaW1hdGlvblxuLmNsb3NlLWljb24ge1xuICB0cmFuc2l0aW9uOiAxcyBlYXNlLWluLW91dDtcbn1cblxuLmNsb3NlLWljb246aG92ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4vL1RvIHBsYWNlIHRoZSB4IG1hcmsgb3V0c2lkZSBvZiB0aGUgY29udGFpbmVyXG46Om5nLWRlZXAgLmNvbnRhY3QtZGlhbG9nIC5jbG9zZS1idXR0b257XG4gIGZsb2F0OiByaWdodDtcbiAgdG9wOi01MnB4O1xuICByaWdodDotNTJweDtcbn1cblxuOjpuZy1kZWVwIC5jb250YWN0LWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuIG92ZXJmbG93OiB1bnNldFxufVxuIC5jYXB0Y2hhX2JveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnRcbn1cblxuIC5jYXB0Y2hhX2Fuc3dlciB7XG4gIHdpZHRoOiAzNSU7XG4gIGZsb2F0OiByaWdodFxufVxuXG4gaW5wdXQjYW5zd2VyIHtcbiAgaGVpZ2h0OiA0M3B4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMCA1cHhcbn1cblxuIC5jYXB0Y2hhX2NvZGUge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiA2MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyXG59XG4uY2FwdGNoYV9jb2RlID4gc3BhbntcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiAucmVsb2FkX2NhcHRjaGEge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDEwcHggMTVweFxufVxuLmNhcHRjaGFfY29kZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jYXB0Y2hhX2JnLnBuZyk7XG59XG4udXNlcl9tb2Ige1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuLmhlYWRpbmcge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uZHNfQWJvdXRNZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBjb2xvcjogIzVlNWU1ZTtcbn1cbi5tYWlsYWRkcmVzcyAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMjE5NmYzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuLmNvbG9yLWYtcy0yMyB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBmb250LXNpemU6IDIzcHg7XG4gIG1hcmdpbjogMTVweCAwcHg7XG59XG4uY29sb3ItZi1zLTI0IHtcbiAgY29sb3I6ICM1ZTVlNWU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luOiA5cHggMHB4O1xufVxuLmNvbG9yLWYtcy0xOSB7XG4gIGNvbG9yOiAjNWU1ZTVlO1xuICBmb250LXNpemU6IDE5cHg7XG59XG4uc2hvcC1idG57XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAzMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaG9wLWJ0bjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xufVxuLnByb2R1Y3QtYnV0dG9ue1xuICAgIG1hcmdpbjogMjBweDtcbiAgICBwYWRkaW5nOiA2cHggMzJweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWRlYWZ1bHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufSAgXG4ucHJvZHVjdC1idXR0b246aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG59XG5mb3JtIG1hdC1mb3JtLWZpZWxke1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG4uY29udGFjdHN7XG4gIC5kZXNpZ257XG4gICAgICA6Om5nLWRlZXAge1xuICAgICAgICAubWF0LWZvcm0tZmllbGQtZmxleHtcbiAgICAgICAgICBoZWlnaHQ6IDQ3Ljk5cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgICAgICBwYWRkaW5nOiAycHggMCAxZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7XG4gICAgICAgICAgdG9wOiAtMTZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICB9XG59Il19 */\";","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n@Pipe({\n\tname: 'trustAsUrl'\n})\nexport class TrustAsUrlPipe implements PipeTransform {\n    constructor(private sanitizer:DomSanitizer){}\n\ttransform(url) {\n        return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n    }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AppSettings } from './services/color-option.service';\n\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatListModule} from '@angular/material/list';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport { MatTableModule } from '@angular/material/table';\nimport { HeaderComponent } from './header/header.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { MenuComponent } from './menu/menu.component';\nimport { ProductOrderByPipe } from './pipes/order-by.pipe';\nimport { ProductService } from './services/product.service';\nimport { CartService } from './services/cart.service';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { BannersComponent } from './banners/banners.component';\nimport { ShoppingWidgetsComponent } from './shopping-widgets/shopping-widgets.component';\nimport {MatBadgeModule} from '@angular/material/badge';\n\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { ImagePreloadDirective } from './directive/default-img.directive';\nimport { OrderService } from './services/order.service';\nimport { NotificationService } from './services/notification.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport { ConfirmDialogComponent } from './model/confirm-dialog/confirm-dialog.component';\nimport { HostedpaymentDialogComponent } from './model/hostedpayment-dialog/hostedpayment-dialog.component';\nimport { FindEnrollerComponent } from './model/findenroller/findenroller.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatSortModule } from '@angular/material/sort';\nimport { AutoshipEditComponent } from './autoship-edit/autoship-edit.component';\nimport { MarketSelectorComponent } from './model/market-selector/market-selector.component';\nimport { UnsafePipe } from './pipes/unsafe.pipe';\nimport { GroupByCountPipe } from './pipes/group-by-count.pipe';\nimport { PaymentTranslatePipe } from './pipes/payment-translate.pipe';\nimport { RangePipe } from './pipes/eange.pipe';\nimport { TrustAsUrlPipe } from './pipes/trustas-url.pipe';\nimport { IsDecimalNumberPipe } from './pipes/decimal-number.pipe';\nimport { AddSymbolWithNumberPipe } from './pipes/add-symbol-with-number.pipe';\nimport { CheckValidDatePipe } from './pipes/check-valid-date.pipe';\nimport { ChangeDateFormatPipe } from './pipes/date-format.pipe';\nimport { TranslateSmartShipMonthPipe } from './pipes/smartship-month.pipe';\nimport { IconClassDirective } from './directive/iconclass.directive';\nimport { ShippingAddressComponent } from '../pages/shippingaddress/shippingaddress.component';\n\nimport { RemoveStarPipe } from './pipes/remove-star.pipe';\nimport { NgInitDirective } from './directive/ng-init';\nimport { SideBarSummaryCartComponent } from './sidebar-summary-cart/sidebar-summary-cart.component';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { SafePipe } from './pipes/safe.pipe';\nimport { ValidateDirective } from './directive/validation.directive';\nimport { ItemsListService } from './services/itemsList.service';\nimport { OrderModule } from 'ngx-order-pipe';\nimport { ProductSearchPipe } from './pipes/product-search.pipe';\nimport { ContactComponent } from './model/contact/contact.component';\nimport { ProductDialogComponent } from '../shop/products/product-dialog/product-dialog.component';\nimport { CategoryPipe } from './pipes/category-filter.pipe';\nimport { ShipMethodsComponent } from './model/ship-methods/ship-methods.component';\nimport { AllowCvvComponent } from './model/allow-cvv/allow-cvv.component';\nimport { ShippingAddressDialogComponent } from './model/shipping-address-dialog/shipping-address-dialog.component';\nimport { UniquePipe } from './pipes/unique.pipe';\nimport { PaymentService } from './services/payment.service';\nimport { PersistentService } from './services/persistent.service';\nimport { AutoshipConfigurationService } from './services/autoshipConfiguration.service';\nimport { EmailVerifyDialogComponent } from './email-verify-dialog/email-verify-dialog.component';\nimport { TextSmsVerifyDialogComponent } from './text-sms-verify-dialog/text-sms-verify-dialog.component';\n@NgModule({\n  declarations: [\n    HeaderComponent,\n    FooterComponent,\n    MenuComponent,\n    SidebarComponent,\n    SideBarSummaryCartComponent,\n    ProductOrderByPipe,\n    CategoryPipe,\n    UniquePipe,\n    SafePipe,\n    UnsafePipe,\n    RemoveStarPipe,\n    GroupByCountPipe,\n    PaymentTranslatePipe,\n    ProductSearchPipe,\n    RangePipe,\n    TrustAsUrlPipe,\n    GroupByCountPipe,\n    IsDecimalNumberPipe,\n    AddSymbolWithNumberPipe,\n    CheckValidDatePipe,\n    ChangeDateFormatPipe,\n    TranslateSmartShipMonthPipe,\n    BannersComponent,\n    ShoppingWidgetsComponent,\n    BreadcrumbComponent,\n    ConfirmDialogComponent,\n    HostedpaymentDialogComponent,\n    FindEnrollerComponent,\n    ContactComponent,\n    ShippingAddressComponent,\n    ImagePreloadDirective,\n    IconClassDirective,\n    NgInitDirective,\n    ValidateDirective,\n    AutoshipEditComponent,\n    MarketSelectorComponent,\n    AllowCvvComponent,\n    ProductDialogComponent,\n    ShipMethodsComponent,\n    ShippingAddressDialogComponent,\n    EmailVerifyDialogComponent,\n    TextSmsVerifyDialogComponent\n\n  ],\n  imports: [\n    CommonModule,\n    RouterModule,\n    MatButtonModule,\n    MatSnackBarModule,\n    MatDatepickerModule,\n    MatNativeDateModule,\n    MatToolbarModule,\n    MatListModule,\n    MatSliderModule,\n    MatExpansionModule,\n    MatBadgeModule,\n    MatMenuModule,\n    MatTableModule,\n    MatSortModule,\n    MatRadioModule,\n    MatDialogModule,\n    MatChipsModule,\n    MatInputModule,\n    MatIconModule,\n    MatTooltipModule,\n    MatSidenavModule,\n    MatSelectModule,\n    MatTabsModule,\n    MatDividerModule,\n    MatCardModule,\n    FlexLayoutModule,\n    NgxSkeletonLoaderModule,\n    MatAutocompleteModule,\n    MatPaginatorModule,\n    MatCheckboxModule,\n    TranslateModule,\n    FormsModule,\n    ReactiveFormsModule,\n    OrderModule\n  ],\n  exports: [\n    CommonModule,\n    MatButtonModule,\n    MatSnackBarModule,\n    MatToolbarModule,\n    MatListModule,\n    MatExpansionModule,\n    MatMenuModule,\n    MatTableModule,\n    MatSliderModule,\n    MatRadioModule,\n    MatDialogModule,\n    MatChipsModule,\n    MatInputModule,\n    MatIconModule,\n    MatTooltipModule,\n    MatAutocompleteModule,\n    MatPaginatorModule,\n    MatSortModule,\n    MatCheckboxModule,\n    MatSidenavModule,\n    MatSelectModule,\n    MatTabsModule,\n    MatDividerModule,\n    MatCardModule,\n    ProductOrderByPipe,\n    CategoryPipe,\n    UniquePipe,\n    SafePipe,\n    UnsafePipe,\n    RemoveStarPipe,\n    GroupByCountPipe,\n    PaymentTranslatePipe,\n    ProductSearchPipe,\n    RangePipe,\n    TrustAsUrlPipe,\n    GroupByCountPipe,\n    IsDecimalNumberPipe,\n    AddSymbolWithNumberPipe,\n    CheckValidDatePipe,\n    ChangeDateFormatPipe,\n    TranslateSmartShipMonthPipe,\n    HeaderComponent,\n    FooterComponent,\n    MenuComponent,\n    SidebarComponent,\n    SideBarSummaryCartComponent,\n    BannersComponent,\n    FlexLayoutModule,\n    ShoppingWidgetsComponent,\n    BreadcrumbComponent,\n    ConfirmDialogComponent,\n    HostedpaymentDialogComponent,\n    FindEnrollerComponent,\n    AllowCvvComponent,\n    ShippingAddressComponent,\n    MarketSelectorComponent,\n    ContactComponent,\n    AutoshipEditComponent,\n    ImagePreloadDirective,\n    IconClassDirective,\n    NgInitDirective,\n    ValidateDirective,\n    ProductDialogComponent,\n    ShipMethodsComponent,\n    ShippingAddressDialogComponent\n  ],\n  providers: [\n    NotificationService,\n    MatDatepickerModule,\n    OrderService,\n    PaymentService,\n    PersistentService,\n    AutoshipConfigurationService,\n    ProductService,\n    CartService,\n    ItemsListService,\n    AppSettings\n  ],\n  entryComponents: [\n    EmailVerifyDialogComponent,\n    ConfirmDialogComponent,\n    HostedpaymentDialogComponent,\n    FindEnrollerComponent,\n    AllowCvvComponent,\n    ShippingAddressComponent,\n    MarketSelectorComponent,\n    ContactComponent,\n    AutoshipEditComponent,\n    ProductDialogComponent,\n    ShipMethodsComponent,\n    ShippingAddressDialogComponent,\n    TextSmsVerifyDialogComponent\n  ]\n})\nexport class SharedModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-products',\n  templateUrl: './products.component.html',\n  styleUrls: ['./products.component.scss']\n})\nexport class ProductsComponent implements OnInit {\n\n  constructor() { }\n\n  ngOnInit() {\n  }\n\n}\n","import { Router } from '@angular/router';\nimport { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { ProductService } from '../services/product.service';\nimport { Observable, Subscription } from 'rxjs';\nimport { UserService } from '../services/user.service';\nimport { NotificationService } from '../services/notification.service';\nimport { RestApiService } from '../services/restapi.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { OrderService } from '../services/order.service';\nimport { ConfigService } from '../services/config.service';\nimport * as moment from 'moment';\nimport { SideNavBarService } from '../services/sidenavbar.service';\nimport { Cart1Service } from '../services/cart1.service';\nimport { getSubdomain } from 'tldts';\nimport { Location } from '@angular/common';\nimport * as _ from 'lodash';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { UtilityService } from '../services/utility.service';\nimport { PersistentService } from '../services/persistent.service';\nimport { AccountService } from '../services/account.service';\nimport { AutoshipConfigurationService } from '../services/autoshipConfiguration.service';\nimport { CompanyService } from '../services/company.service';\n\n@Component({\n    selector: 'app-sidebar-summary-cart',\n    templateUrl: './sidebar-summary-cart.component.html',\n    styleUrls: ['./sidebar-summary-cart.component.scss']\n})\nexport class SideBarSummaryCartComponent implements OnInit {\n    public commonData: any;\n    public AutoshipMinDate: Date;\n    public AutoshipMaxDate: Date;\n    shouldRun: boolean = true;\n    limit: 3;\n    isShow: boolean;\n    lastQuantity: 0;\n    selectedfrequencyTypeID: 0;\n    autoshipConfiguration: any = {\n        setting: {\n            allowEdit: true\n        }\n    };\n    userService: UserServiceModal;\n    currentState: any;\n    checkoutVal: any;\n\n    constructor(\n        public configService: ConfigService,\n        public orderService: OrderService,\n        public user: UserService,\n        public notificationService: NotificationService,\n        public apiService: RestApiService,\n        public translate: TranslateService,\n        public sideNavBarService: SideNavBarService,\n        public cart1Service: Cart1Service,\n        public itemsService: ProductService,\n        public location: Location,\n        public router: Router,\n        public utilityService: UtilityService,\n        public persistentService: PersistentService,\n        public accountService: AccountService,\n        public autoshipConfigurationService: AutoshipConfigurationService,\n        public companyService: CompanyService\n        ) {\n        this.autoshipConfigurationService.autoshipDate = new Date(autoshipConfigurationService.autoshipDate);\n        this.userService = user.userServiceModal;\n        this.commonData = this.configService.getConfig();\n        this.selectedfrequencyTypeID = this.persistentService.retailData.Autoship.FrequencyTypeID = this.commonData.FrequencyTypes[2].ID;\n        this.AutoshipMinDate = moment().add(this.configService.localSettings.Autoship.AutoshipMinDate, 'days').toDate();\n        this.AutoshipMaxDate = moment().add(this.configService.localSettings.Autoship.AutoshipMaxDate, 'days').toDate();\n\n    }\n    // isSidenavOpen = false;\n    @Input() events: Observable<void>;\n\n    ngOnInit() {\n        this.currentState = this.location.path();\n    }\n\n\n    stateUrl(name) {\n        // return name == $state.current.name;\n    }\n\n    showTaxMessage() {\n        return !(this.location.path().toLowerCase() == '/join') && !(this.location.path().toLowerCase() == '/checkout') &&\n        (this.itemsService.selectedOrderItems.length > 0 || this.itemsService.selectedAutoOrderItems.length > 0 ||\n        this.itemsService.selectedPacks.length > 0);\n    }\n\n    getTotalQuanity() {\n        // return (getPacksQuanity() + getOrderQuanity());\n    }\n\n    getPacksQuanity() {\n        var quantity = 0;\n        _.each(this.itemsService.selectedPacks, function (item) {\n            quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n        });\n        return quantity;\n    }\n\n    getOrderQuanity() {\n        let quantity = 0;\n        _.each(this.itemsService.selectedOrderItems, (item) => {\n            if (!item.UsePoints) {\n                quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n            }\n            if (item.UsePoints) {\n                quantity += (item.rewardQuantity ? parseInt(item.rewardQuantity, 10) : 0);\n            }\n        });\n        return quantity;\n    }\n\n    getAutoOrderQuanity() {\n        let quantity = 0;\n        _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n            quantity += (item.Quantity ? parseInt(item.Quantity, 10) : 0);\n        });\n        return quantity;\n    }\n\n    removePromo(code) {\n        this.userService.couponInfo.RewardsForUse = _.reject(this.userService.couponInfo.RewardsForUse, (e) => {\n            return e.Code === code;\n        });\n        this.userService.couponInfo.promoCode = '';\n        this.userService.couponInfo.promoCodeValid = false;\n        this.userService.couponInfo.IsAppliedcode = false;\n        this.userService.couponInfo.Allcoupons.splice(this.userService.couponInfo.Allcoupons.indexOf(code), 1);\n        this.orderService.calculateOrder();\n    }\n    isCouponCode(Coupon) {\n       \n    }\n    getCustomerTypeName(): any {\n        const custmerType = _.find(this.configService.commonSettings.CustomerTypes, (item) => {\n            return (item.ID == this.userService.customerTypeID);\n        });\n        if (custmerType) {\n            return { type: custmerType.Description };\n        }\n    }\n\n    dateFilter(date) {\n        let disableDates = [];\n        if (disableDates.length === 0) {\n            disableDates = [];\n        }\n        return disableDates.indexOf(moment(date).format('DD MMMM YYYY')) === -1;\n    }\n\n    submitApplication() {\n        document.querySelectorAll<HTMLElement>('#place-order-btn')[0].click();\n    }\n\n    checkitem() {\n        if (this.utilityService.getAutoshipEditFlag()) {\n            return true;\n        }\n        return ( this.itemsService.selectedOrderItems.length > 0 ||  this.itemsService.selectedAutoOrderItems.length > 0);\n    }\n\n    navigateToNextStep() {\n        this.sideNavBarService.triggerOpen();\n        if (this.currentState.toLowerCase() == '/checkout' && (Object.keys(this.userService.customerData).length)\n        && (this.userService.customerData.CustomerId || this.userService.customerData.PrimaryAddress.Region) && this.checkitem()\n        && this.user.checkIfUserAuthenticatedOrNot()) {\n            this.submitApplication();\n        } else if (this.currentState.toLowerCase() != '/checkout' && (Object.keys(this.userService.customerData).length)\n        && (this.userService.customerData.CustomerId || this.userService.customerData.PrimaryAddress.Region)\n        && this.checkitem() && this.user.checkIfUserAuthenticatedOrNot()) {\n            this.router.navigate(['/checkout']);\n        } else if (this.checkitem() && ((Object.keys(this.userService.customerData).length === 0 && !this.userService.customerData.CustomerId)\n         || !this.user.checkIfUserAuthenticatedOrNot())) {\n            if (this.currentState.toLowerCase() == '/checkout') {\n                this.accountService.logout();\n            }\n            this.router.navigate(['/login']);\n        } else if (this.currentState.toLowerCase() != '/products/all') {\n            this.router.navigate(['/products/all']);\n        } else if (!this.checkitem()) {\n            this.notificationService.error('error_', 'error_no_item_selected');\n        }\n    }\n\n    backStep() {\n        if (this.location.path().toLowerCase() == '/login') {\n            this.router.navigate(['/products/all']);\n        } else if (this.location.path().toLowerCase() == '/signup') {\n            this.router.navigate(['/Login']);\n        } else if (this.location.path().toLowerCase() == '/forgotpassword') {\n            this.router.navigate(['/Login']);\n        } else {\n            this.router.navigate(['/products/all']);\n        }\n        this.sideNavBarService.triggerOpen();\n    }\n\n    navigateToApplication() {\n        const application = (this.configService.localSettings.Global.ConfigurableCheckout && this.userService.customerData.CustomerId) ? '/checkout' : '/join';\n        this.sideNavBarService.triggerOpen();\n        if ((Object.keys( this.userService.customerData).length ||  this.userService.guestUserData.Email) &&\n        ( this.userService.customerData.CustomerId ||  this.userService.customerData.PrimaryAddress.Region ||  this.userService.guestUserData.Email)\n        &&  this.checkitem() &&  this.user.checkIfUserAuthenticatedOrNot()) {\n            this.router.navigate([application]);\n        } else if ( this.checkitem() && ((Object.keys( this.userService.customerData).length === 0\n            && ! this.userService.customerData.CustomerId) || ! this.user.checkIfUserAuthenticatedOrNot())) {\n            if (this.location.path().toLowerCase() == '/checkout' ||  this.userService.guestUserLogin) {\n                this.accountService.logout();\n            }\n            this.router.navigate(['/login']);\n        } else if (this.location.path().toLowerCase() != '/products/all') {\n            this.router.navigate(['/products/all']);\n        } else if (! this.checkitem()) {\n            this.notificationService.error('error_', 'error_no_item_selected');\n        }\n    }\n\n    showLogincheckoutBtn() {\n        return (!(this.location.path().toLowerCase() == '/checkout' || this.location.path().toLowerCase() == '/join' ||\n            this.location.path().toLowerCase() == '/login'));\n    }\n\n    useCoupons() {\n        return (\n            this.userService.couponInfo.OrderAllowCoupons &&\n            this.userService.couponInfo.availableRewards &&\n            this.userService.couponInfo.availableRewards.length\n        );\n    }\n\n    checkRewardStatus(reward) {\n        const isInUse = this.userService.couponInfo.RewardsForUse.some((currentReward) => {\n            return currentReward.Code === reward.Code;\n        });\n        return isInUse;\n    }\n\n    toggleCoupon(coupon) {\n        const applied = this.userService.couponInfo.RewardsForUse.some((reward) => {\n            return reward.Code === coupon.Code;\n        });\n\n        if (applied && this.userService.DynamicCouponCode.promoCode != coupon.Code) {\n            this.removePromo(coupon.Code);\n        } else {\n            this.userService.couponInfo.RewardsForUse.push(coupon);\n            if (this.userService.couponInfo.RewardsForUse.length) {\n                _.each(this.userService.couponInfo.RewardsForUse, (reward) => {\n                    const IsCouponAvailable = this.userService.couponInfo.Allcoupons.some((coupon) => {\n                        return reward.Code === coupon;\n                    });\n                    if (!IsCouponAvailable) {\n                        this.userService.couponInfo.Allcoupons.push(reward.Code);\n                    }\n\n                });\n            }\n            this.orderService.calculateOrder();\n        }\n    }\n\n\n    goToSignUp() {\n        this.sideNavBarService.triggerOpen();\n        if (this.itemsService.selectedOrderItems == 0 && this.configService.localSettings.Global.OrderItemRequired[this.userService.customerTypeID]) {\n            const msg = 'unified_order_item_required';\n            this.notificationService.error('error_', this.translate.instant(msg));\n            return;\n        }\n        //<!-- ************** uncomment when real peoducts come or in prod mode ***************** -->\n        // if (this.itemsService.selectedAutoOrderItems == 0 && this.configService.localSettings.Global.AutoshipItemRequired[this.userService.customerTypeID]) {\n        //     const AutoshipMsg = 'unified_auto_order_item_required';\n        //     this.notificationService.error('error_', this.translate.instant(AutoshipMsg));\n        //     return;\n        // }\n        this.router.navigate(['/join'], {\n            queryParams: { type: this.userService.customerTypeID },\n            queryParamsHandling: 'merge'\n          });\n    }\n\n    showNewCustomerBtn() {\n        if (this.user.checkIfUserAuthenticatedOrNot()) {\n            return false;\n        } else if (this.location.path().toLowerCase() == '/signup' || this.location.path().toLowerCase() == '/join') {\n            return false;\n        } else {\n            return true;\n        }\n    }\n\n    isLoggedIn() {\n        if ((Object.keys(this.userService.customerData).length) && (this.userService.customerData.CustomerId) && this.user.checkIfUserAuthenticatedOrNot()) {\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    isAutoshipChanged() {\n        if (!moment(this.autoshipConfigurationService.autoshipDate).isSame(this.persistentService.retailData.autoshipDate, 'day')) {\n            return true;\n        }\n        if (this.persistentService.retailData.Autoship && this.commonData.FrequencyTypes[0].ID != this.persistentService.retailData.Autoship.FrequencyTypeID) {\n            return true;\n        }\n        if (this.userService.isAddressChanged || this.userService.isPaymentChanged || this.userService.isShipMethodChanged) {\n            return true;\n        }\n\n        if (this.utilityService.getAutoshipEditFlag()) {\n            if (this.persistentService.retailData.isChanged) {\n                if (_.isEqual(this.persistentService.retailData.editAutoshipItems, this.itemsService.selectedAutoOrderItems) &&\n                this.itemsService.selectedOrderItems.length == 0) {\n                    return false;\n                }\n                return true;\n            }\n            return false;\n        }\n        return true;\n    }\n\n    cancelAutoship() {\n        this.router.navigate(['/manageautoship']);\n        this.sideNavBarService.triggerOpen();\n        this.notificationService.success('Success', this.translate.instant('autoship_cancel'));\n    }\n\n    deleteAutoship(autoShipId?: number) {\n\n        this.apiService.deleteAutoship(autoShipId).subscribe((result) => {\n          if (result && Number(result.Status) === 1) {\n            this.notificationService.error('error_', this.translate.instant('some_error_occur_try_again'));\n          }else{\n            this.notificationService.success('Success', this.translate.instant('successfully_deleted'));\n          }\n        }, (error) => {\n        }, () => {\n        });\n    }\n\n    setFrequency() {\n        this.commonData.FrequencyTypes.some((freq) => {\n            if (freq.ID == this.persistentService.retailData.Autoship.FrequencyTypeID) {\n                this.persistentService.retailData.Autoship.FrequencyTypeID = freq.ID;\n                this.persistentService.retailData.Autoship.FrequencyTypeID = freq.ID;\n                this.persistentService.retailData.Autoship.FrequencyTypeDescription = freq.Description;\n                this.persistentService.retailData.isChanged = true;\n                return;\n            }\n        });\n    }\n\n    saveEditAutoship() {\n        this.sideNavBarService.triggerOpen();\n        this.router.navigate(['/manageautoship']);\n    }\n\n    NavigateToAutoship() {\n        this.sideNavBarService.triggerOpen();\n        this.persistentService.retailData.AddMoreItemInAutoshipFlag = false;\n        this.utilityService.setAutoshipEditFlag(false);\n        this.persistentService.retailData.CurrentSelectedAutoOrder = 0;\n        this.persistentService.retailData.AddMoreItemInAutoshipData = {};\n        this.cart1Service.clearCart();\n        this.router.navigate(['/manageautoship']);\n\n    }\n\n    getAutoshipNumber() {\n        return this.translate.instant('_invoice_autoorder') +\n        this.persistentService.retailData.CurrentSelectedAutoOrder;\n    }\n\n    pointsEnabled() {\n        // return rewardPointsService.enabled;\n    }\n\n    getPointBalance() {\n    }\n\n    canCheckOut() {\n        if (this.userService.customerData.CustomerId) {\n            return true; // this.rewardPointsService.validatePointBalance();\n        }\n        return true;\n    }\n\n    getItems(type: string) {\n        return this.itemsService[type == 'pack' ? 'selectedPacks' : (type == 'autoship' ? 'selectedAutoOrderItems' : 'selectedOrderItems')];\n    }\n\n\n    getImage(item) {\n        return (item.OptionsImage && item.ImageUrl.substr(0, item.ImageUrl.lastIndexOf('/'))\n        .concat(item.OptionsImage)) || item.ImageUrl;\n    }\n\n    view() {\n        this.isShow = !this.isShow;\n    }\n\n    getQuantityModel(type, item): any {\n        return this.cart1Service[type == 'pack' ? 'packQuantity' : (type == 'autoship' ? 'autoshipQuantity' : ((item && item.UsePoints) ? 'orderRewardQuantity' : 'orderQuantity'))];\n    }\n\n    increaseQuantiy(type, item) {\n        this.cart1Service.increaseQuantiy(item, type == 'autoship', type == 'pack');\n        this.updateQuantity(type, item, undefined);\n    }\n\n    decreaseQuantiy(type, item) {\n        this.cart1Service.decreaseQuantiy(item, type == 'autoship', type == 'pack');\n        this.updateQuantity(type, item, (item.Quantity === 0));\n    }\n\n    removeFromCart(type, item) {\n        this.cart1Service.removeFromCart(item, type == 'autoship', type == 'pack', true);\n        this.updateQuantity(type, item, true);\n    }\n\n    updateQuantity(type, item, remove) {\n        // TODO:: this is bad remove this.\n        if (!(type == 'autoship')) {\n        }\n    }\n\n    closeCart() {\n        let newUrl: any;\n        if (this.itemsService.selectedAutoOrderItems.length === 0 && this.itemsService.selectedOrderItems.length === 0) {\n            const subdomain = getSubdomain(window.location.host);\n            if (subdomain) {\n                newUrl = window.location.href.replace(subdomain, this.userService.WebAlias);\n            }\n            if (this.location.path().toLowerCase().indexOf('product') > -1) {\n                this.router.navigate(['/products/all']);\n            }\n            else if (this.location.path().toLowerCase() === '/join') {\n                this.router.navigate(['/join']);\n            }\n        }\n    }\n\n    checkQuantity(type, item) {\n        const quantity = this.getQuantityModel(type, item)[item.ItemID];\n        if (!Number(quantity)) {\n            this.cart1Service.removeFromCart(item, type == 'autoship', type == 'pack', true);\n        } else {\n            if (!item.UsePoints) {\n                item.Quantity = quantity;\n            }\n            else if (item.UsePoints) {\n                item.rewardQuantity = quantity;\n            }\n            if (type == 'autoship') {\n                localStorage.setItem('cart.autoship', JSON.stringify(this.itemsService.selectedAutoOrderItems));\n                this.orderService.calculateAutoOrder();\n            } else {\n                localStorage.setItem((type == 'pack' ? 'cart.packs' : 'cart.order'),\n                JSON.stringify(type == 'pack' ? this.itemsService.selectedPacks : this.itemsService.selectedOrderItems));\n                this.orderService.calculateOrder();\n            }\n        }\n        this.updateQuantity(type, item, undefined);\n    }\n\n   getLastQuantity(type, item){\n    this.lastQuantity = this.getQuantityModel(type, item)[item.ItemID];\n    }\n\n\n}\n","export default \"\\n<div class=\\\"page_orderhistory\\\">\\n   \\n    <div class=\\\"orderhistory_table\\\">\\n        <div class=\\\"title\\\">\\n            <p translate=\\\"your_orders\\\"></p>\\n        </div>\\n        <div class=\\\"orderTable\\\">\\n            <mat-table [dataSource]=\\\"dataSource\\\" matSort class=\\\"mat-elevation-z8\\\" matSortActive=\\\"OrderDate\\\" matSortDirection=\\\"desc\\\">\\n                <ng-container matColumnDef=\\\"Status\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header> {{'order_history_status' | translate}}</mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> {{element.Status}}</mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"TotalQV\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header> {{'order_history_qv' | translate}}  </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> {{element.TotalQV}}  </mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"TotalCV\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header>  {{'order_history_cv' | translate}} </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> {{element.TotalCV}}</mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"OrderTotal\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header> {{'order_history_total' | translate}}  </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> {{(element.Totals.length >0? element.Totals[0].SubTotal : 0) | currency:companyService.selectedCurrency.CurrencyCode}}</mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"OrderNumberS\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header>  {{'order_history_details' | translate}}</mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> <a (click)=\\\"viewOrderInvoice(element)\\\"  class=\\\"orderId\\\">{{'view_order' | translate}}</a></mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"OrderDate\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header>  {{'order_history_date' | translate}} </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> {{element.OrderDate | checkValidDate:'MM/dd/yyyy'}}</mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"OrderNumber\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header> {{'order_history_id' | translate}}  </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"><a (click)=\\\"viewOrderInvoice(element)\\\" class=\\\"orderId\\\">{{element.OrderNumber}}</a> </mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"TrackingNumber\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header>  {{'Tracking Number' | translate}} </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\"> {{element.Packages.length>0?element.Packages[0].TrackingNumber:''}}</mat-cell>\\n                </ng-container>\\n                <ng-container matColumnDef=\\\"TotalBonus\\\">\\n                    <mat-header-cell *matHeaderCellDef mat-sort-header>  {{'BV' | translate}} </mat-header-cell>\\n                    <mat-cell *matCellDef=\\\"let element\\\">  {{element.TotalBonus}}</mat-cell>\\n                </ng-container>\\n                <mat-header-row *matHeaderRowDef=\\\"displayedColumns\\\"></mat-header-row>\\n                <mat-row *matRowDef=\\\"let row; columns: displayedColumns;\\\"></mat-row>\\n            </mat-table>\\n            <mat-paginator [length]=\\\"itemCount\\\"  [pageSize]=\\\"10\\\" [pageSizeOptions]=\\\"[5, 10, 25, 100]\\\" showFirstLastButtons>\\n            </mat-paginator>\\n        </div>\\n\\n\\n</div>\\n</div>\";","export default \"<div class=\\\"pack-item-1 swiper-container\\\" [swiper]=\\\"config\\\">\\n  <div class=\\\"swiper-wrapper\\\">\\n    <div *ngFor=\\\"let product of products\\\" class=\\\"swiper-slide card-size\\\">\\n      <mat-card fxLayout=\\\"column\\\">\\n        <div class=\\\"product-img\\\" *ngIf=\\\"contentLoaded\\\">\\n          <a class=\\\"product-link\\\"\\n            (click)=\\\"openProductDialog(product);\\\">\\n            <img [src]=\\\"configService.localSettings.Disco.DiscoUrl+'/CMS/Images/Inventory/'+product?.ImageUrl\\\"\\n              [default]=\\\"'assets/images/product/no-img.png'\\\" alt=\\\"\\\">\\n          </a>\\n        </div>\\n        <div class=\\\"product-info-wrapper\\\" fxLayout=\\\"column\\\">\\n          <div class=\\\"title-wrap text-center card-height\\\" *ngIf=\\\"contentLoaded\\\" fxLayoutAlign=\\\"center center\\\"\\n            (click)=\\\"openProductDialog(product);\\\">\\n            <h4\\n              [textContent]=\\\"(product?.ProductName | slice: 0:10) + (product?.ProductName.length > 10 ? '...':'')\\\">\\n            </h4>\\n          </div>\\n          <div *ngIf=\\\"contentLoaded\\\" class=\\\"price-wrap text-center\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n            <p>${{product.Price | number : '1.2-2'}}</p>\\n          </div>\\n          <div *ngIf=\\\"contentLoaded\\\" class=\\\"btn-wrap  text-center\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n            <a (click)=\\\"addToCart(product)\\\" mat-raised-button\\n              color=\\\"primary\\\">{{'unifiedapplication_add_to_cart' | translate}}</a>\\n          </div>\\n        </div>\\n      </mat-card>\\n    </div>\\n  </div>\\n  <div class=\\\"footerButton\\\">\\n    <button mat-button class=\\\"swiper-button-prev swipe-arrow\\\">\\n      <mat-icon>keyboard_arrow_left</mat-icon>\\n    </button>\\n    <button mat-button class=\\\"swiper-button-next swipe-arrow\\\">\\n      <mat-icon>keyboard_arrow_right</mat-icon>\\n    </button>\\n  </div>\\n</div>\";","import { Component, EventEmitter, HostListener, OnInit, Output } from '@angular/core';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { CartService } from '../services/cart.service';\nimport { AppSettings, Settings } from '../services/color-option.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AccountService } from '../services/account.service';\nimport { UserService } from '../services/user.service';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ConfigService } from '../services/config.service';\nimport { RestApiService } from '../services/restapi.service';\nimport { CompanyService } from '../services/company.service';\nimport { HttpClient } from '@angular/common/http';\nimport { ItemsListService } from '../services/itemsList.service';\nimport { ProductService } from '../services/product.service';\n\n\n@Component({\n  selector: 'app-header',\n  templateUrl: './header.component.html',\n  styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n  public sidenavMenuItems: Array<any>;\n  @Output() sildeMobileNavEvent = new EventEmitter<any>();\n  public currencies = ['USD', 'EUR'];\n  public currency: any;\n  public flag: any;\n  public userService: UserServiceModal;\n  userServiceModal: UserServiceModal;\n  products: Array<DSProduct>;\n  welcmtext: string = \"\";\n  public allItems: { Category: any, CategoryId: any }[] = [];\n  public productlist: { Category: any, CategoryId: any }[] = [];\n  indexProduct: number;\n  shoppingCartItems: CartItem[] = [];\n  public settings: Settings;\n  isTop: boolean = true;\n  currentRouterPath: any;\n  HomeProductlist: any;\n  public showheaderoncomplete:any;\n\n  constructor(private accountService:AccountService,private cartService: CartService, public appSettings:AppSettings,public translate:TranslateService,public user:UserService,public router: Router,\n    public activatedRoute: ActivatedRoute,\n    public configService: ConfigService,\n    public apiService  : RestApiService,\n    public companyService : CompanyService,\n    public http : HttpClient,\n    public itemsListService: ItemsListService,\n    public productsService: ProductService,\n    public UserService:UserService\n    ) {\n    this.userServiceModal = this.UserService?.userServiceModal;\n    this.settings = this.appSettings.settings;\n    this.userService=this.user.userServiceModal;\n    this.cartService.getItems().subscribe(shoppingCartItems => this.shoppingCartItems = shoppingCartItems);\n    this.router.events.subscribe((event) => {\n        this.currentRouterPath = router.url;\n    });\n    this.showheaderoncomplete = location.pathname.split('/')[2]\n  }\n\n  run(){\n    this.allItems = this.itemsListService.categoryList;\n    var product = this.itemsListService.groupByKeepOrder(this.productsService.orders, 'CategoryId');\n    let uniqueRequireProduct = [];\n    if(this.configService.localSettings.Global.CategoriesToFetch?.length > 0) {\n        product.filter((x) => {\n          x.filter((item)=> {\n            if (this.configService.localSettings.Global.CategoriesToFetch.indexOf(item.Category) > -1) {\n              uniqueRequireProduct.push(item);\n            }\n          })\n        })\n      }\n      else {\n        uniqueRequireProduct = [...product];\n      }\n    this.HomeProductlist = uniqueRequireProduct;\n    const note : HTMLElement = document.querySelector('.'+(document.getElementById('header-menu').parentElement.className))\n    note.style.width = '900px';\n    note.style.height = '250px';\n    if (screen.width < 1225) {\n      note.style.width = '622px';\n      note.style.height = '250px';\n    }\n  }\n\n  ngOnInit() {\n    this.currency = this.currencies[0];\n    setTimeout(() => {\n      this.welcmtext = this.translate.instant('welcome_');\n    }, 3000);\n  }\n  toggleMobileMenu($event){\n    this.sildeMobileNavEvent.emit($event);\n  }\n  changeCurrency(currency){\n    this.currency = currency;\n  }\n  changeLang(flag){\n    this.flag = flag;\n  }\n  logout(){\n    this.accountService.logout();\n  }\n\n  login(){\n    this.router.navigateByUrl('/login');\n  }\n  @HostListener(\"window:scroll\", [\"$event\"])\n  onScroll(): void {\n  if (window.scrollY > 60) {\n    this.isTop = false;\n  }else {\n    this.isTop = true;\n  }\n  }\n  \n  isLoggedIn() {\n    if ((Object.keys(this.userService.customerData).length) && (this.userService.customerData.CustomerId) && this.user.checkIfUserAuthenticatedOrNot()) {\n        return true;\n    } else {\n        return false;\n    }\n  } \n  }\n","import { UtilityService } from 'src/app/components/shared/services/utility.service';\n\nimport { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { cloneDeep } from 'lodash';\nimport { State } from 'src/app/modals/state.modal';\nimport { ShippingAddress, UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { OrderService } from '../../shared/services/order.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UserService } from '../../shared/services/user.service';\nimport { Cart1Service } from '../../shared/services/cart1.service';\nimport * as _ from 'lodash';\nimport { PersistentService } from '../../shared/services/persistent.service';\n@Component({\n    selector: 'app-shipping-address',\n    templateUrl: './shippingaddress.component.html',\n    styleUrls: ['./shippingaddress.component.scss']\n})\nexport class ShippingAddressComponent implements OnInit {\n    public userService: UserServiceModal;\n    public newShipping: ShippingAddress = {} as ShippingAddress;\n    public isStateRestrict: boolean;\n    constructor(\n        private router: Router,\n        public apiService: RestApiService,\n        public user: UserService,\n        public orderService: OrderService,\n        public translate: TranslateService,\n        public titleService: Title,\n        public cart1Service: Cart1Service,\n        public utilityService: UtilityService,\n        public persistentService: PersistentService\n    ) {\n        this.userService = user.userServiceModal;\n        this.userService.newshippingAddress = {} as ShippingAddress;\n        if (!this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)){\n            this.user.setShippingAddress();\n            this.userService.newshippingAddress.Country =  this.userService.shippingAddress?.CountryCode?.toUpperCase() || this.userService.customerData?.DefaultShippingAddress.MainCountry?.toUpperCase();\n            this.userService.newshippingAddress.Country = this.userService.newshippingAddress?.Country?.toUpperCase();\n        } else {\n            this.userService.newshippingAddress.Country =  sessionStorage.getItem('selectedCountry').toUpperCase() || this.userService.shippingAddress?.CountryCode?.toUpperCase();\n        }\n\n        // check restricated states\n        if (this.userService.restrictedStates.length) {\n            _.each(this.userService.restrictedStates, (state) => {\n                if (this.userService.shippingAddress.Region && (state).toLowerCase() === (this.userService.shippingAddress.Region).toLowerCase()) {\n                    this.isStateRestrict = true;\n                }\n            });\n        }\n\n    }\n    public allowedCountries: any = [];\n    states: Array<State> = [];\n    ngOnInit() {\n        this.translate.get('global_Company_Title').subscribe((text: string) => {\n            this.titleService.setTitle(this.translate.instant('pagetitle_shipping') + ' | ' + text);\n          });\n        this.apiService.getActiveCountries().subscribe(data => {\n            this.allowedCountries = data.Data;\n        }, () => { });\n        this.getCountryState();\n    }\n\n    getCountryState(country?: string) {\n        this.apiService.getStates(country || 'US').subscribe((result) => {\n            sessionStorage.setItem((country || 'US') + 'State', JSON.stringify(result.Data));\n            this.states = result.Data;\n        },\n            (error) => {\n            }, () => {\n\n            });\n    }\n\n    nextStep(isChanged?: boolean) {\n        if (this.userService.newshippingAddress && this.userService.newshippingAddress.Country && (this.userService.newshippingAddress.Country.toUpperCase() !== sessionStorage.getItem('selectedCountry').toUpperCase())) {\n            sessionStorage.setItem('selectedCountry', this.userService.newshippingAddress.Country);\n            const allowedCountries = JSON.parse(sessionStorage.getItem('allowedCountries'));\n            _.each(allowedCountries.Data, (item) => {\n                if (item.CountryCode.toLowerCase() == this.userService.newshippingAddress.Country.toLowerCase()) {\n                    sessionStorage.setItem('selectedLanguageCode', item.CountryLanguages[0].LanguageCode);\n                }\n            });\n        }\n        if (isChanged) {\n            if (this.userService.newshippingAddress && this.userService.newshippingAddress.Street1 && this.userService.newshippingAddress.PostalCode) {\n                this.userService.selectedShippingMethod = 0;\n                this.userService.newshippingAddress.FullName = this.userService.newshippingAddress.FirstName + ' ' + this.userService.newshippingAddress.LastName;\n                this.userService.shippingAddress = cloneDeep(this.userService.newshippingAddress);\n                this.userService.isAddressChanged = true;\n                this.userService.isEditAutoshipAddressChanged = this.utilityService.getAutoshipEditFlag() ? true : false;\n            }\n        } else {\n            this.userService.newshippingAddress = {};\n        }\n        this.orderService.calculateOrder().then(() => {\n            this.router.navigate(['/checkout']);\n\n        }).catch(() => {\n            this.router.navigate(['/checkout']);\n        });\n    }\n}\n","import { Injectable } from '@angular/core';\n\nexport class Settings {\n    constructor(public name: string,\n                public theme: string,\n                public rtl: boolean) { }\n}\n\n@Injectable()\nexport class AppSettings {\n    public settings = new Settings(\n        'Sophia', \n        'orange', \n        false       \n    )\n}","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n  name: 'productOrderBy'\n})\nexport class ProductOrderByPipe implements PipeTransform {\n  transform(array, val:any){\n\n    if (!val){\n      return array;\n    }\n\n    //ascending\n    if (val.sorttype == 'desc'){\n      return Array.from(array).sort((item1: any, item2: any) => {\n        return this.orderByComparator(item1[val.sortby], item2[val.sortby]);\n      });\n    } else if(val.sorttype == 'asc'){ // desc\n      return Array.from(array).sort((item1: any, item2: any) => {\n        return this.orderByComparator(item2[val.sortby], item1[val.sortby]);\n      });\n    }\n\n}\n\n  orderByComparator(a: any, b: any): number {\n    if ((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))) {\n      //Isn't a number so lowercase the string to properly compare\n      if (a.toLowerCase() < b.toLowerCase()) return -1;\n      if (a.toLowerCase() > b.toLowerCase()) return 1;\n    }\n    else {\n      //Parse strings as numbers to compare properly\n      if (parseFloat(a) < parseFloat(b)) return -1;\n      if (parseFloat(a) > parseFloat(b)) return 1;\n    }\n    return 0; //equal each other\n  }\n\n}\n","import {Directive, OnInit, Output, EventEmitter} from '@angular/core';\n\n/*\nSample usage : <div *ngIf=\"condition\" (ngInit)=\"initialize()\">  ... </div>\n*/\n\n@Directive({\n    selector: '[ngInit]'\n})\nexport class NgInitDirective implements OnInit {\n\n    @Output()\n    ngInit: EventEmitter<any> = new EventEmitter();\n\n    ngOnInit() {\n        this.ngInit.emit();\n    }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJicmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate, CanActivateChild } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\nimport { UserService } from './user.service';\n@Injectable({\n  providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate, CanActivateChild {\n\n  constructor(\n    private router: Router,\n    private cookieService: CookieService,\n    public user: UserService\n    ) { }\n  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):\n    boolean | Observable<boolean> | Promise<boolean> {\n    if (this.cookieService.get('X-Auth')) {\n      // logged in so return true\n      return true;\n    }\n    // not logged in so redirect to login page with the return url\n    this.router.navigate(['/login']).then(() => {\n      localStorage.removeItem('user');\n      this.cookieService.deleteAll('/');\n      sessionStorage.clear();\n      localStorage.clear();\n      this.user.init();\n      window.location.reload();\n    });\n    return false;\n  }\n\n  canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):\n    boolean | Observable<boolean> | Promise<boolean> {\n    return this.canActivate(route, state);\n  }\n}\n","export default \"<!-- breadcrumb start -->\\n<div class=\\\"breadcrumb-section\\\">\\n    <div class=\\\"container\\\">\\n        <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between start\\\"  class=\\\"\\\">\\n            <div class=\\\"breadcrumb-title  pr-15\\\" fxFlex=\\\"100\\\" fxFlex.gt-md=\\\"45\\\" fxFlex.md=\\\"45\\\">\\n          <div class=\\\"page-title\\\">\\n            <h4>{{ title }}</h4>\\n          </div>\\n        </div>\\n        <div class=\\\"breadcrumb-path \\\" fxFlex=\\\"100\\\" fxFlex.gt-md=\\\"45\\\" fxFlex.md=\\\"45\\\">\\n                <ol class=\\\"breadcrumb\\\" fxLayout=\\\"row\\\">\\n                  <li class=\\\"breadcrumb-item-home\\\"><a [routerLink]=\\\"'/home'\\\">Home</a></li>\\n                  <li class=\\\"breadcrumb-item\\\">/</li>\\n                  <li class=\\\"breadcrumb-item-path active\\\" aria-current=\\\"page\\\">{{ breadcrumb }}</li>\\n                </ol>\\n        </div>\\n          \\n      \\n    </div>\\n    </div>\\n  </div>\\n  <!-- breadcrumb End -->\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9kdWN0LWNhcm91c2VsLmNvbXBvbmVudC5zYXNzIn0= */\";","\n\nimport { Injectable } from '@angular/core';\nimport * as moment from 'moment';\nimport { ActivatedRoute } from '@angular/router';\nimport * as _ from 'lodash';\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class SideNavBarService {\n\n    public showsideBarSummary: boolean = false;\n    constructor() {\n\n    }\n\n    public triggerOpen(): void{\n        this.showsideBarSummary = !this.showsideBarSummary;\n    }\n\n    public closeSidePanel(): void{\n        this.showsideBarSummary = false;\n    }\n}\n","export default \"<div class=\\\"customer-item-1 swiper-container\\\" [swiper]=\\\"config\\\">\\n  <div class=\\\"swiper-wrapper\\\">\\n    <div *ngFor=\\\"let usertype of let usertype of customerTypes; let i = index; let first = first ;let last = last;\\\" class=\\\"swiper-slide\\\" [ngClass]=\\\"{'borderBox': typeSelected === usertype.ID}\\\">\\n      <mat-card fxLayout=\\\"column\\\" class=\\\"user-type\\\" *ngIf=\\\"isFirst\\\">\\n              <div class=\\\"user-type\\\" id=\\\"status-user-type-0\\\" [className]=\\\"typeSelected == 0?'selected':''\\\"\\n                (click)=\\\"selectType(0)\\\">\\n                <div class=\\\"user-type-heading\\\">{{'unifiedapplication_guest_customer' | translate}}</div>\\n                <span class=\\\"user-type-detail\\\">{{'unifiedapplication_guest_description' | translate}}</span>\\n                <button class=\\\"user-type-select-btn\\\" mat-raised-button color=\\\"primary\\\" (click)=\\\"collapseSection(0)\\\">\\n                  <mat-icon *ngIf=\\\"typeSelected == 0\\\">check</mat-icon>\\n                  <span>{{(typeSelected == 0 ? \\\"unifiedapplication_selected_btn\\\" : \\\"unifiedapplication_select_btn\\\") |\\n                    translate}}</span>\\n                </button>\\n              </div>\\n      </mat-card>\\n      <mat-card fxLayout=\\\"column\\\" class=\\\"user-type\\\">\\n        <div id=\\\"status-user-type-{{usertype.ID}}\\\"\\n          [className]=\\\"typeSelected == usertype.ID?'selected':''\\\" (ngInit)=\\\"setScrollPosition()\\\"\\n          (click)=\\\"selectType(usertype.ID)\\\">\\n          <div class=\\\"user-type-heading\\\" [translate]=\\\"'unifiedapplication_user_type_'+usertype.ID\\\"> </div>\\n          <div class=\\\"user-type-detail\\\" [translate]=\\\"'unifiedapplication_user_description_'+usertype.ID\\\"> </div>\\n          <button mat-raised-button  color=\\\"primary\\\" class=\\\"user-type-select-btn\\\" (click)=\\\"collapseSection(usertype.ID)\\\">\\n            <mat-icon *ngIf=\\\"typeSelected == usertype.ID\\\">check</mat-icon>\\n            <span>{{(typeSelected == usertype.ID ? \\\"unifiedapplication_selected_btn\\\" :\\n              \\\"unifiedapplication_select_btn\\\") | translate}}</span>\\n          </button>\\n        </div>\\n      </mat-card>\\n    </div>\\n  </div>\\n  <div class=\\\"footerButton\\\">\\n    <button mat-button class=\\\"swiper-button-prev swipe-arrow\\\">\\n      <mat-icon>keyboard_arrow_left</mat-icon>\\n    </button>\\n    <button mat-button class=\\\"swiper-button-next swipe-arrow\\\">\\n      <mat-icon>keyboard_arrow_right</mat-icon>\\n    </button>\\n  </div>\\n</div>\\n\";","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport {  SwiperDirective } from 'ngx-swiper-wrapper';\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { ProductDialogComponent } from '../../products/product-dialog/product-dialog.component';\nimport { CartService } from 'src/app/components/shared/services/cart.service';\nimport { ProductService } from 'src/app/components/shared/services/product.service';\nimport { ConfigService } from 'src/app/components/shared/services/config.service';\nimport { CompanyService } from 'src/app/components/shared/services/company.service';\n\n@Component({\n  selector: 'app-product-carousel',\n  templateUrl: './product-carousel.component.html',\n  styleUrls: ['./product-carousel.component.sass']\n})\nexport class ProductCarouselComponent implements OnInit {\n  @Output() onOpenProductDialog: EventEmitter<any> = new EventEmitter();\n  @Input('product') product: Array<any> = [];\n  public config: SwiperConfigInterface = {};\n  contentLoaded = false;\n  constructor(public configService:ConfigService,private dialog: MatDialog, private router: Router, private cartService: CartService, private productService: ProductService, public companyService:CompanyService) { }\n\n  ngOnInit() {\n    setTimeout(() => {\n      this.contentLoaded = true;\n    }, 3000);\n  }\n  ngAfterViewInit(){ \n    this.config = {\n      observer: true,\n      slidesPerView: 5,\n      spaceBetween: 16,\n      keyboard: true,\n      navigation: true,\n      pagination: false,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      breakpoints: {\n        480: {\n          slidesPerView: 1\n        },\n        740: {\n          slidesPerView: 2,\n        },\n        960: {\n          slidesPerView: 3,\n        },\n        1280: {\n          slidesPerView: 4,\n        },\n\n\n      }\n    }\n  }\n\n\n  public openProductDialog(product){\n    let dialogRef = this.dialog.open(ProductDialogComponent, {\n        data: product,\n        panelClass: 'product-dialog',\n    });\n    dialogRef.afterClosed().subscribe(product => {\n      if(product){\n        this.router.navigate(['/products', product.id, product.name]);\n      }\n    });\n  }\n\n   // Add to cart\n   public addToCart(product: any,  quantity: number = 1) {\n    this.cartService.addToCart(product,quantity);\n  }\n\n}\n\n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { SwiperConfigInterface, SwiperPaginationInterface } from 'ngx-swiper-wrapper';\nimport { ConfigService } from '../services/config.service';\n\n@Component({\n  selector: 'app-product-banner-carousel',\n  templateUrl: './product-banner-carousel.component.html',\n  styleUrls: ['./product-banner-carousel.component.scss']\n})\nexport class ProductBannerCarouselComponent implements OnInit {\n  @Input('slides') slides: Array<any> = [];\n  public config: SwiperConfigInterface = {};\n  private pagination: SwiperPaginationInterface = {\n    el: '.swiper-pagination',\n    clickable: true\n  };\n  constructor(\n   \n  ) { }\n  ngOnInit() { \n    \n  }\n  ngAfterViewInit(){\n    this.config = {\n      slidesPerView: 1,\n      spaceBetween: 0,\n      initialSlide: 5,\n      keyboard: true,\n      navigation: true,\n      pagination: this.pagination,\n      grabCursor: true,\n      loop: false,\n      preloadImages: false,\n      lazy: true,\n      autoplay: {\n        delay: 6000,\n        disableOnInteraction: false\n      },\n      speed: 500,\n      effect: \"slide\"\n    }\n  }\n}\n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { ProductDetailsComponent } from './products/product-details/product-details.component';\nimport { ProductNoSidebarComponent } from './products/product-no-sidebar/product-no-sidebar.component';\n\n// Routes\nconst routes: Routes = [\n  { path: 'products/:category', component: ProductNoSidebarComponent },\n  { path: 'product/:id', component: ProductDetailsComponent , pathMatch: 'full'}\n\n\n\n];\n\n\n@NgModule({\n  imports: [RouterModule.forChild(routes)],\n  exports: [RouterModule]\n})\nexport class ShopRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { LoaderService } from '../shared/services/loader.service';\n\n@Component({\n  selector: 'app-my-loader',\n  templateUrl: './my-loader.component.html',\n  styleUrls: ['./my-loader.component.scss']\n})\nexport class MyLoaderComponent implements OnInit {\n\n  loading: boolean;\n\n  constructor(private loaderService: LoaderService) {\n\n    this.loaderService.isLoading.subscribe((v) => {\n      this.loading = v;\n    });\n\n  }\n  ngOnInit() {\n  }\n}","export default \"<button mat-icon-button class=\\\"close-button\\\" (click)=\\\"close()\\\">\\n    <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n</button>\\n\\n<div fxLayout=\\\"column\\\" class=\\\"allowCvvModel-dialog\\\">\\n    <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"none center\\\" class=\\\"p-16\\\">\\n        <div class=\\\"clone-card-title color-for-white-bg f-s-25\\\" translate fxFlex=\\\"90\\\">add_security_code</div>\\n    </div>\\n    <mat-divider></mat-divider>\\n    <div class=\\\"p-16\\\">\\n        <p class=\\\"ds-sub-heading f-bold\\\" translate=\\\"verify_cvc_msg\\\"></p>\\n    </div>\\n    <div class=\\\"p-r-l-16\\\">\\n        <form name=\\\"addCvv\\\">\\n            <div fxFlex=\\\"100\\\">\\n                <mat-form-field fxFlex class=\\\"ds-validate\\\" appearance=\\\"outline\\\">\\n                    <input matInput noempty=\\\"true\\\" placeholder=\\\"Please Enter CVV\\\" greater-than-zero=\\\"true\\\" addcvvsection=\\\"true\\\"\\n                    [(ngModel)]=\\\"cvvCode\\\" [ngModelOptions]=\\\"{standalone: true}\\\" maxlength=\\\"4\\\" minlength=\\\"3\\\" inputonlynumber=\\\"true\\\" validate\\n                    type=\\\"text\\\">\\n                </mat-form-field>\\n            </div>\\n        </form>\\n    </div>\\n    <div class=\\\"p-16\\\">\\n        <div class=\\\"card-design m-t-10\\\" [innerHtml]=\\\"'card_cvv' | translate\\\"></div>\\n    </div>\\n    <mat-divider></mat-divider>\\n    <div mat-dialog-actions fxLayoutAlign=\\\"end start\\\" class=\\\"p-16\\\">\\n        <div fxLayout=\\\"row\\\"> \\n           <div>\\n            <button mat-button class=\\\"text-uppercase m-r-10 bgm-white\\\" (click)=\\\"close();\\\">{{'cancel' | translate}}</button>\\n           </div>\\n          <div>\\n            <button mat-raised-button color=\\\"primary\\\" class=\\\"text-uppercase m-r-10\\\" validate sectiontype=\\\"addcvvsection\\\"\\n            trigger-check-section=\\\"true\\\" (success)=\\\"save(cvvCode);\\\"> {{'proceed' | translate}}</button>\\n          </div>\\n        </div>\\n    </div>\\n</div>\";","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { PaymentService } from '../../shared/services/payment.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UserService } from '../../shared/services/user.service';\nimport { OrderInvoiceComponent } from '../order-invoice/order-invoice.component';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Title } from '@angular/platform-browser';\nimport { OrderService } from '../../shared/services/order.service';\nimport { Cart1Service } from '../../shared/services/cart1.service';\nimport { AutoshipConfigurationService } from '../../shared/services/autoshipConfiguration.service';\nimport { AccountService } from '../../shared/services/account.service';\nimport { OrderPipe } from 'ngx-order-pipe';\nimport { PersistentService } from '../../shared/services/persistent.service';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Component({\n  selector: 'app-complete',\n  templateUrl: './complete.component.html',\n  styleUrls: ['./complete.component.scss']\n})\nexport class CompleteComponent implements OnInit, OnDestroy {\n  show:boolean=true\n  public userService: UserServiceModal;\n  isShowPassword: boolean = false;\n  IsApplication: boolean = false;\n  userEnrollmentDetail: any = {};\n  SubmitApplicationResponse: any = {};\n  isEnrollGuest: boolean = false;\n  passwordLength: any = [];\n  guest: any;\n  selectedAutoship: any;\n  selectedAutoshipID: any;\n  public AutoOrdersData: any[] = [];\n  constructor(\n    private translate: TranslateService,\n    private titleService: Title,\n    private router: Router,\n    private matDailog: MatDialog,\n    public user: UserService,\n    public paymentService: PaymentService,\n    public apiService: RestApiService,\n    public utilityService: UtilityService,\n    public orderService: OrderService,\n    public cart1Service: Cart1Service,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public accountService: AccountService,\n    private orderPipe: OrderPipe,\n    public persistentService: PersistentService,\n    public cookieService:CookieService\n    ) {\n    this.userService = this.user.userServiceModal;\n    this.getAutoOrders();\n  }\n  ngOnInit(): void {\n    this.guest = JSON.parse(localStorage.getItem('guestLogin'));\n    this.userEnrollmentDetail = JSON.parse(localStorage.getItem('SubmitApplication'));\n    this.IsApplication = sessionStorage.getItem('IsEnrollment') == 'true' ? true : false;\n    // clear cart and order details\n    this.orderService.calculateOrderResponse = {};\n    // clear last requests\n    this.orderService.resetLastRequests();\n    this.cart1Service.clearCart();\n    if (localStorage.getItem('SubmitApplication') && JSON.parse(localStorage.getItem('SubmitApplication'))) {\n      if (this.IsApplication){\n        let Response: any = {};\n        Response = JSON.parse(localStorage.getItem('SubmitApplication'));\n        this.SubmitApplicationResponse = {\n          OrderID : Response?.OrderStatus?.OrderNumber,\n          AutoOrderId : Response?.AutoOrderStatus?.OrderNumber\n        };\n      }\n      else{\n        this.SubmitApplicationResponse = JSON.parse(localStorage.getItem('SubmitApplication'));\n      }\n    } else {\n      this.SubmitApplicationResponse = {};\n    }\n\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_complete') + ' | ' + text);\n    });\n    this.passwordLength.length = this.userService.webOffice && this.userService.webOffice.Password && this.userService.webOffice.Password.length || 8;\n    window.onbeforeunload = () => this.ngOnDestroy();\n  }\n\n  showpass(){\n    this.show = !this.show\n  }\n  ngOnDestroy(): void {\n    if (this.guest != 'false' && this.guest) {\n      localStorage.setItem('IsMarketCountrySelected', 'false');\n      localStorage.removeItem('LiveState');\n      localStorage.removeItem('SubmitApplication');\n      localStorage.removeItem('guestLogin');\n      localStorage.removeItem('selectedCountry');\n      localStorage.removeItem('commonSetting');\n      this.paymentService.PaymentTypeResponse = [];\n      this.paymentService.PaymentDataResponse = {};\n      this.paymentService.selectedPaymentTypeName = '';\n      this.paymentService.SelectedPaymentTypes = {};\n      this.paymentService.OldSelectedPaymentType = {};\n      this.paymentService.AllowedMethods = [];\n      this.paymentService.SaveMethods = [];\n      this.resetUserService_updateEnrollerInfo();\n      //clearing data on destory \n            this.cookieService.delete('X-Auth', '/');\n            this.cookieService.deleteAll('/');\n            localStorage.clear();\n            sessionStorage.clear();\n            this.user.setDefault();\n    }\n    this.autoshipConfigurationService.autoshipDate = '';\n    if (this.IsApplication) {\n      this.resetUserService_updateEnrollerInfo();\n      this.paymentService.clearPayment();\n      sessionStorage.removeItem('IsEnrollment');\n      //clearing data on destory \n            this.cookieService.delete('X-Auth', '/');\n            this.cookieService.deleteAll('/');\n            localStorage.clear();\n            sessionStorage.clear();\n            this.user.setDefault();\n    }\n  }\n\n\n  goToProduct() {\n    if (this.IsApplication) {\n      this.resetUserService_updateEnrollerInfo();\n      this.paymentService.clearPayment();\n      sessionStorage.removeItem('IsEnrollment');\n      sessionStorage.getItem('IsLegacyUnifiedEnrollment');\n    }\n    localStorage.setItem('IsMarketCountrySelected', 'false');\n    this.userService.couponInfo.RewardsForUse = [];\n    this.userService.couponInfo.promoCode = '';\n    this.userService.couponInfo.promoCodeValid = false;\n    this.userService.couponInfo.IsAppliedcode = false;\n    this.userService.couponInfo.Allcoupons = [];\n    this.autoshipConfigurationService.autoshipDate = '';\n    if (!this.IsApplication) {\n      this.userService.newshippingAddress = {};\n      this.userService.restrictedStates = [];\n      this.accountService.getCustomerData(this.userService.customerData.CustomerId).then((data: any) => {\n        try {\n          if (!this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)) {\n            this.user.setShippingAddress();\n          } else {\n            this.userService.shippingAddress = null;\n          }\n          this.logout()\n          // this.router.navigate(['/join']);\n\n        } catch (ex) {\n          this.logout()\n          // this.router.navigate(['/join']);\n        }\n      })\n      .catch((error) => {\n        console.log('error', error);\n      });\n    }\n    else {\n      this.logout()\n      // this.router.navigate(['/join']);\n    }\n\n  }\n  logout(){\n    this.cookieService.delete('X-Auth', '/');\n    this.cookieService.deleteAll('/');\n    // remove user from local storage and set current user to null\n    this.apiService.Logout().subscribe(() => {\n      this.router.navigate(['/join']).then(() => {\n      localStorage.removeItem('user');\n      localStorage.clear();\n      sessionStorage.clear();\n      this.user.setDefault();\n      window.location.reload();\n      });\n    });\n  }\n\n  resetUserService_updateEnrollerInfo() {\n    const enrollerInfo = this.userService.enrollerInfo;\n    if (!this.userService.customerData.CustomerId) {\n      this.user.setDefault();\n    }\n    this.userService.enrollerInfo = enrollerInfo;\n    localStorage.setItem('userService', JSON.stringify(this.userService));\n  }\n\n  showOrderInvoice(dialogData?: any) {\n    const dialogRef =  this.matDailog.open(OrderInvoiceComponent, {\n      panelClass: 'invoiceDialog',\n      data: {OrderNumber: dialogData}\n    });\n\n    dialogRef.afterClosed().subscribe(dialogResult => {\n      const result = dialogResult;\n    });\n  }\n\n  showAutoOrderInvoice() {\n    this.router.navigate(['/manageautoship']);\n  }\n  getAutoOrders() {\n    this.apiService.getCustomerAutoships(this.userService.customerData.CustomerId).subscribe((result: any) => {\n      try {\n        if (Number(result.Status) === 0) {\n          if (result.Data && result.Data.length > 0) {\n            this.AutoOrdersData = this.orderPipe.transform(result.Data, 'AutoShipID', true);\n            this.selectedAutoshipID = result.Data[0].AutoShipID;\n            // Show selected Autoship in dropdown\n            this.selectedAutoship = this.persistentService.retailData.CurrentSelectedAutoOrder || this.AutoOrdersData[0].AutoShipID;\n          }\n        }\n      } catch (ex) {\n        console.error('ex', ex);\n      }\n    }, (error) => {\n      this.AutoOrdersData = [];\n    }, () => { });\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n@Pipe({\n\tname: 'translateSmartshipmonth'\n})\nexport class TranslateSmartShipMonthPipe implements PipeTransform {\n\tconstructor(public translate:TranslateService){}\n\ttransform(value) {\n\t\tif (typeof value !== 'string') {\n\t\t\treturn '';\n\t\t}\n\t\tvar s = value.split(' ');\n\t\ts[1] = this.translate.instant(s[1]);\n\t\treturn s.join(' ');\n\t}\n}","import { Injectable, EventEmitter } from '@angular/core';\nimport {Event, NavigationEnd, Router} from '@angular/router';\nimport {BehaviorSubject} from 'rxjs';\n\n\n@Injectable({\n  providedIn: 'root'\n})\n\n\n\n\nexport class SidebarMenuService {\n  public appDrawer: any;\n  public currentUrl = new BehaviorSubject<string>(undefined);\n\n  constructor(private router: Router) {\n\n  }\n\n\n\n\n}\n\n\n\n\n\n\n\n","export default \".img-parent {\\n  display: flex;\\n  justify-content: center;\\n  align-items: flex-start;\\n  flex-wrap: wrap;\\n  min-height: 290px;\\n  padding-top: 20px;\\n  padding-bottom: 20px;\\n  width: 100%;\\n  border-bottom: 1px solid #ddd;\\n}\\n.img-parent img {\\n  height: auto;\\n  max-height: 290px;\\n  max-width: 100%;\\n}\\n::ng-deep .product-dialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n::ng-deep .product-dialog .mat-dialog-container {\\n  margin: 20px 0px;\\n  overflow: unset;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2R1Y3QtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRUksYUFBQTtFQUVBLHVCQUFBO0VBRUEsdUJBQUE7RUFFQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsV0FBQTtFQUNBLDZCQUFBO0FBQ0o7QUFDSTtFQUNJLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7QUFDUjtBQUVBO0VBQ0ksWUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FBQ0o7QUFFRTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtBQUNKIiwiZmlsZSI6InByb2R1Y3QtZGlhbG9nLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmltZy1wYXJlbnQge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4taGVpZ2h0OiAyOTBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMjkwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG46Om5nLWRlZXAgLnByb2R1Y3QtZGlhbG9nIC5jbG9zZS1idXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0b3A6IC01MnB4O1xuICAgIHJpZ2h0OiAtNTJweDtcbiAgfVxuICBcbiAgOjpuZy1kZWVwIC5wcm9kdWN0LWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMjBweCAwcHg7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICB9Il19 */\";","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { UserService } from '../../services/user.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { CompanyService } from '../../services/company.service';\n\n@Component({\n  selector: 'app-ship-methods',\n  templateUrl: './ship-methods.component.html',\n  styleUrls: ['./ship-methods.component.scss']\n})\nexport class ShipMethodsComponent implements OnInit {\n  IsDialogMax: boolean = false;\n  hostHeight: any;\n  hostWidth: any;\n  cvvCode: any;\n  public shipMethods: any;\n  userService: UserServiceModal;\n  public selectedShippingMethod: number;\n  constructor(\n    public dialogRef: MatDialogRef<any>,\n    public matDialogRef: MatDialogRef<ShipMethodsComponent>, @Inject(MAT_DIALOG_DATA) public dialogData: any, public user: UserService\n, public companyService:CompanyService  ) {\n    this.shipMethods = this.dialogData;\n    this.userService = this.user.userServiceModal;\n    this.selectedShippingMethod = this.userService.selectedShippingMethod;\n  }\n\n  ngOnInit(): void {\n  }\n\n  updateShipMethod() {\n    this.dialogRef.close({ 'shipMethod': this.selectedShippingMethod });\n  }\n}\n","export default \".hosted_payment-Dialog .dialog-title {\\n  color: #FFFFFF;\\n  font-size: 21px;\\n}\\n.hosted_payment-Dialog .header {\\n  background-color: var(--theme-deafult);\\n}\\n.hosted_payment-Dialog .header-tab-action {\\n  background: #00000026 !important;\\n  margin: 0px 5px;\\n  border-radius: 10px;\\n  color: #FFFFFF;\\n}\\n.hosted_payment-Dialog .mat-dialog-content {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.hosted_payment-Dialog .mat-dialog-content .borderBox {\\n  border: 1px solid #e0e0e0;\\n}\\n.hosted_payment-Dialog .mat-dialog-content .p-15 {\\n  padding: 15px !important;\\n}\\n.hosted_payment-Dialog .mat-dialog-actions {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.hosted_payment-Dialog .mat-dialog-actions .updateButton {\\n  background-color: var(--theme-deafult);\\n  color: #FFFFFF;\\n}\\n.hosted_payment-Dialog ::ng-deep .mat-radio-label-content {\\n  white-space: normal !important;\\n  color: #000000DE;\\n  font-size: 14px;\\n}\\n.c-1 {\\n  color: var(--theme-deafult);\\n}\\n::ng-deep .hosted_payment-Dialog .mat-dialog-container {\\n  margin: 0px;\\n  padding: 0px !important;\\n}\\n.material-icons.color_white {\\n  color: #ffffff;\\n}\\n.close-button {\\n  float: right;\\n  top: -24px;\\n  right: -24px;\\n}\\n.close-icon {\\n  transition: 1s ease-in-out;\\n  color: white;\\n}\\n.close-icon:hover {\\n  transform: rotate(180deg);\\n}\\n::ng-deep .hosted_payment-Dialog .close-button {\\n  float: right;\\n  top: -52px;\\n  right: -52px;\\n}\\n::ng-deep .hosted_payment-Dialog .mat-dialog-container {\\n  overflow: unset;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2hvc3RlZHBheW1lbnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVJO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QUFEUjtBQUdJO0VBQ0ksc0NBQUE7QUFEUjtBQUdJO0VBQ0ksZ0NBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0FBRFI7QUFHSTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtBQURSO0FBRVE7RUFDSSx5QkFBQTtBQUFaO0FBRVE7RUFDSSx3QkFBQTtBQUFaO0FBR0k7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7QUFEUjtBQUVRO0VBQ0ksc0NBQUE7RUFDQSxjQUFBO0FBQVo7QUFJSTtFQUNJLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0FBRlI7QUFLQTtFQUNJLDJCQUFBO0FBRko7QUFLQTtFQUVJLFdBQUE7RUFDQSx1QkFBQTtBQUhKO0FBS0E7RUFBNkIsY0FBQTtBQUQ3QjtBQUVBO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FBQ0Y7QUFDQTtFQUNFLDBCQUFBO0VBQ0EsWUFBQTtBQUVGO0FBQ0E7RUFDRSx5QkFBQTtBQUVGO0FBQ0E7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFFRjtBQUNBO0VBQ0MsZUFBQTtBQUVEIiwiZmlsZSI6Imhvc3RlZHBheW1lbnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhvc3RlZF9wYXltZW50LURpYWxvZyB7XG5cbiAgICAuZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG4gICAgLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWRlYWZ1bHQpO1xuICAgIH1cbiAgICAuaGVhZGVyLXRhYi1hY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwMjYgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwcHggNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgLm1hdC1kaWFsb2ctY29udGVudCB7IFxuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMjNweCAyNXB4O1xuICAgICAgICAuYm9yZGVyQm94IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICAgIH1cbiAgICAgICAgLnAtMTUge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfSAgXG4gICAgLm1hdC1kaWFsb2ctYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAyM3B4IDI1cHg7XG4gICAgICAgIC51cGRhdGVCdXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdCk7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICA6Om5nLWRlZXAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMDAwMERFO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG59ICBcbi5jLTEge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0KTtcbn1cblxuOjpuZy1kZWVwIC5ob3N0ZWRfcGF5bWVudC1EaWFsb2cgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG4ubWF0ZXJpYWwtaWNvbnMuY29sb3Jfd2hpdGUge2NvbG9yOiAjZmZmZmZmO31cbi5jbG9zZS1idXR0b257XG4gIGZsb2F0OiByaWdodDtcbiAgdG9wOi0yNHB4O1xuICByaWdodDotMjRweDtcbn1cbi5jbG9zZS1pY29uIHtcbiAgdHJhbnNpdGlvbjogMXMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNsb3NlLWljb246aG92ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG46Om5nLWRlZXAgLmhvc3RlZF9wYXltZW50LURpYWxvZyAuY2xvc2UtYnV0dG9ue1xuICBmbG9hdDogcmlnaHQ7XG4gIHRvcDotNTJweDtcbiAgcmlnaHQ6LTUycHg7XG59XG5cbjo6bmctZGVlcCAuaG9zdGVkX3BheW1lbnQtRGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gb3ZlcmZsb3c6IHVuc2V0XG59Il19 */\";","export default \"input:hover {\\n  background-color: #d4d4d4;\\n}\\n\\np, h5, li {\\n  font-size: 14px !important;\\n}\\n\\n.footer .footer-widget a {\\n  font-size: 14px !important;\\n}\\n\\n.footer .links-widget a:hover, .footer .subscribe-widget a:hover, .a-hover:hover {\\n  opacity: 0.6;\\n}\\n\\n.footer-widget .logo {\\n  letter-spacing: normal;\\n  font-size: 24px !important;\\n  font-weight: 700;\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif;\\n}\\n\\n.btn-color {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Zvb3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHlCQUFBO0FBQ0o7O0FBQ0E7RUFDSSwwQkFBQTtBQUVKOztBQUFBO0VBQ0ksMEJBQUE7QUFHSjs7QUFEQTtFQUNJLFlBQUE7QUFJSjs7QUFGQTtFQUNJLHNCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQkFBQTtFQUNBLHdDQUFBO0FBS0o7O0FBSEE7RUFDSSwyREFBQTtBQU1KIiwiZmlsZSI6ImZvb3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImlucHV0OmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XG59XG5wLGg1LGxpe1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuLmZvb3RlciAuZm9vdGVyLXdpZGdldCBhe1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuLmZvb3RlciAubGlua3Mtd2lkZ2V0IGE6aG92ZXIsLmZvb3RlciAuc3Vic2NyaWJlLXdpZGdldCBhOmhvdmVyLC5hLWhvdmVyOmhvdmVye1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cbi5mb290ZXItd2lkZ2V0IC5sb2dve1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogXCJJQk0gUGxleCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIH1cbi5idG4tY29sb3J7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG59Il19 */\";","\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class LoaderService {\n\n  public isLoading = new BehaviorSubject(false);\n  constructor() { }\n}","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { ProductService } from '../../shared/services/product.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UserService } from '../../shared/services/user.service';\nimport { getSubdomain } from 'tldts';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { ValidateKeywordService } from '../../shared/services/validatekeyword.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { Title } from '@angular/platform-browser';\nimport { UtilityService } from '../../shared/services/utility.service';\ndeclare const Object: {\n  keys<T extends {}>(object: T): (keyof T)[]\n};\n\n@Component({\n  selector: 'app-signup',\n  templateUrl: './signup.component.html',\n  styleUrls: ['./signup.component.scss']\n})\nexport class SignupComponent implements OnInit {\n  public userInfo: any = {\n    firstname: '',\n    lastname: '',\n    email: '',\n    username: '',\n    password: '',\n    confirmpassword: ''\n  };\n  userService: UserServiceModal;\n  public loadingDetails: boolean = false;\n  public UserNameCheck: boolean = false;\n  public EmailCheck: boolean = true;\n  constructor(\n    public user: UserService,\n    private router: Router,\n    public notificationService: NotificationService,\n    public apiService: RestApiService,\n    public translate: TranslateService,\n    public itemsService: ProductService,\n    public configService: ConfigService,\n    public validateKeywordService: ValidateKeywordService,\n    public titleService: Title,\n    public utilityService: UtilityService\n    ) {\n      this.userService = user.userServiceModal;\n    }\n\n  ngOnInit(): void {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_signup') + ' | ' + text);\n    });\n    if (Object.keys(this.userService.customerData).length || this.userService.guestUserData.Email) {\n      this.notificationService.error('message_', 'you_are_already_logged_in');\n      this.router.navigate(['products/all'], {skipLocationChange: false});\n    }\n  }\n\n\n  createCustomer() {\n    if (!(this.UserNameCheck && this.EmailCheck)) { return; }\n    this.loadingDetails = true;\n    this.userService.customerTypeID = 2;\n    const request = {\n      CustomerType: 2,\n      EmailAddress: this.userInfo.email,\n      FirstName: this.userInfo.firstName,\n      LastName: this.userInfo.lastName,\n      Password: this.userInfo.password,\n      PrimaryAddress: {\n        Street1: 'No Address',\n        Region: this.userService.regionMainState || 'UT',\n        CountryCode: this.configService.commonData.selectedCountry || 'us'\n      },\n      SponsorId: this.userService.enrollerInfo.CustomerId || 2,\n      Username: this.userInfo.username,\n    };\n    this.apiService.createCustomer(request).subscribe((result) => {\n      this.loadingDetails = false;\n      try {\n        if (Number(result.Data) > 0) {\n          this.loginFunction(this.userInfo.username, this.userInfo.password);\n          this.userService.newUser = true;\n          this.userInfo = {};\n          this.notificationService.success('Success', 'customer_created_successfully');\n        } else {\n          this.notificationService.error('error_', result.ErrorDescription);\n        }\n      } catch (ex) {\n        this.notificationService.error('error_', 'error_occured_try_again');\n      }\n    },\n    err => {\n      // Do stuff whith your error\n      this.loadingDetails = false;\n    },\n    () => {\n      \n    });\n  }\n\n  verifyUsername(username: string) {\n    this.UserNameCheck = false;\n    if (this.userInfo.username) {\n      const isValidPost = this.validateKeywordService.CheckValidation(this.configService.localSettings.Global.blockword, username);\n      if (isValidPost && !(isValidPost.isvalid)) {\n        this.notificationService.error('error_', this.translate.instant('username_not_available_'));\n        this.UserNameCheck = false;\n        this.userInfo.username = '';\n      } else {\n\n        this.loadingDetails = true;\n\n        this.apiService.validateUsername(this.userInfo.username).subscribe((result) => {\n          this.loadingDetails = false;\n          try {\n            if (!result.Data) {\n              this.UserNameCheck = true;\n              this.notificationService.success('success', this.translate.instant('username_available_'));\n            } else {\n              this.notificationService.error('error_', this.translate.instant('username_not_available_'));\n              this.userInfo.username = '';\n            }\n          } catch (ex) {\n            this.notificationService.error('error_', this.translate.instant('error_occured_try_again'));\n          }\n        },\n          err => {\n            // Do stuff whith your error\n            this.loadingDetails = false;\n          },\n          () => {\n            \n          });\n      }\n    }\n  }\n\n  loginFunction(userName, pass) {\n    this.loadingDetails = true;\n    const loginrequest = {\n      granttype: 'password',\n      scope: 'office',\n      username: userName,\n      password: pass\n    };\n    this.apiService.Login(loginrequest).subscribe(\n       (result) => {\n        if (result) {\n          try {\n            localStorage.setItem('isLoggedIn', 'true');\n            this.apiService.getCustomer().subscribe((data) => {\n              this.loadingDetails = false;\n              if (data && data.Data) {\n                this.userService.customerData = data.Data;\n                this.userService.customerTypeID = this.userService.customerData.CustomerType;\n                if (!this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)) {\n                  this.user.setShippingAddress();\n                } else {\n                  this.userService.shippingAddress = new UserServiceModal().newshippingAddress;\n                }\n                if (this.userService.customerData.Webalias) {\n                  this.apiService.validateWebAlias(this.userService.customerData.Webalias).subscribe((res: any) => {\n                    if (res.Data) {\n                      this.userService.WebAlias = this.userService.customerData.Webalias;\n                      this.loginredirect();\n                    }\n                  }, (error) => {\n                    if (error.Data && !error.Data.WebAlias) {\n                      this.notificationService.error('error_', 'webalias_not_exists');\n                      return false;\n                    }\n                  },\n                    () => {\n                      \n                    });\n                }\n                else if (this.userService.customerData.SponsorId) {\n                  this.apiService.getSearchCustomerDetail(this.userService.customerData.SponsorId).subscribe((resp: any) => {\n                    if (resp.Data) {\n                      this.apiService.validateWebAlias(resp.Data.WebAlias).subscribe((res: any) => {\n                        if (res.Data) {\n                          this.userService.WebAlias = resp.Data.WebAlias;\n                          this.loginredirect();\n                        }\n                      }, (error) => {\n                        if (error.Data && !error.Data) {\n                          this.notificationService.error('error_', 'webalias_not_exists');\n                          return false;\n                        }\n                      },\n                        () => {\n                          \n                        });\n                    }\n                  }, (error) => {\n                    if (error.Data && !error.Data.WebAlias) {\n                      this.notificationService.error('error_', 'webalias_not_exists');\n                      return false;\n                    }\n                  },\n                    () => {\n                      \n                    });\n                }\n              } else {\n                this.notificationService.error('error_', 'error_occured_try_again');\n              }\n            }, err => {\n              this.notificationService.error('error_', 'error_occured_try_again');\n              this.loadingDetails = false;\n            },\n              () => {\n                \n              });\n          } catch (successEx) {\n            this.notificationService.error('error_', 'error_occured_try_again');\n            this.loadingDetails = false;\n            console.error('ex', successEx);\n          }\n        } else {\n          this.loadingDetails = false;\n          this.notificationService.error('error_', 'error_occured_try_again');\n        }\n      }, err => {\n        this.loadingDetails = false;\n        this.notificationService.error('error_', 'error_occured_try_again');\n      },\n      () => {\n        \n      });\n  }\n\n  loginredirect() {\n    let newUrl: any;\n    const subdomain = getSubdomain(window.location.host);\n    if (subdomain) {\n      newUrl = window.location.href.replace(subdomain, this.userService.WebAlias);\n    }\n\n    if (this.itemsService.selectedPacks.length || this.itemsService.selectedOrderItems.length) {\n      this.userService.checkItems = true;\n\n      window.location.assign(newUrl.replace('signup', 'checkout'));\n    } else if (this.itemsService.selectedAutoOrderItems.length) {\n      this.userService.checkItems = true;\n\n      window.location.assign(newUrl.replace('signup', 'products/all'));\n    } else {\n      window.location.assign(newUrl.replace('signup', 'products/all'));\n    }\n  }\n\n  // For check android Mobile only\n  validEmailData(value) {\n    this.userInfo.email = value.replace(/\\s/g, '');\n    this.verifyUserNameAndEmail();\n  }\n\n  verifyUserNameAndEmail() {\n    var filter = new RegExp('^([\\\\w-\\\\.+]+)@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.)|(([\\\\w-]+\\\\.)+))([a-zA-Z]{2,10}|[0-9]{1,3})(\\\\]?)$');\n    if (this.userInfo.email && filter.test(this.userInfo.email)) {\n      this.apiService.validateEmailAddress({ EmailAddress: this.userInfo.email }).subscribe((result) => {\n        if (!result.Data) {\n          this.EmailCheck = true;\n          this.notificationService.success('success', 'email_available_');\n        } else {\n          this.notificationService.error('error_', 'error_email_exists');\n          this.userInfo.email = '';\n        }\n      });\n    }\n  }\n\n  back() {\n    this.router.navigateByUrl('/login', { skipLocationChange: true });\n  }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckoutComponent } from './checkout/checkout.component';\nimport { PagesRoutingModule } from './pages-routing.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { LoginComponent } from './login/login.component';\nimport { FaqComponent } from './faq/faq.component';\nimport { AboutUsComponent } from './about-us/about-us.component';\nimport { ErrorPageComponent } from './error-page/error-page.component';\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SignupComponent } from 'src/app/components/pages/signup/signup.component';\nimport { ApplicationComponent } from './application/application.component';\nimport { OrderHistoryComponent } from './order-history/order-history.component';\nimport { ManageAutoshipComponent } from './manage-autoship/manage-autoship.component';\nimport { OrderInvoiceComponent } from './order-invoice/order-invoice.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { HomeComponent } from './home/home.component';\nimport { MainCarouselComponent } from '../shop/main-carousel/main-carousel.component';\nimport { SwiperModule } from 'ngx-swiper-wrapper';\nimport { ProductVerticalComponent } from '../shop/products/product-vertical/product-vertical.component';\nimport { PackCarouselComponent } from '../shared/pack-carousel/pack-carousel.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatListModule} from '@angular/material/list';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { CustomerTypeCarouselComponent } from '../shared/customer-type-carousel/customer-type-carousel.component';\nimport { CompleteComponent } from './complete/complete.component';\nimport { MatSortModule } from '@angular/material/sort';\nimport { NgxPrintModule } from 'ngx-print';\nimport { ContactComponent } from './contacts/contacts.component';\nimport { FlickityComponent } from './flickity/flickity.component';\nimport { FlickityModule } from 'ngx-flickity';\nimport 'flickity-as-nav-for';\nimport { NgxImageZoomModule  } from 'ngx-image-zoom';\n\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormsModule,\n    SwiperModule,\n    ReactiveFormsModule,\n    PagesRoutingModule,\n    SharedModule,\n    NgxSkeletonLoaderModule,\n    TranslateModule,\n    MatButtonModule,\n    MatSnackBarModule,\n    MatToolbarModule,\n    MatListModule,\n    MatChipsModule,\n    MatExpansionModule,\n    MatMenuModule,\n    MatTableModule,\n    MatSliderModule,\n    MatRadioModule,\n    MatDialogModule,\n    MatChipsModule,\n    MatInputModule,\n    MatIconModule,\n    MatTooltipModule,\n    MatAutocompleteModule,\n    MatPaginatorModule,\n    MatSortModule,\n    MatCheckboxModule,\n    MatSidenavModule,\n    MatSelectModule,\n    MatTabsModule,\n    MatDividerModule,\n    MatCardModule,\n    MatDatepickerModule,\n    MatBadgeModule,\n    NgxPrintModule,\n    FlickityModule,\n    NgxImageZoomModule\n  ],\n  declarations: [\n    MainCarouselComponent,\n    ProductVerticalComponent,\n    HomeComponent,\n    CheckoutComponent,\n    LoginComponent,\n    FaqComponent,\n    AboutUsComponent,\n    ErrorPageComponent,\n    SignupComponent,\n    ApplicationComponent,\n    OrderHistoryComponent,\n    ManageAutoshipComponent,\n    OrderInvoiceComponent,\n    ForgotPasswordComponent,\n    PackCarouselComponent,\n    CustomerTypeCarouselComponent,\n    CompleteComponent,\n    ContactComponent,\n    FlickityComponent\n  ],\n  exports:[\n    MatButtonModule,\n    MatSnackBarModule,\n    MatToolbarModule,\n    MatListModule,\n    MatChipsModule,\n    MatExpansionModule,\n    MatMenuModule,\n    MatTableModule,\n    MatSortModule,\n    MatSliderModule,\n    MatRadioModule,\n    MatDialogModule,\n    MatChipsModule,\n    MatInputModule,\n    MatIconModule,\n    MatTooltipModule,\n    MatAutocompleteModule,\n    MatPaginatorModule,\n    NgxPrintModule,\n    MatCheckboxModule,\n    MatSidenavModule,\n    MatSelectModule,\n    MatTabsModule,\n    MatDividerModule,\n    MatCardModule,\n    MatDatepickerModule,\n    MatBadgeModule,\n  ], \n})\nexport class PagesModule { }\n","export default \"<div class=\\\"faq sec-padding bgm-white\\\">\\n  <div class=\\\"container\\\">\\n    <div fxLayout=\\\"row\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"center center\\\"  class=\\\"p-0\\\">\\n        <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"50\\\" class=\\\"questions\\\">\\n            <div class=\\\"faq-wrap\\\">\\n                <mat-accordion>\\n                    <mat-expansion-panel>\\n                      <mat-expansion-panel-header>\\n                        <mat-panel-title>\\n                            <span>What is do i have to tell you a few lorem?</span>\\n                        </mat-panel-title>\\n                      </mat-expansion-panel-header>\\n                      <p>\\n                          Lorem ipsum dolor sit amet, consectetur adi pisi cing elit, sed do eiusmod tempor exercitationemut labore. Love life’s sweetest reward Let it flow it floats back to you.\\n                        </p>\\n                    </mat-expansion-panel>\\n                    <mat-expansion-panel>\\n                        <mat-expansion-panel-header>\\n                          <mat-panel-title>\\n                              <span>What is do i have to tell you a few lorem?</span>\\n                          </mat-panel-title>\\n                        </mat-expansion-panel-header>\\n                        <p>\\n                            Lorem ipsum dolor sit amet, consectetur adi pisi cing elit, sed do eiusmod tempor exercitationemut labore. Love life’s sweetest reward Let it flow it floats back to you.\\n                          </p>\\n                      </mat-expansion-panel>\\n                      <mat-expansion-panel>\\n                          <mat-expansion-panel-header>\\n                            <mat-panel-title>\\n                                <span>What is do i have to tell you a few lorem?</span>\\n                            </mat-panel-title>\\n                          </mat-expansion-panel-header>\\n                          <p>\\n                              Lorem ipsum dolor sit amet, consectetur adi pisi cing elit, sed do eiusmod tempor exercitationemut labore. Love life’s sweetest reward Let it flow it floats back to you.\\n                            </p>\\n                        </mat-expansion-panel>\\n                        <mat-expansion-panel>\\n                            <mat-expansion-panel-header>\\n                              <mat-panel-title>\\n                                  <span>What is do i have to tell you a few lorem?</span>\\n                              </mat-panel-title>\\n                            </mat-expansion-panel-header>\\n                            <p>\\n                                Lorem ipsum dolor sit amet, consectetur adi pisi cing elit, sed do eiusmod tempor exercitationemut labore. Love life’s sweetest reward Let it flow it floats back to you.\\n                              </p>\\n                          </mat-expansion-panel>\\n                  </mat-accordion>\\n            </div>\\n        </div>\\n\\n    </div>\\n\\n  </div>\\n</div>\\n\";","export default \"<button mat-icon-button class=\\\"close-button\\\" [mat-dialog-close]=\\\"true\\\">\\n    <mat-icon class=\\\"close-icon\\\" color=\\\"warn\\\">close</mat-icon>\\n</button>\\n<div class=\\\"dialog-content-wrapper shippingAddressDialog\\\" id=\\\"shippingAddressDialog-wrapper\\\">\\n    <mat-toolbar class=\\\"header m-0\\\">\\n        <mat-toolbar-row fxFlex fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n            <span class=\\\"title dialog-title\\\" fxFlex translate=\\\"\\\"> Edit Shipping Address</span>\\n        </mat-toolbar-row>\\n    </mat-toolbar>\\n    <div mat-dialog-content id=\\\"shippingAddressDialog-content\\\" fxLayout=\\\"column\\\">\\n        <div class=\\\"\\\">\\n          <mat-checkbox [checked]=\\\"!newAddressSelected\\\" (change)=\\\"onClickDifferentAddress(false)\\\">Use default address</mat-checkbox> \\n        </div>\\n        <div fxLayout=\\\"column\\\" class=\\\"m-b-30 m-t-10 p-15 borderBox cursor-pointer\\\">\\n            <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\">\\n               <div fxFlex=\\\"10\\\">\\n                <mat-icon>person</mat-icon>\\n               </div>\\n               <div fxFlex=\\\"90\\\">\\n                <span [textContent]=\\\"userService.customerData.FirstName+' '+userService.customerData.LastName\\\"></span>\\n               </div>\\n            </div>\\n            <div fxFlex=\\\"100\\\" fxLayout=\\\"row\\\">\\n                <div fxFlex=\\\"10\\\">\\n                    <mat-icon> location_on</mat-icon>\\n                   </div>\\n                   <div fxFlex=\\\"90\\\">\\n                    <span [textContent]=\\\"defaultAddress.Street1\\\"></span>\\n                    <span [textContent]=\\\"defaultAddress.Street2\\\"></span>\\n                    <span [textContent]=\\\"defaultAddress.City\\\"></span>,\\n                    <span [textContent]=\\\"defaultAddress.Region\\\"></span>\\n                    <span [textContent]=\\\"defaultAddress.PostalCode\\\"></span>\\n                    <span [textContent]=\\\"defaultAddress.CountryCode\\\"></span>\\n                   </div>\\n            </div>\\n        </div>\\n        <div>\\n           <ng-container *ngIf=\\\"differentAddressShow === false\\\">\\n               <div>\\n                   <span class=\\\"cursor-pointer c-1\\\" (click)=\\\"onClickDifferentAddress(true)\\\" translate=\\\"different_address\\\"></span>\\n               </div>\\n           </ng-container>\\n           <ng-container *ngIf=\\\"differentAddressShow === true\\\">\\n               <div fxLayout=\\\"column\\\">\\n                   <div>\\n                    <mat-checkbox [checked]=\\\"newAddressSelected\\\" [attr.disabled]=\\\"newAddressSelected\\\" [disableRipple]=\\\"true\\\"\\n                    (click)=\\\"$event.preventDefault()\\\">{{'use_new_address' | translate}}</mat-checkbox> \\n                   </div>\\n                   <div>\\n                    <form>\\n                        <div fxLayout=\\\"column\\\">\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field fxFlex class=\\\"ds-validate\\\">\\n                                    <mat-label translate=\\\"first_name\\\"></mat-label>\\n                                    <input name=\\\"firstName\\\"  [(ngModel)]=\\\"newShipping.FirstName\\\"\\n                                    [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>\\n                                </mat-form-field>\\n                            </div>\\n                            \\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                    <mat-label translate=\\\"last_name\\\"></mat-label>\\n                                    <input name=\\\"lastName\\\"  [(ngModel)]=\\\"newShipping.LastName\\\"\\n                                    [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                              <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                <mat-label translate=\\\"Country\\\"></mat-label>\\n                                <mat-select  [ngModelOptions]=\\\"{standalone: true}\\\"  [(ngModel)]=\\\"newShipping.CountryCode\\\" (selectionChange)=\\\"getCountryState(newShipping.CountryCode)\\\" validate noempty=\\\"true\\\">\\n                                    <mat-option  \\n                                    *ngFor=\\\"let country of allowedCountries\\\" [value]=\\\"country.CountryCode\\\">\\n                                    <img [src]=\\\"'https://directscalestring.directscale.com/flags/4x3/'+country.CountryCode+'.svg'\\\"\\n                                      width=\\\"18\\\"> {{country.CountryName}}\\n                                  </mat-option>\\n                                </mat-select>\\n                                \\n                              </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                    <mat-label translate=\\\"state\\\"></mat-label>\\n                                    <mat-select [(ngModel)]=\\\"newShipping.Region\\\"\\n                                    [ngModelOptions]=\\\"{standalone: true}\\\" validate noempty=\\\"true\\\">\\n                                      <mat-option *ngFor=\\\"let state of states\\\" [value]=\\\"state.StateCode\\\">\\n                                        {{state.StateName}}\\n                                      </mat-option>\\n                                    </mat-select>\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                  <mat-label translate=\\\"city\\\"></mat-label>\\n                                  <input name=\\\"city\\\"  [(ngModel)]=\\\"newShipping.City\\\"\\n                                  [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>\\n                                </mat-form-field>\\n                            </div>\\n                             \\n                            <div fxFlex=\\\"100\\\" >\\n                                <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                  <mat-label translate=\\\"zip\\\"></mat-label>\\n                                  <input name=\\\"zip\\\"  [(ngModel)]=\\\"newShipping.PostalCode\\\"\\n                                  [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>\\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                                <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                    <mat-label translate=\\\"street_address\\\" ></mat-label>\\n                                    <input name=\\\"streetAddress\\\"  [(ngModel)]=\\\"newShipping.Street1\\\"\\n                                    [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>    \\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                              <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                    <mat-label translate=\\\"street_address2\\\"></mat-label>\\n                                    <input name=\\\"streetAddress2\\\"  [(ngModel)]=\\\"newShipping.Street2\\\"\\n                                    [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>   \\n                                </mat-form-field>\\n                            </div>\\n                            <div fxFlex=\\\"100\\\">\\n                              <mat-form-field fxFlex class=\\\"ds-validate\\\" >\\n                                <mat-label translate=\\\"phone_number_\\\"></mat-label>\\n                                <input name=\\\"phoneNumber\\\"  [(ngModel)]=\\\"newShipping.Phone\\\"\\n                                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" matInput>\\n                              </mat-form-field>\\n                            </div>\\n                        </div>\\n                    </form>\\n                   </div>\\n               </div> \\n           </ng-container>\\n        </div>\\n    </div>\\n    <div mat-dialog-actions class=\\\"m-0 p-16\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n        <div>              \\n              <!-- Close modal, staying with default address -->\\n              <button mat-raised-button color=\\\"primary\\\" id=\\\"updateaddress\\\" class=\\\"text-uppercase\\\" *ngIf=\\\"!newAddressSelected\\\" (click)=\\\"close()\\\">{{'update_' | translate}}</button>\\n              <!-- Update address and close -->\\n             <button mat-raised-button color=\\\"primary\\\" id=\\\"update-new-address\\\" class=\\\"text-uppercase\\\" *ngIf=\\\"newAddressSelected\\\" validate trigger-check=\\\"true\\\"  (success)=\\\"saveNewAddress()\\\"\\n                >{{'next_' | translate}}</button>\\n        </div>\\n    </div> \\n</div>\\n\";","import { Component, ElementRef, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfigService } from '../../services/config.service';\nimport { RestApiService } from '../../services/restapi.service';\nimport { UserService } from '../../services/user.service';\nimport {  ActivatedRoute } from '@angular/router';\nimport * as _ from 'lodash';\nimport { FindEnrollerComponent } from '../findenroller/findenroller.component';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { CompanyService } from '../../services/company.service';\n\n@Component({\n  selector: 'app-market-selector',\n  templateUrl: './market-selector.component.html',\n  styleUrls: ['./market-selector.component.scss']\n})\nexport class MarketSelectorComponent implements OnInit {\n  selectedCountry: any = {};\n  selectedUserType: any = {};\n  public allowedCountries: any = [];\n  customerTypes: any = {};\n  userService: UserServiceModal;\n  constructor(\n    public dialog: MatDialog,\n    public configService: ConfigService,\n    public user: UserService,\n    public apiService: RestApiService,\n    private route: ActivatedRoute,\n    public companyService: CompanyService\n  ) {\n    this.userService = user.userServiceModal;\n    this.customerTypes = configService.commonSettings.CustomerTypes;\n    this.apiService.getActiveCountries().subscribe(data => {\n      this.allowedCountries = data.Data;\n\n      const selectedCountry = sessionStorage.getItem('selectedCountry') === 'undefined' ? null : sessionStorage.getItem('selectedCountry');\n      const selectedCustomerTypeID = sessionStorage.getItem('selectedCustomerTypeID') === 'undefined' ? null : sessionStorage.getItem('selectedCustomerTypeID');\n      this.selectedUserType = _.find(this.configService.commonSettings.CustomerTypes, (customerType) => {\n        return (customerType.ID === (parseInt(this.route.snapshot.queryParams.type, 10) || parseInt(selectedCustomerTypeID, 10) || 1));\n      });\n      this.selectedCountry = _.find(this.allowedCountries, (item) => {\n        return (item.CountryCode.toLowerCase() === (this.route.snapshot.queryParams.countrycode || selectedCountry || 'us'));\n      });\n    }, () => { });\n  }\n\n  ngOnInit(): void {\n    let queryCategory;\n    if (this.route.snapshot.queryParams.catId) {\n      queryCategory = parseInt(this.route.snapshot.queryParams.catId, 10);\n    } else if (this.route.snapshot.queryParams.category) {\n      queryCategory = parseInt(this.route.snapshot.queryParams.category, 10);\n    }\n  }\n\n  changeAffiliate() {\n    this.dialog.open(FindEnrollerComponent, {\n      data: {},\n      panelClass: 'findenroller-dialog',\n    });\n  }\n\n  continue() {\n    if (this.selectedCountry?.CountryCode) {\n      this.userService.customerTypeID = this.selectedUserType.ID;\n      this.dialog.closeAll();\n      sessionStorage.setItem('IsMarketCountrySelected', 'true');\n      sessionStorage.setItem('selectedCountry', this.selectedCountry.CountryCode || this.configService.commonData.selectedCountry);\n      sessionStorage.setItem('selectedLanguageCode', this.configService.commonData.selectedLanguage || this.selectedCountry.CountryLanguages[0].LanguageCode);\n      sessionStorage.setItem('selectedCustomerTypeID', this.selectedUserType.ID);\n      window.location.reload();\n    }\n  }\n\n  selectCustomerType(ID): void {\n    if (ID) {\n      this.selectedUserType = _.find(this.configService.commonSettings.CustomerTypes, (customerType) => {\n        return (customerType.ID === parseInt(ID, 10));\n      });\n    }\n  }\n\n  changeLang(code): void {\n    if (code) {\n      this.selectedCountry = _.find(this.allowedCountries, (country) => {\n        return country.CountryCode.trim().toLowerCase() === code.trim().toLowerCase();\n      });\n    }\n  }\n}\n","export default \".thirdContainer {\\n  padding: 0 15px 10px;\\n  min-height: 104px;\\n}\\n.thirdContainer .addButton .mat-button {\\n  color: #231b1b;\\n  font-size: 13px !important;\\n  min-height: 36px;\\n  min-width: 260px;\\n  letter-spacing: 0 !important;\\n  text-align: center !important;\\n  padding: 0px 2px !important;\\n  border: 1px solid #3b4e60;\\n  background: #ffffff;\\n}\\n.color1-f-s-16 {\\n  font-size: 16px;\\n  color: #ffa500;\\n  font-family: roboto;\\n}\\n.color1-f-s-14 {\\n  font-size: 14px;\\n  color: #231b1b;\\n  font-family: roboto;\\n  font-weight: 700;\\n}\\n.borderBottom {\\n  border-bottom: 1px solid #d3d3d3;\\n}\\nbutton {\\n  text-transform: uppercase;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  display: -webkit-box;\\n  -webkit-line-clamp: 2;\\n  -webkit-box-orient: vertical;\\n  width: 260px;\\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12), 0 2px 10px rgba(0, 0, 0, 0.12);\\n  font-weight: 500;\\n  font-size: 14px;\\n  font-style: inherit;\\n  font-variant: inherit;\\n  font-family: inherit;\\n  border-radius: 3px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2R1Y3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxvQkFBQTtFQUNBLGlCQUFBO0FBQ0o7QUFBSTtFQUNJLGNBQUE7RUFDQSwwQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw0QkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0FBRVI7QUFDQTtFQUNJLGVBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7QUFFSjtBQUFBO0VBQ0ksZUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FBR0o7QUFEQTtFQUNJLGdDQUFBO0FBSUo7QUFGQTtFQUNJLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSw0QkFBQTtFQUNBLFlBQUE7RUFDQSx5RUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0FBS0oiLCJmaWxlIjoicHJvZHVjdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aGlyZENvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNXB4IDEwcHg7XG4gICAgbWluLWhlaWdodDogMTA0cHg7XG4gICAgLmFkZEJ1dHRvbiAubWF0LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjMjMxYjFiO1xuICAgICAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMzZweDtcbiAgICAgICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDBweCAycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNiNGU2MDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB9XG59XG4uY29sb3IxLWYtcy0xNiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmZhNTAwO1xuICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG59XG4uY29sb3IxLWYtcy0xNCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjMxYjFiO1xuICAgIGZvbnQtZmFtaWx5OiByb2JvdG87XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5ib3JkZXJCb3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xufVxuYnV0dG9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgd2lkdGg6IDI2MHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2IoMCwgMCwgMCwwLjEyKSwgMCAycHggMTBweCByZ2IoMCwgMCwgMCwwLjEyICk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgICBmb250LXZhcmlhbnQ6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7ICAgIFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbiJdfQ== */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { getBaseLocation } from 'src/app/baseUrl';\nimport { GetWebSiteInformationResult } from 'src/app/modals/getwebsiteinfo.modal';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { getSubdomain } from 'tldts';\nimport { ConfigService } from '../../services/config.service';\nimport { NotificationService } from '../../services/notification.service';\nimport { RestApiService } from '../../services/restapi.service';\nimport { UserService } from '../../services/user.service';\nimport { ConfirmDialogComponent, ConfirmDialogModel } from '../confirm-dialog/confirm-dialog.component';\n\n\n\n@Component({\n    selector: 'app-find-enroller',\n    templateUrl: './findenroller.component.html',\n    styleUrls: ['./findenroller.component.scss']\n})\nexport class FindEnrollerComponent {\n    public isButtonEnable: boolean = false;\n    public selection = new SelectionModel<any>(false, []);\n    public SelectedSponsor: any = {};\n    userService: UserServiceModal;\n    searchText: string = \"\";\n    result: string = '';\n    itemCount: number = 0;\n    constructor(public configService: ConfigService, public dialog: MatDialog, public apiService: RestApiService, public translate: TranslateService, public notificationService: NotificationService, public user: UserService,private route: ActivatedRoute) {\n        this.selection.changed.subscribe(item => {\n            this.isButtonEnable = this.selection.selected.length == 0;\n        });\n        this.userService = user.userServiceModal;\n    }\n    displayedColumns: string[] = ['SelectEnroller', \"ProfileImageUrl\", 'FirstName', 'LastName', \"BackOfficeId\", \"EMail\", \"Phone\"];\n    dataSource = new MatTableDataSource([]);\n\n    @ViewChild(MatSort) sort: MatSort;\n    @ViewChild(MatPaginator) paginator: MatPaginator;\n    myControl = new FormControl();\n    options: string[] = [];\n    filteredOptions: Observable<string[]>;\n\n    ngOnInit() {\n        this.filteredOptions = this.myControl.valueChanges\n            .pipe(\n                startWith(''),\n                map(value => this._filter(value))\n            );\n        this.dataSource.sort = this.sort;\n        this.dataSource.paginator = this.paginator;\n    }\n\n    searchEnroller(searchText: string) {\n        const req = {\n            includeWebAliases: true,\n            searchTerm: searchText\n        };\n        this.apiService.searchAssociate(req).subscribe((data) => {\n            let filterData = [];\n            if (data.Data && data.Data.length) {\n                filterData = _.filter(data.Data, (data) => {\n                    return data.AssociateTypeId != 2;\n                }\n                );\n            }\n            this.dataSource = new MatTableDataSource(filterData);\n            this.dataSource.sort = this.sort;\n            this.dataSource.paginator = this.paginator;\n            this.itemCount = filterData.length;\n        },\n            err => {\n                // Do stuff whith your error\n\n            },\n            () => {\n                \n            });\n\n    }\n    applyFilter(filterValue: string) {\n        this.dataSource.filter = filterValue.trim().toLowerCase();\n    }\n\n    private _filter(value: string): string[] {\n        const filterValue = value.toLowerCase();\n\n        return this.options.filter(option => option.toLowerCase().includes(filterValue));\n    }\n    singleSelection($event, dataSource) {\n        const numSelected = this.selection.selected.length;\n        numSelected <= 0 ? this.isButtonEnable = false : this.isButtonEnable = true;\n        if ($event.checked) {\n            this.SelectedSponsor = dataSource;\n        }\n    }\n    setSponsor() {\n        let old_enroller = cloneDeep(this.userService.enrollerInfo);\n        if (this.SelectedSponsor && this.SelectedSponsor.CustomerId && this.SelectedSponsor.WebAliases && this.SelectedSponsor.WebAliases.length > 0) {\n            const baseurl=  getBaseLocation();\n            sessionStorage.setItem('enrollerSet','true');\n            this.route.queryParams.subscribe((params ) => {\n              if (Object.keys(params).length === 0 ) {\n                  location.href = (location.href.replace(baseurl, ('/' + this.SelectedSponsor.WebAliases[0])));                        \n              } else {\n                  this.userService.WebAlias = this.SelectedSponsor.WebAliases[0];\n                  localStorage.setItem('userService', JSON.stringify(this.userService));\n                  location.href = (location.href.replace(baseurl, ('/' + this.SelectedSponsor.WebAliases[0])));                        \n              }\n              \n            })\n                \n               \n        } else {\n            this.notificationService.error('error_', 'webalias_not_exists');\n            return false;\n        }\n    }\n    confirmDialog(): void {\n        const message = `Are you sure you want to do this?`;\n\n        const dialogData = new ConfirmDialogModel(\"Confirm Action\", message);\n\n        const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n            maxWidth: \"400px\",\n            data: dialogData\n        });\n\n        dialogRef.afterClosed().subscribe(dialogResult => {\n            this.result = dialogResult;\n        });\n    }\n}","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport { CartService } from '../services/cart.service';\nimport { Observable, Subject } from 'rxjs';\nimport { CartItem } from 'src/app/modals/cart-item';\nimport { ProductService } from '../services/product.service';\nimport { SideNavBarService } from '../services/sidenavbar.service';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport * as _ from 'lodash';\nimport { UtilityService } from '../services/utility.service';\n@Component({\n  selector: 'app-shopping-widgets',\n  templateUrl: './shopping-widgets.component.html',\n  styleUrls: ['./shopping-widgets.component.scss']\n})\nexport class ShoppingWidgetsComponent implements OnInit {\n  products: Array<DSProduct>;\n  indexProduct: number;\n  public sidenavMenuItems: Array<any>;\n  @Input() shoppingCartItems: CartItem[] = [];\n  // @Input() isWhite: boolean = true;\n  sideBarSummaryToogle: Subject<void> = new Subject<void>();\n  constructor(\n    private cartService: CartService,\n    public productService: ProductService,\n    public sideNavBarService: SideNavBarService,\n    public itemsService: ProductService,public utilityService:UtilityService\n    ) { }\n  ngOnInit() {\n  }\n\n  public removeItem(item: CartItem) {\n    this.cartService.removeFromCart(item);\n  }\n  public getTotal(): Observable<number> {\n    return this.cartService.getTotalAmount();\n  }\n  getQuanity() {\n    var quantity = 0;\n    if(this.utilityService.isEnrollment()){\n      _.each(this.itemsService.selectedPacks, (item) => {\n        quantity += (item.Quantity ? Number(item.Quantity) : 0);\n      });\n    }\n    _.each(this.itemsService.selectedOrderItems, (item) => {\n      if (!item.UsePoints) {\n        quantity += (item.Quantity ? Number(item.Quantity) : 0);\n      }\n      if (item.UsePoints) {\n        quantity += (item.rewardQuantity ? Number(item.rewardQuantity) : 0);\n      }\n    });\n    _.each(this.itemsService.selectedAutoOrderItems, (item) => {\n      quantity += (item.Quantity ? Number(item.Quantity) : 0);\n    });\n    return quantity;\n  }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport $ from 'jquery';\nimport * as _ from 'lodash';\nimport { AutoshipConfigurationService } from '../../shared/services/autoshipConfiguration.service';\nimport { CompanyService } from '../../shared/services/company.service';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { ItemsListService } from '../../shared/services/itemsList.service';\nimport { PersistentService } from '../../shared/services/persistent.service';\nimport { ProductService } from '../../shared/services/product.service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\n\ndeclare const require: any;\n@Component({\n  selector: 'app-flickity',\n  templateUrl: './flickity.component.html',\n  styleUrls: ['./flickity.component.scss']\n})\nexport class FlickityComponent implements OnInit {\n  ItemID: any;\n  CartType: string;\n  itemType: string;\n  type: string;\n  images:any;\n  isShowShareOptions: boolean;\n  defaultImage: any = {};\n  public products: any[] = [];\n  public product: any = {};\n  public orderOptions: any;\n  public OrderQuantityCount: any;\n  env:any;\n\n  constructor(private titleService: Title,\n    public configService: ConfigService,\n    private route: ActivatedRoute,\n    public productsService: ProductService,\n    public dialog: MatDialog,\n    private router: Router,\n    public itemsService: ProductService,\n    public itemsListService: ItemsListService,\n    public activateroute: ActivatedRoute,\n    public utilityService: UtilityService,\n    public persistentService: PersistentService,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public companyService:CompanyService, @Inject(MAT_DIALOG_DATA) \n    public data) {\n      this.ItemID = data.id;\n      this.defaultImage = {\n        Path: 'assets/images/noimage.png',\n        Description: this.product ? this.product.Description : ''\n      };\n      this.CartType = this.itemType || 'order';\n      this.type = this.CartType;\n    // });\n    this.env=environment;\n  }\n\n  ngOnInit() {\n    this.productsService.getProduct(this.ItemID).subscribe(product => {\n      this.product = [product];\n      this.images = this.product[0].Images\n\n      this.OrderQuantityCount = product && product.Quantity ? product.Quantity : 1;\n      this.onItemsSucces([product]);\n      this.setUpOrderOptions(this.product);\n    });\n  }\n public onItemsSucces(result) {\n    this.itemType = this.type === 'order' ? 'order' : this.type == 'pack' ? 'pack' : 'autoship';\n    this.itemsService[this.itemType] = result.map((item) => {\n      item.Price = item.Price || item.Prices[0].Price;\n      return item;\n    });\n    this.itemsListService.products = this.itemsService[this.itemType];\n    this.itemsListService.type = this.type;\n    const selectedItem = this.product;\n    this.products = result.map((item) => {\n      item.Price = item.Price || item.Prices[0].Price;\n      return item;\n    });\n    if (selectedItem) {\n      this.products = _.filter(this.products, (product) => {\n        return product.ItemID != selectedItem.ItemID;\n      });\n    }\n    if (this.ItemID) {\n      let isItemExists = false;\n      _.each(result, (item) => {\n        if (item.HasOptions) {\n          _.each(item.OptionsMap, (value) => {\n            if (value.ItemId == this.ItemID) {\n              item.ItemID = this.ItemID;\n              return;\n            }\n          });\n        }\n        if (isNaN(this.ItemID) ? ((item.ProductName || '').toLowerCase().replace(/\\s/g, '') == this.ItemID.toLowerCase().replace(/\\s/g, '')) : (item.ItemID == this.ItemID)) {\n          isItemExists = true;\n          this.product = this.transformItem(item);\n          this.OrderQuantityCount = selectedItem ? (selectedItem.Quantity || 1) : 1;\n          item.Quantity = selectedItem ? (selectedItem.Quantity || 1) : 1;\n          localStorage.setItem('params.item', JSON.stringify(item));\n          localStorage.setItem('params.type', this.type);\n          localStorage.setItem('params.productList', JSON.stringify(this.products));\n          // $scope.setDefaultValue(item, type);\n        }\n      });\n      if (!isItemExists) {\n        this.router.navigate(['/Products']);\n        // $state.go('Products', { WebAlias: $state.params.WebAlias });\n      }\n    }\n  }\n\n  public transformItem(item) {\n    this.isShowShareOptions = false;\n    item.Price =\n      item.Price || item.Price === 0\n        ? item.Price\n        : item.Prices && item.Prices[0] && item.Prices[0].Price;\n    item.Images = item.Images || [];\n    if (item) {\n      Object.keys(item.Prices).forEach((p: any) => {\n        if (p.CurrencyCode && p.CurrencyCode.toLowerCase() === 'rwd' && p.Price > 0) {\n          item.UsePoints = true;\n        }\n      });\n    }\n    if (\n      item.LargeImageUrl &&\n      !_.find(item.Images, { Path: item.LargeImageUrl })\n    ) {\n      item.Images.unshift({\n        Description: item.Description,\n        Path: item.LargeImageUrl\n      });\n    } else if (item.Image && !_.find(item.Images, { Path: item.Image })) {\n      item.Images.unshift({\n        Description: item.Description,\n        Path: item.Image\n      });\n    }\n    this.isShowShareOptions = true;\n    return item;\n  }\n\n  setUpOrderOptions(item) {\n    if (!this.orderOptions) {\n      this.orderOptions = {};\n    }\n\n    const dict = this.orderOptions;\n\n    // If editing an item with selected customizations, find them and set the dropdowns\n    let optionsMap;\n    _.each(item.OptionsMap, (val) => {\n      val.OptionNames = val.Key.split('|');\n    });\n    if (item.selectedOptions) {\n      item.OptionsMap.some(optMap => {\n        if (optMap.ItemId === (item.KitCustomItemCode || item.ItemID)) {\n          optionsMap = optMap.OptionNames;\n          return true;\n        }\n        return false;\n      });\n    }\n\n    // Otherwise, default to the first options map\n    const optionMapNames = item.OptionsMap\n      ? item.OptionsMap.map(optMap => {\n          return optMap.OptionNames;\n        })\n      : [];\n\n    if (!item.selectedOptions || !optionsMap) {\n      optionsMap = optionMapNames[0];\n    }\n\n    // Loop through the OptionsMap\n    let optionVal;\n    let optionValues;\n    for (const index in optionsMap) {\n      if (optionsMap.hasOwnProperty(index)) {\n        optionVal = optionsMap[index];\n        // For each option in the OptionsMap, loop through the ItemOptions\n        for (const itemIndex in item.ItemOptions) {\n          // Get all the values of the ItemOption\n          if (item.ItemOptions.hasOwnProperty(itemIndex)) {\n            optionValues = item.ItemOptions[itemIndex].Values.map(\n              getOptionValueName\n            );\n            // If one of them is the value from the OptionsMap, use it\n            const option = item.ItemOptions[itemIndex];\n            if (\n              !!~optionValues.indexOf(optionVal) &&\n              !dict[this.getOrderOptionKey(item, option)]\n            ) {\n              dict[this.getOrderOptionKey(item, option)] = optionVal;\n              break;\n            }\n          }\n        }\n      }\n    }\n\n    function getOptionValueName(val) {\n      return val.Option;\n    }\n  }\n  getOrderOptionKey(item, option) {\n    return item.ItemID + '__' + option.Option;\n  }\n\n call () {\n  const Flickity = require(\"flickity\");\n  require(\"flickity-imagesloaded\");\n  require(\"flickity-as-nav-for\");\n  require(\"flickity-bg-lazyload\");\n\n  const carouselMain = document.getElementById(\"carouselMain\");\n  const carouselNav = document.getElementById(\"carouselNav\");\n\n  new Flickity(carouselMain, {\n    pageDots: false,\n    bgLazyLoad: true\n  });\n\n  new Flickity(carouselNav, {\n    asNavFor: \"#carouselMain\",\n    contain: true,\n    pageDots: false,\n    bgLazyLoad: true\n  });\n};\n\n\n  ngAfterViewInit(){\n    this.call();\n    $(document).ready(function() {\n      $('.flickity-button').css(\"width\",\"50px\");\n      $('.flickity-button').css(\"height\",\"50px\");\n      $('.flickity-button').css(\"border-radius\",\"50px\");\n      $('.flickity-button').css(\"background\",\"white\");\n      $('.flickity-button').css(\"border\",\"none\");\n      $('.flickity-button').css(\"position\",\"absolute\");\n      $('.flickity-button').css(\"top\",\"100%\");\n      $('.next').css(\"margin-left\",\"10px\");\n      $('.previous').css(\"margin-left\",\"-50px\");\n      $('.flickity-button-icon').css(\"width\",\"50%\");\n      $('.flickity-button-icon').css(\"padding\",\"25%\");\n      $('.flickity-button-icon').css(\"cursor\", \"pointer\");\n  });\n\n  //Remove Upper Side Buttons\n  const carouselNavBtn = document.querySelector('#carouselNav');\n  const flickityButton = carouselNavBtn.querySelectorAll('.flickity-button').forEach(e => e.remove());;\n  const carouselMainBtn = document.querySelector('#carouselMain');\n  const flickityButtonMain = carouselMainBtn.querySelectorAll('.flickity-button')\n  }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { HomeComponent } from './components/pages/home/home.component';\n\n\nconst appRoutes: Routes = [\n  {\n    path: '',\n    redirectTo: 'join',\n    pathMatch: 'full'\n  },\n  {\n    path: 'home',\n    redirectTo: 'join',\n  },\n  {\n    path: '**',\n    redirectTo: 'join'\n  }\n];\n\n@NgModule({\n  declarations: [],\n  imports: [\n    RouterModule.forRoot(appRoutes, { useHash: false, relativeLinkResolution: 'legacy' })\n  ],\n  exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","export default \"<div class=\\\"contact-page sec-padding\\\">\\n  <div fxLayout=\\\"row\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"center center\\\" class=\\\"mt-20\\\">\\n    <mat-card fxLayout-padding fxFlex=\\\"50\\\" fxFlex-xs=\\\"100\\\">\\n      <div class=\\\"contact-form\\\">\\n        <h3>Create an Account</h3>\\n        <form fxLayout=\\\"row wrap\\\">\\n          <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n            <mat-form-field class=\\\"w-100 ds-validate\\\">\\n              <input matInput placeholder=\\\"First Name\\\" [(ngModel)]=\\\"userInfo.firstName\\\"\\n                [ngModelOptions]=\\\"{standalone: true}\\\" validate noempty=\\\"true\\\">\\n            </mat-form-field>\\n          </div>\\n          <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n            <mat-form-field class=\\\"w-100 ds-validate\\\">\\n              <input matInput placeholder=\\\"Last Name\\\" [(ngModel)]=\\\"userInfo.lastName\\\"\\n                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\">\\n            </mat-form-field>\\n          </div>\\n          <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n            <mat-form-field class=\\\"w-100 ds-validate\\\">\\n              <input matInput placeholder=\\\"Your Email (required)\\\" [(ngModel)]=\\\"userInfo.email\\\"\\n                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" email=\\\"true\\\" (focusout)=\\\"validEmailData(userInfo.email);\\\">\\n      \\n            </mat-form-field>\\n          </div>\\n          <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n            <mat-form-field class=\\\"w-100 ds-validate\\\">\\n              <input matInput placeholder=\\\"User Name\\\" [(ngModel)]=\\\"userInfo.username\\\"\\n                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" inputspace=\\\"true\\\" validname=\\\"true\\\" (paste)=\\\"$event.preventDefault()\\\" (focusout)=\\\"verifyUsername(userInfo.username);\\\">\\n             \\n            </mat-form-field>\\n          </div>\\n          <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n            <mat-form-field class=\\\"w-100 ds-validate\\\">\\n              <input matInput type=\\\"password\\\"  id=\\\"txtPassword\\\" placeholder=\\\"Password\\\" [(ngModel)]=\\\"userInfo.password\\\"\\n                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" regxvalid=\\\"true\\\" zxcvbn=\\\"\\\" regxvalidvalue=\\\"((?=.*\\\\d)(?=.*[A-Z])(?=.*[a-z]).{8,})\\\" nospaceallow=\\\"true\\\">\\n            </mat-form-field>\\n          </div>\\n          <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n            <mat-form-field class=\\\"w-100 ds-validate\\\">\\n              <input matInput type=\\\"password\\\" placeholder=\\\"Confirm Password\\\" [(ngModel)]=\\\"userInfo.confirmpassword\\\"\\n                [ngModelOptions]=\\\"{standalone: true}\\\"  validate noempty=\\\"true\\\" password-match=\\\"true\\\" >\\n            </mat-form-field>\\n          </div>\\n          <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n            <div class=\\\"button-wrap\\\">\\n              <button class=\\\"btn-project m-r-10\\\" mat-raised-button color=\\\"primary\\\" type=\\\"submit\\\">{{'back' | translate}}</button>\\n            </div>\\n            <div class=\\\"button-wrap\\\">\\n              <button class=\\\"btn-project m-l-0\\\" mat-raised-button color=\\\"primary\\\" validate trigger-check=\\\"true\\\" (success)=\\\"createCustomer()\\\">{{'create_' | translate}}</button>\\n            </div>\\n          </div>\\n          \\n        </form>\\n      </div>\\n    </mat-card>\\n  </div>\\n</div>\\n\\n\";","export default \"#hover .txt-center {\\n  text-align: center;\\n}\\n#hover div:hover {\\n  cursor: pointer;\\n  background-color: var(--theme-deafult-secondary);\\n  width: 125px;\\n  padding: 7px;\\n  border-radius: 15px;\\n  text-align: center;\\n  margin: 0 auto;\\n  color: white;\\n}\\n#hover div {\\n  background-color: var(--theme-deafult-secondary);\\n  width: 125px;\\n  padding: 7px;\\n  border-radius: 15px;\\n  text-align: center;\\n  margin: 0 auto;\\n  color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RleHQtc21zLXZlcmlmeS1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0U7RUFDRSxrQkFBQTtBQUFKO0FBRUU7RUFDRSxlQUFBO0VBQ0EsZ0RBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtBQUFKO0FBR0U7RUFDRSxnREFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0FBREoiLCJmaWxlIjoidGV4dC1zbXMtdmVyaWZ5LWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiNob3ZlciB7XG4gIC50eHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgZGl2OmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICAgIHdpZHRoOiAxMjVweDtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgZGl2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSk7XG4gICAgd2lkdGg6IDEyNXB4O1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn0iXX0= */\";","export default \"mat-expansion-panel-header, p {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n}\\n\\n.br {\\n  border-radius: 23px !important;\\n}\\n\\n::ng-deep .mat-accordion .mat-expansion-panel-spacing {\\n  margin: 0px !important;\\n}\\n\\n.faq .design ::ng-deep .mat-form-field-flex {\\n  height: 47.99px !important;\\n}\\n\\n.faq .design ::ng-deep .mat-form-field-infix {\\n  padding: 2px 0 1em 0 !important;\\n}\\n\\n.faq .design ::ng-deep .mat-form-field-label-wrapper {\\n  top: -16px !important;\\n}\\n\\n.faq input {\\n  font-size: 14px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2ZhcS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLG1EQUFBO0FBQ0o7O0FBQ0E7RUFDSSw4QkFBQTtBQUVKOztBQUFBO0VBQ0ksc0JBQUE7QUFHSjs7QUFFVTtFQUNFLDBCQUFBO0FBQ1o7O0FBQ1c7RUFDQywrQkFBQTtBQUNaOztBQUNTO0VBQ0cscUJBQUE7QUFDWjs7QUFHSTtFQUNJLDBCQUFBO0FBRFIiLCJmaWxlIjoiZmFxLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIsIHB7XG4gICAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG4uYnJ7XG4gICAgYm9yZGVyLXJhZGl1czogMjNweCAhaW1wb3J0YW50O1xufVxuOjpuZy1kZWVwIC5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsLXNwYWNpbmd7XG4gICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuZmFxIHtcbiAgICAuZGVzaWdue1xuICAgICAgICA6Om5nLWRlZXAge1xuICAgICAgICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4e1xuICAgICAgICAgICAgaGVpZ2h0OiA0Ny45OXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDAgMWVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcntcbiAgICAgICAgICAgIHRvcDogLTE2cHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH0iXX0= */\";","export default \"<div class=\\\"sidenavbar md-sidenav-right md-whiteframe-z2 summary_cart cart-no-overflow ng-isolate-scope _md\\\"\\n  [ngClass]=\\\"{'show ds-summary-cart': sideNavBarService.showsideBarSummary}\\\">\\n  <div mat-component-id=\\\"summaryCart\\\" open=\\\"isSidenavOpen\\\" tabindex=\\\"-1\\\" fxLayout=\\\"column\\\">\\n    <div class=\\\"md-menu-toolbar _md _md-toolbar-transitions orderSummary\\\" fxFlex=\\\"100\\\">\\n      <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"none\\\" class=\\\"layout-align-start-stretch layout-column\\\">\\n        <div fxLayout=\\\"row\\\" class=\\\"layout-row\\\" style=\\\"padding-bottom: 10px;\\\">\\n          <span fxFlex=\\\"\\\" class=\\\"flex\\\"></span>\\n          <button mat-icon-button (click)=\\\"sideNavBarService.triggerOpen()\\\">\\n            <mat-icon>close</mat-icon>\\n          </button>\\n        </div>\\n        <div fxLayout=\\\"row\\\" class=\\\"ordersumary_heading\\\">\\n          <div fxLayoutAlign=\\\"start\\\" fxFlex=\\\"50\\\" fxLayout=\\\"column\\\">\\n            <p *ngIf=\\\"!utilityService.getAutoshipEditFlag()\\\" class=\\\"line_height_1 f-s-18\\\" translate=\\\"order_summary\\\"></p>\\n            <span *ngIf=\\\"utilityService.getAutoshipEditFlag()\\\" ng-bind=\\\"getAutoshipNumber()\\\"></span>\\n            <p *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\" class=\\\"pV\\\"><span translate=\\\"global_total\\\"></span>\\n              <span *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\"\\n                [textContent]=\\\"': (' + getOrderQuanity()+ ' items)'\\\"></span>\\n              <span *ngIf=\\\"utilityService.getAutoshipEditFlag() && itemsService.selectedOrderItems.length == 0\\\"\\n                [textContent]=\\\"': (' + getAutoOrderQuanity()+ ' items)'\\\"></span>\\n            </p>\\n            <p *ngIf=\\\"(this.itemsService.selectedPacks == 0)\\\"\\n              class=\\\"pV m-t-20\\\" style=\\\"width: 309px !important;\\\"><span>Your cart is currently empty. Keep\\n                Shopping.</span>\\n            </p>\\n          </div>\\n          <div fxLayoutAlign=\\\"end\\\" fxFlex=\\\"50\\\" class=\\\"md-secondary-container\\\">\\n            <div class=\\\"width-100 text-right\\\">\\n              <p class=\\\"main_price\\\" *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\"\\n                [textContent]=\\\"((orderService.calculateOrderResponse.Total) ? (orderService.calculateOrderResponse.Total) : 0) | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n              </p>\\n              <p class=\\\"main_price\\\"\\n                *ngIf=\\\"utilityService.getAutoshipEditFlag() && itemsService.selectedOrderItems.length == 0\\\"\\n                [textContent]=\\\"((orderService.calculateAutoOrderResponse.Total) ? (orderService.calculateAutoOrderResponse.Total) : 0) | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n              </p>\\n\\n              <p *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\" class=\\\"f-right c-light main_qv\\\">\\n                {{'global_pv'|translate}}\\n                <span *ngIf=\\\"itemsService.selectedOrderItems.length>0\\\">:\\n                  {{((orderService.orderBusinessVolume) || 0)}}</span>\\n                <span *ngIf=\\\"utilityService.getAutoshipEditFlag() && itemsService.selectedOrderItems.length==0\\\">:\\n                  {{((orderService.orderBusinessVolume) || 0)}}</span>\\n              </p>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n    <div mat-content class=\\\"mat-content md_cart _md\\\" fxFlex=\\\"100\\\">\\n      <mat-list role=\\\"list\\\" fxFlex=\\\"100\\\">\\n        <mat-accordion [togglePosition]=\\\"'before'\\\" multi>\\n          <mat-expansion-panel *ngIf=\\\"itemsService.selectedPacks.length > 0 && utilityService.isEnrollment()\\\">\\n            <mat-expansion-panel-header class=\\\"md-no-sticky list-item-head md-subheader _md p-t-10\\\">\\n              <div class=\\\"\\\" role=\\\"heading\\\" tabindex=\\\"0\\\" aria-level=\\\"2\\\" fxFlex=\\\"100\\\">\\n                <div class=\\\"md-subheader-inner\\\">\\n                  <div class=\\\"md-subheader-content\\\" fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"60\\\" class=\\\"initOrder\\\">\\n                      <h3 translate=\\\"shop_kit_order\\\"></h3>\\n                      <p class=\\\"enroll_main_total pV\\\">\\n                        <span translate=\\\"sub_total\\\" class=\\\"pV\\\"></span><span\\n                          [textContent]=\\\"': (' + getPacksQuanity()+ ' items)'\\\"></span>\\n                      </p>\\n                    </div>\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"40\\\">\\n                      <p class=\\\"price_each\\\" fxLayoutAlign=\\\"end center\\\"\\n                        [textContent]=\\\"orderService.packTotal | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                      </p>\\n                      <p class=\\\"pV \\\" fxLayoutAlign=\\\"end center\\\">{{'global_pv'|translate}} <span\\n                          [textContent]=\\\"' : ' + (orderService.packBusinessVolume || 0)\\\"></span>\\n                      </p>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </mat-expansion-panel-header>\\n            <div class=\\\"in collapse\\\" aria-expanded=\\\"true\\\" aria-hidden=\\\"false\\\" fxLayout=\\\"column\\\">\\n              <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('pack'), let i = index\\\"\\n                class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                  <img [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                    [default]=\\\"'assets/images/noimage.png'\\\" class=\\\"img-avatar\\\">\\n                </div>\\n                <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\" fxFlex=\\\"53\\\">\\n                  <h3 class=\\\"product_detail_text color-header\\\" [textContent]=\\\"item.ProductName | slice:0:40\\\"></h3>\\n                  <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\" [textContent]=\\\"item.selectedOptions\\\"></span>\\n                  <p class=\\\"product_detail_qv\\\" [ngClass]=\\\"item.selectedOptions? 'm-b-0' : 'm-b-0'\\\">\\n                    {{'global_pv'|translate}}<span> : {{item.Quantity * (item.CV || item.QV || 0)}}</span></p>\\n                  <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\" *ngIf=\\\"false\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon class=\\\"\\\" (click)=\\\"decreaseQuantiy('pack', item);closeCart();\\\"\\n                        type=\\\"button\\\">\\n                        <mat-icon class=\\\"\\\">remove</mat-icon>\\n                      </button>\\n                    </span>\\n                    <input type=\\\"text\\\" [(ngModel)]=\\\"getQuantityModel('pack', item)[item.ItemID]\\\"\\n                      (change)=\\\"checkQuantity('pack', item); closeCart()\\\"\\n                      (keyup)=\\\"($event.which === 38) ? increaseQuantiy('pack', item) : 0\\\"\\n                      (keydown)=\\\"($event.which === 40) ? decreaseQuantiy('pack', item) : 0 ; closeCart()\\\"\\n                      (keypress)=\\\"getLastQuantity('pack', item)\\\"\\n                      (ngInit)=\\\"getQuantityModel('pack', item)[item.ItemID] ? getQuantityModel('pack', item)[item.ItemID] : getQuantityModel('pack', item)[item.ItemID] = 1\\\"\\n                      class=\\\"input-control\\\" maxlength=\\\"2\\\" validate=\\\"\\\" inputonlynumber=\\\"true\\\" aria-invalid=\\\"false\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon (click)=\\\"increaseQuantiy('pack', item)\\\" type=\\\"button\\\">\\n                        <mat-icon>add</mat-icon>\\n                      </button>\\n                    </span>\\n                  </div>\\n                </div>\\n                <div fxFlex=\\\"17\\\">\\n                  <button mat-icon-button (click)=\\\"removeFromCart('pack', item);closeCart();\\\" *ngIf=\\\"false\\\">\\n                    <mat-icon class=\\\"\\\">close</mat-icon>\\n                  </button>\\n                  <div class=\\\"md-secondary-container\\\">\\n                    <div class=\\\"price_set\\\">\\n                      <p class=\\\"\\\"\\n                        [textContent]=\\\"(item.Quantity * item.Price) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                      </p>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </mat-expansion-panel>\\n          <mat-expansion-panel *ngIf=\\\"itemsService.selectedOrderItems.length > 0\\\">\\n            <mat-expansion-panel-header class=\\\"md-no-sticky list-item-head md-subheader _md p-t-10 panel1\\\">\\n              <div class=\\\"\\\" role=\\\"heading\\\" tabindex=\\\"0\\\" aria-level=\\\"2\\\" fxFlex=\\\"100\\\">\\n                <div class=\\\"md-subheader-inner\\\">\\n                  <div class=\\\"md-subheader-content\\\" fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"60\\\" class=\\\"initOrder\\\">\\n                      <h3 translate=\\\"initial_order\\\"></h3>\\n                      <p class=\\\"enroll_main_total pV\\\">\\n                        <span translate=\\\"sub_total\\\"></span>\\n                        <span [textContent]=\\\"': (' + getOrderQuanity()+ ' items)'\\\"></span>\\n                      </p>\\n                    </div>\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"40\\\" class=\\\"pV\\\">\\n                      <p class=\\\"price_each\\\" fxLayoutAlign=\\\"end center\\\"\\n                        [textContent]=\\\"(orderService.orderTotal ? orderService.orderTotal : 0) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                      </p>\\n                      <p class=\\\"pV \\\" fxLayoutAlign=\\\"end center\\\">{{'global_pv'|translate}}\\n                        <span [textContent]=\\\"' : ' + (orderService.orderBusinessVolume || 0)\\\"></span>\\n                      </p>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </mat-expansion-panel-header>\\n            <div aria-expanded=\\\"true\\\" aria-hidden=\\\"false\\\" fxLayout=\\\"column\\\">\\n              <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('order')\\\"\\n                class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                  <img class=\\\"img-avatar\\\"\\n                    [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                    [default]=\\\"'assets/images/noimage.png'\\\">\\n                </div>\\n                <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\" fxFlex=\\\"53\\\">\\n                  <h3 class=\\\"product_detail_text color-header\\\" [textContent]=\\\"item.ProductName | slice:0:40\\\"\\n                    [matTooltip]=\\\"item.ProductName\\\"></h3>\\n                  <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\" [textContent]=\\\"item.selectedOptions\\\"></span>\\n                  <p class=\\\"product_detail_qv  m-b-0\\\">{{'global_pv'|translate}}<span> : {{item.Quantity * (item.CV ||\\n                      item.QV || 0)}}</span></p>\\n                  <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon class=\\\"\\\" (click)=\\\"decreaseQuantiy('order', item);closeCart()\\\"\\n                        type=\\\"button\\\">\\n                        <mat-icon class=\\\"\\\">remove</mat-icon>\\n                      </button>\\n                    </span>\\n\\n                    <input type=\\\"text\\\" [(ngModel)]=\\\"getQuantityModel('order', item)[item.ItemID]\\\"\\n                      (change)=\\\"checkQuantity('order', item); closeCart()\\\"\\n                      (keyup)=\\\"($event.which === 38) ? increaseQuantiy('order', item) : 0\\\"\\n                      (keydown)=\\\"($event.which === 40) ? decreaseQuantiy('order', item) : 0 ; closeCart()\\\"\\n                      (keypress)=\\\"getLastQuantity('order', item)\\\"\\n                      (ngInit)=\\\"getQuantityModel('order', item)[item.ItemID] ? getQuantityModel('order', item)[item.ItemID] : getQuantityModel('order', item)[item.ItemID] = 1\\\"\\n                      class=\\\"input-control\\\" validate inputonlynumber=\\\"true\\\" maxlength=\\\"2\\\" aria-invalid=\\\"false\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon (click)=\\\"increaseQuantiy('order', item)\\\" type=\\\"button\\\">\\n                        <mat-icon>add</mat-icon>\\n                      </button>\\n                    </span>\\n                  </div>\\n                </div>\\n                <div fxFlex=\\\"17\\\">\\n                  <button mat-icon-button (click)=\\\"removeFromCart('order', item);closeCart();\\\">\\n                    <mat-icon class=\\\"\\\">close</mat-icon>\\n                  </button>\\n                  <div class=\\\"md-secondary-container\\\">\\n                    <div class=\\\"price_set\\\">\\n                      <p class=\\\"\\\"\\n                        [textContent]=\\\"(item.Quantity * item.Price) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                      </p>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </mat-expansion-panel>\\n          <div class=\\\"items total md-no-proxy _md flex\\\" flex=\\\"\\\" role=\\\"listitem\\\"\\n            *ngIf=\\\"itemsService.selectedOrderItems.length > 0 || itemsService.selectedPacks.length > 0\\\">\\n            <div class=\\\"summary_total m-t-5\\\" fxLayout=\\\"column\\\" fxFlex>\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" translate=\\\"sub_total\\\"></div>\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" fxLayoutAlign=\\\"end center\\\"\\n                  [textContent]=\\\"((orderService.calculateOrderResponse.SubTotal) ? (orderService.calculateOrderResponse.SubTotal) : 0) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                </div>\\n              </div>\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-14 c-1\\\" translate=\\\"discounttotal\\\"></div>\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-14 c-1\\\" fxLayoutAlign=\\\"end center\\\"\\n                  [textContent]=\\\"((orderService.calculateOrderResponse.DiscountTotal) ? (orderService.calculateOrderResponse.DiscountTotal) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                </div>\\n              </div>\\n              <!-- <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" translate=\\\"shippingtotal\\\"></div>\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" fxLayoutAlign=\\\"end center\\\" [textContent]=\\\"((orderService.calculateOrderResponse.ShippingTotal) ? (orderService.calculateOrderResponse.ShippingTotal) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\"></div>\\n              </div> -->\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" translate=\\\"taxtotal\\\"></div>\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" fxLayoutAlign=\\\"end center\\\"\\n                  [textContent]=\\\"((orderService.calculateOrderResponse.TaxTotal) ? (orderService.calculateOrderResponse.TaxTotal) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                </div>\\n              </div>\\n              <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" translate=\\\"global_total\\\"></div>\\n                <div fxFlex=\\\"50\\\" class=\\\"total_block f-s-16 c-1\\\" fxLayoutAlign=\\\"end center\\\"\\n                  [textContent]=\\\"((orderService.calculateOrderResponse.Total) ? (orderService.calculateOrderResponse.Total) : 0) |currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                </div>\\n              </div>\\n            </div>\\n            <div class=\\\"md-secondary-container\\\"></div>\\n          </div>\\n          <mat-expansion-panel *ngIf=\\\"itemsService.selectedAutoOrderItems.length > 0\\\">\\n            <mat-expansion-panel-header class=\\\"md-no-sticky list-item-head md-subheader _md p-t-10 panel2\\\">\\n              <mat-panel-description>\\n                <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\" (click)=\\\"$event.stopPropagation();\\\">\\n                  <div class=\\\"\\\" role=\\\"heading\\\" tabindex=\\\"0\\\" aria-level=\\\"2\\\" fxFlex=\\\"100\\\">\\n                    <div class=\\\"md-subheader-inner\\\">\\n                      <div class=\\\"md-subheader-content p-r-0\\\" fxFlex=\\\"100\\\">\\n                        <div role=\\\"button\\\" tabindex=\\\"0\\\" fxFlex=\\\"100\\\" fxLayout=\\\"column\\\">\\n                          <div role=\\\"listitem\\\" fxLayout=\\\"row\\\" class=\\\"autoShipOrder\\\" fxFlex=\\\"100\\\">\\n\\n                            <div fxLayout=\\\"column\\\" fxFlex=\\\"60\\\" class=\\\"autoShipH3\\\">\\n                              <h3 translate=\\\"Autoship Order\\\"></h3>\\n                              <p class=\\\"subTotal\\\">\\n                                <span translate=\\\"sub_total\\\"></span><span\\n                                  [textContent]=\\\"': (' + getAutoOrderQuanity() + ' items)'\\\"></span>\\n                              </p>\\n                            </div>\\n                            <div class=\\\"total-coloumn\\\" fxLayout=\\\"column\\\" fxFlex=\\\"40\\\">\\n                              <h3 fxLayoutAlign=\\\"end center\\\" class=\\\"line_height_1\\\"\\n                                [textContent]=\\\"(orderService.calculateAutoOrderResponse.SubTotal ? (orderService.calculateAutoOrderResponse.SubTotal - orderService.calculateAutoOrderResponse.DiscountTotal) : 0) | currency:companyService.selectedCurrency.CurrencyCode\\\">\\n                              </h3>\\n                              <p fxLayoutAlign=\\\"end center\\\" class=\\\"f-right \\\">{{'global_pv'|translate}}<span> :\\n                                  {{(orderService.autoorderBusinessVolume || 0)}}</span></p>\\n                            </div>\\n                            <div class=\\\"md-secondary-container\\\"></div>\\n                          </div>\\n                          <div fxFlex=\\\"100\\\">\\n                            <p class=\\\"subTotal\\\">Your next order will process\\n                              {{commonData.FrequencyTypes[persistentService.retailData.Autoship.FrequencyTypeID].Description\\n                              }}, starting on:</p>\\n                          </div>\\n                          <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"30\\\" fxLayoutAlign=\\\"start center\\\">\\n                              <mat-icon style=\\\"margin-bottom: 18px; cursor: pointer;\\\"\\n                                (click)=\\\"dp3.open()\\\">calendar_today</mat-icon>\\n                            </div>\\n                            <div fxFlex=\\\"60\\\">\\n                              <mat-form-field class=\\\"example-full-width\\\">\\n                                <input matInput [(ngModel)]=\\\"autoshipConfigurationService.autoshipDate\\\"\\n                                  [min]=\\\"AutoshipMinDate\\\" [max]=\\\"AutoshipMaxDate\\\" [matDatepicker]=\\\"dp3\\\" disabled>\\n                                <mat-datepicker-toggle matPrefix [for]=\\\"dp3\\\">\\n                                  <mat-icon class=\\\"c-gray\\\" matDatepickerToggleIcon>keyboard_arrow_down</mat-icon>\\n                                </mat-datepicker-toggle>\\n                                <mat-datepicker #dp3 disabled=\\\"false\\\"\\n                                  [startAt]=\\\"autoshipConfigurationService.autoshipDate\\\"></mat-datepicker>\\n                              </mat-form-field>\\n                              <p class=\\\"autoShipFreq\\\" style=\\\"line-height: 0; text-align: left; font-size: 11px;\\\"\\n                                translate=\\\"choose_frequency\\\" for=\\\"freq_dd\\\">Choose Autoship Frequency</p>\\n                            </div>\\n                            <div fxFlex=\\\"10\\\">\\n                            </div>\\n                          </div>\\n                          <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\">\\n                            <div fxFlex=\\\"30\\\" class=\\\"m-t-15 m-r-5\\\">\\n                              <span style=\\\"word-break: break-all;\\\" translate=\\\"frequency\\\"></span>\\n                            </div>\\n                            <div class=\\\"\\\" fxFlex=\\\"70\\\">\\n                              <mat-form-field md-no-float=\\\"\\\"\\n                                class=\\\"md-block m-0 ds-validate control-group height-auto fieldBox__input-container md-input-has-value flex-gt-sm\\\"\\n                                flex-gt-sm=\\\"\\\">\\n                                <mat-select [(ngModel)]=\\\"persistentService.retailData.Autoship.FrequencyTypeID\\\"\\n                                  (selectionChange)=\\\"setFrequency();\\\">\\n                                  <mat-option *ngFor=\\\"let freq of commonData.FrequencyTypes\\\" [value]=\\\"freq.ID\\\">\\n                                    {{freq.Description | translate}}\\n                                  </mat-option>\\n                                </mat-select>\\n                              </mat-form-field>\\n                            </div>\\n                          </div>\\n                        </div>\\n                      </div>\\n                    </div>\\n                  </div>\\n                </div>\\n              </mat-panel-description>\\n\\n            </mat-expansion-panel-header>\\n            <div aria-expanded=\\\"true\\\" aria-hidden=\\\"false\\\" fxLayout=\\\"column\\\">\\n              <div fxLayout=\\\"row\\\" *ngFor=\\\"let item of getItems('autoship')\\\"\\n                class=\\\"items m-t-5 md-no-proxy md-with-secondary _md\\\" fxFlex=\\\"100\\\">\\n                <div class=\\\"cart-items__images\\\" fxFlex=\\\"30\\\">\\n                  <img [src]=\\\"configService.localSettings.Disco.DiscoUrl+ '/CMS/images/inventory' + getImage(item)\\\"\\n                    [default]=\\\"'assets/images/noimage.png'\\\" class=\\\"img-avatar\\\">\\n                </div>\\n                <div class=\\\"md-list-item-text layout-column p-t-8\\\" fxLayout=\\\"column\\\" fxFlex=\\\"53\\\">\\n                  <h3 class=\\\"product_detail_text color-header\\\" [textContent]=\\\"item.ProductName | slice:0:40\\\"\\n                    [matTooltip]=\\\"item.ProductName\\\"></h3>\\n                  <span class=\\\"f-s-12\\\" *ngIf=\\\"item.selectedOptions\\\" [textContent]=\\\"item.selectedOptions\\\"></span>\\n                  <p class=\\\"product_detail_qv  m-b-0\\\">{{'global_pv'|translate}}<span> :\\n                      {{item.Quantity * (item.CV || item.QV || 0)}}</span></p>\\n                  <div class=\\\"input-group\\\" fxLayoutAlign=\\\"center center\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon class=\\\"\\\" (click)=\\\"decreaseQuantiy('autoship', item);closeCart();\\\"\\n                        type=\\\"button\\\">\\n                        <mat-icon>remove</mat-icon>\\n                      </button>\\n                    </span>\\n                    <input type=\\\"text\\\" [(ngModel)]=\\\"getQuantityModel('autoship',item)[item.ItemID]\\\"\\n                      (change)=\\\"checkQuantity('autoship', item); closeCart()\\\"\\n                      (keyup)=\\\"($event.which === 38) ? increaseQuantiy('autoship', item) : 0\\\"\\n                      (keydown)=\\\"($event.which === 40) ? decreaseQuantiy('autoship', item) : 0 ; closeCart()\\\"\\n                      (keypress)=\\\"getLastQuantity('autoship', item)\\\"\\n                      (ngInit)=\\\"getQuantityModel('autoship', item)[item.ItemID] ? getQuantityModel('autoship', item)[item.ItemID] : getQuantityModel('autoship', item)[item.ItemID] = 1\\\"\\n                      class=\\\"input-control\\\" maxlength=\\\"2\\\" validate=\\\"\\\" inputonlynumber=\\\"true\\\" aria-invalid=\\\"false\\\">\\n                    <span class=\\\"input-group-btn\\\">\\n                      <button mat-button-icon class=\\\"\\\" (click)=\\\"increaseQuantiy('autoship', item)\\\" type=\\\"button\\\">\\n                        <mat-icon>add</mat-icon>\\n                      </button>\\n                    </span>\\n                  </div>\\n                </div>\\n                <div fxFlex=\\\"17\\\">\\n                  <button mat-icon-button (click)=\\\"removeFromCart('autoship', item);closeCart();\\\">\\n                    <mat-icon class=\\\"\\\">close</mat-icon>\\n                  </button>\\n                  <div class=\\\"md-secondary-container\\\">\\n                    <div class=\\\"price_set\\\">\\n                      <p class=\\\"\\\"\\n                        [textContent]=\\\"(item.Quantity * item.Price) | currency: companyService.selectedCurrency.CurrencyCode\\\">\\n                      </p>\\n                    </div>\\n                  </div>\\n                </div>\\n              </div>\\n            </div>\\n          </mat-expansion-panel>\\n        </mat-accordion>\\n\\n        <!-- For Edit Autoship button -->\\n        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center center\\\" class=\\\"p-t-10 p-b-10\\\"\\n          *ngIf=\\\"(utilityService.getAutoshipEditFlag() && itemsService.selectedAutoOrderItems.length > 0) && (itemsService.selectedOrderItems.length>0)\\\">\\n          <button mat-button class=\\\"logButton text-uppercase\\\" fxLayoutAlign=\\\"center center\\\"\\n            *ngIf=\\\"!( location.path().toLowerCase() == '/manageautoship') || ( location.path().toLowerCase() == '/checkout') || ( location.path().toLowerCase() == '/application'|| location.path().toLowerCase() == '/login')\\\"\\n            (click)=\\\"saveEditAutoship()\\\">{{'save_and_continue' | translate}}</button>\\n          <button mat-button class=\\\"logButton text-uppercase m-t-10\\\" fxLayoutAlign=\\\"center center\\\"\\n            *ngIf=\\\"!(location.path().toLowerCase() == '/manageautoship') || (location.path().toLowerCase() == '/checkout') || ( location.path().toLowerCase() == '/application'|| location.path().toLowerCase() == '/login')\\\"\\n            (click)=\\\"NavigateToAutoship()\\\">{{'cancel' | translate}}</button>\\n        </div>\\n        <div fxLayout=\\\"column\\\" amit fxLayoutAlign=\\\"center center\\\" class=\\\"p-t-10 p-b-10\\\"\\n          *ngIf=\\\"(!utilityService.getAutoshipEditFlag() && !((location.path().toLowerCase() == '/checkout') && !userService.customerData.CustomerId )) && (itemsService.selectedOrderItems.length>0 || this.itemsService.selectedAutoOrderItems.length>0)\\\">\\n          <button mat-button class=\\\"logButton text-uppercase\\\" fxLayoutAlign=\\\"center center\\\"\\n            *ngIf=\\\"showLogincheckoutBtn()\\\" (click)=\\\"navigateToApplication();\\\">{{(isLoggedIn() ? 'check_out' :\\n            'login&checkout') | translate}}</button>\\n          <p class=\\\"p-t-10 p-b-10\\\" *ngIf=\\\"showNewCustomerBtn() && !(location.path().toLowerCase() == '/login')\\\">Or</p>\\n          <button mat-button class=\\\"checkOUTNewButton text-uppercase\\\" fxLayoutAlign=\\\"center center\\\"\\n            *ngIf=\\\"showNewCustomerBtn()\\\" validate trigger-checksection=\\\"true\\\"\\n            (click)=\\\"goToSignUp()\\\">{{'create_new_customer_type' | translate: getCustomerTypeName()}}</button>\\n          <button mat-button class=\\\"logButton text-uppercase\\\" [ngClass]=\\\"{'disabled': !canCheckOut()}\\\"\\n            fxLayoutAlign=\\\"center center\\\" *ngIf=\\\"location.path().toLowerCase() == '/checkout'\\\"\\n            (click)=\\\"navigateToNextStep()\\\">{{'place_order_' | translate}}</button>\\n        </div>\\n      </mat-list>\\n    </div>\\n    <div style=\\\"height: 20px;\\\" fxFelx=\\\"100\\\">\\n    </div>\\n  </div>\\n</div>\";","// loader-interceptor.service.ts\nimport { Injectable } from '@angular/core';\nimport {\n  HttpResponse,\n  HttpRequest,\n  HttpHandler,\n  HttpEvent,\n  HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { LoaderService } from '../loader.service';\n\n@Injectable()\nexport class LoaderInterceptor implements HttpInterceptor {\n  private requests: HttpRequest<any>[] = [];\n\n  constructor(private loaderService: LoaderService) { }\n\n  removeRequest(req: HttpRequest<any>) {\n    const i = this.requests.indexOf(req);\n    if (i >= 0) {\n      this.requests.splice(i, 1);\n    }\n    this.loaderService.isLoading.next(this.requests.length > 0);\n  }\n\n  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n\n    this.requests.push(req);\n\n    this.loaderService.isLoading.next(true);\n    return Observable.create(observer => {\n      const subscription = next.handle(req)\n        .subscribe(\n          event => {\n            if (event instanceof HttpResponse) {\n              this.removeRequest(req);\n              observer.next(event);\n            }\n          },\n          err => {\n            console.log('error' + err);\n            this.removeRequest(req);\n            observer.error(err);\n          },\n          () => {\n            this.removeRequest(req);\n            observer.complete();\n          });\n      // remove request from queue when cancelled\n      return () => {\n        this.removeRequest(req);\n        subscription.unsubscribe();\n      };\n    });\n  }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { first } from 'rxjs/operators';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ProductService } from '../../shared/services/product.service';\nimport * as  _ from 'lodash';\nimport { UserService } from '../../shared/services/user.service';\nimport { OrderService } from '../../shared/services/order.service';\nimport { Cart1Service } from '../../shared/services/cart1.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { AccountService } from '../../shared/services/account.service';\nimport { Title } from '@angular/platform-browser';\nimport { getSubdomain } from 'tldts';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { CookieService } from 'ngx-cookie-service';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { AutoshipConfigurationService } from '../../shared/services/autoshipConfiguration.service';\nimport { ConfigService } from '../../shared/services/config.service';\n@Component({\n  selector: 'app-login',\n  templateUrl: './login.component.html',\n  styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n  public userInfo = {\n    username: '',\n    password: '',\n    guestemail: ''\n  };\n  userService: UserServiceModal;\n  public ViewSection = [];\n  public SignupSetting = [];\n  public guestUser = {};\n  public issignin = true;\n  public isguest = true;\n  public showLoginSection: boolean = false;\n  autoLogin: boolean = false;\n  previousType: any;\n  constructor(\n    private titleService: Title,\n    private router: Router,\n    private accountService: AccountService,\n    public user: UserService,\n    private route: ActivatedRoute,\n    public orderService: OrderService,\n    public cartsService: Cart1Service,\n    public notificationService: NotificationService,\n    public translate: TranslateService,\n    public itemsService: ProductService,\n    public apiService: RestApiService,\n    private cookieService: CookieService,\n    public utilityService: UtilityService,\n    public autoshipConfigurationService: AutoshipConfigurationService,\n    public configService: ConfigService\n    ) {\n      this.userService = user.userServiceModal;\n      this.cookieService.deleteAll('/');\n    }\n\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_login') + ' | ' + text);\n    });\n    window.scrollTo(0, 0);\n    this.previousType = this.userService.customerTypeID;\n    this.load();\n  }\n\n  private load() {\n    localStorage.setItem('PostLoginEvents', null);\n\n    if (this.userService.customerData && !this.userService.customerData.FirstName) {\n    }\n  }\n\n  checkitem() {\n    return (this.itemsService.selectedOrderItems.length > 0 || this.itemsService.selectedAutoOrderItems.length > 0);\n  }\n\n  manageflow(guest, signin) {\n    this.isguest = guest;\n    if (signin) {\n      this.clearStorage();\n      const url = 'Home';\n      window.open(url, '_self');\n    } else {\n      this.issignin = signin;\n    }\n  }\n\n  private clearStorage() {\n    this.orderService.calculateOrderResponse = {};\n    this.cartsService.clearCart();\n    this.user.clearData();\n    this.user.setDefault();\n    localStorage.removeItem('guestLogin');\n  }\n\n  loginFunction(username?: string, password?: string) {\n    localStorage.setItem('guestLogin', 'false');\n    this.user.clearCustomerData();\n    localStorage.removeItem('guestLogin');\n    const loginrequest = {\n      granttype: 'password',\n      scope: 'office',\n      username: username || this.userInfo.username,\n      password: password || this.userInfo.password\n    };\n    this.apiService.Login(loginrequest).subscribe(\n      (result) => {\n        if (result && result.status == 200 && result.body.Status != 1) {\n          try {\n            localStorage.setItem('isLoggedIn', 'true');\n            this.accountService.getCustomerData(result.body.CustomerId).then((data: any) => {\n              if (data && data.Data) {\n                localStorage.setItem('user', JSON.stringify(data.Data));\n                this.userService.customerData = data.Data;\n                localStorage.setItem('userService',JSON.stringify(this.userService));\n                this.userService.customerTypeID = this.userService.customerData.CustomerType;\n                if (this.previousType !== this.userService.customerTypeID) {\n                  this.userService.couponInfo.Allcoupons = [];\n                  this.autoshipConfigurationService.autoshipDate = '';\n                  this.userService.shippingMethods = [];\n                  this.userService.selectedShippingMethod = 0;\n                  this.autoshipConfigurationService.init();\n                }\n                if (!this.utilityService.isEmptyObject(this.userService.customerData.DefaultShippingAddress)) {\n                  this.user.setShippingAddress();\n                } else {\n                  this.userService.shippingAddress = new UserServiceModal().newshippingAddress;\n                }\n\n                if (this.userService.customerData.WebAlias) {\n                  this.apiService.validateWebAlias(this.userService.customerData.WebAlias).subscribe((res: any) => {\n                    if (res.Data) {\n                      this.userService.WebAlias = this.userService.customerData.WebAlias;\n                      this.loginredirect(this.userService.WebAlias);\n                    }\n                  }, (error) => {\n                    if (error.Data && !error.Data.WebAlias) {\n                      this.notificationService.error('error_', 'webalias_not_exists');\n                      return false;\n                    }\n                  },\n                    () => {\n                      \n                    });\n                }\n                else if (this.userService.customerData.SponsorId) {\n                  this.apiService.getSearchCustomerDetail(this.userService.customerData.SponsorId).subscribe((resp: any) => {\n                    if (resp.Data) {\n                      this.apiService.validateWebAlias(resp.Data.WebAlias).subscribe((res: any) => {\n                        if (res.Data) {\n                          this.userService.WebAlias = resp.Data.WebAlias;\n                          location.href = `${location.origin}/${resp.Data.WebAlias}`;\n                        }\n                      }, (error) => {\n                        if (error.Data && !error.Data) {\n                          this.notificationService.error('error_', 'webalias_not_exists');\n                          return false;\n                        }\n                      },\n                        () => {\n                          \n                        });\n                    }\n                  }, (error) => {\n                    if (error.Data && !error.Data.WebAlias) {\n                      this.notificationService.error('error_', 'webalias_not_exists');\n                      return false;\n                    }\n                  },\n                    () => {\n                      \n                    });\n                }\n              } else {\n                this.notificationService.error('error_', 'error_occured_try_again');\n              }\n            }).catch((error) => {\n              this.notificationService.error('error_', 'error_occured_try_again');\n              console.error('ex', error);\n            });\n          } catch (successEx) {\n            this.notificationService.error('error_', 'error_occured_try_again');\n            console.error('ex', successEx);\n          }\n        } else {\n          this.notificationService.error('error_', 'Authentication Failed');\n        }\n      }, err => {\n        this.notificationService.error('error_', 'error_occured_try_again');\n      },\n      () => {\n        \n      });\n  }\n\n\n\n  // *********** new method from ****************\n  private loginredirect(alias) {\n    let newUrl: any;\n    const subdomain = getSubdomain(window.location.host);\n    newUrl = `${location.origin}/${alias}`;\n\n    if (this.checkitem()) {\n      this.userService.checkItems = true;\n      window.location.assign(newUrl.replace('login', 'checkout'));\n    } else if (this.itemsService.selectedAutoOrderItems.length) {\n      this.userService.checkItems = true;\n      window.location.assign(newUrl.replace('login', 'products/all'));\n    } else {\n      window.location.assign(newUrl.replace('login', 'products/all'));\n    }\n  }\n\n  navLoginPath(state) {\n    // this.checkWebAliasService.checkWebAlias();\n    this.router.navigate([state], { queryParams: { WebAlias: this.userService.WebAlias } });\n  }\n\n\n  redirectToForgotPassword() {\n    this.router.navigateByUrl('/ForgotPassword', { skipLocationChange: false });\n\n  }\n  isMobile(): boolean {\n    return false;\n  }\n\n  createGuestCustomer(guestemail) {\n    this.userService.customerTypeID = 2;\n    const randomPassword = '6Zy$Ce6yrzz';\n    const request = {\n      CustomerType: 2,\n      EmailAddress: guestemail,\n      FirstName: 'Guest User',\n      LastName: 'Guest User',\n      PrimaryAddress: {\n        Street1: 'No Address',\n        Region: this.userService.regionMainState || 'UT',\n        CountryCode: this.configService.commonData.selectedCountry || 'us'\n      },\n      SponsorId: this.userService.enrollerInfo.CustomerId || 2,\n      Username: guestemail,\n      Password: randomPassword\n    };\n    this.accountService.createGuestUser(request).subscribe((result) => {\n      try {\n        if (Number(result.Data) > 0) {\n          this.loginFunction(this.userInfo.guestemail, randomPassword);\n          this.userService.newUser = true;\n\n          this.notificationService.success('Success', 'customer_created_successfully');\n        } else {\n          this.notificationService.error('error_', result.ErrorDescription);\n        }\n      } catch (ex) {\n        this.notificationService.error('error_', 'error_occured_try_again');\n      }\n    },\n      err => {\n        // Do stuff whith your error\n      },\n      () => {\n        \n      });\n  }\n\n  showLogin(value: boolean) {\n    this.showLoginSection = value;\n  }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Product } from 'src/app/modals/product.model';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ProductService } from '../../shared/services/product.service';\nimport { ConfigService } from '../../shared/services/config.service';\nimport { DSProduct } from 'src/app/modals/dsproduct.modal';\nimport { UserService } from '../../shared/services/user.service';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { UtilityService } from '../../shared/services/utility.service';\nimport { CompanyService } from '../../shared/services/company.service';\nimport { ShoppingCartService } from '../../shared/services/shopping-cart.service';\nimport { SwiperConfigInterface, SwiperNavigationInterface, SwiperPaginationInterface } from 'ngx-swiper-wrapper';\nimport { Route, Router } from '@angular/router';\nimport { Cart1Service } from '../../shared/services/cart1.service';\nimport { ItemsListService } from '../../shared/services/itemsList.service';\nimport * as _ from 'lodash';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n  selector: 'app-home',\n  templateUrl: './home.component.html',\n  styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n  env: any;\n  products: Array<DSProduct>;\n  healthBeautyProduct: Array<DSProduct>;\n  shopPacksProduct: Array<DSProduct> = [];\n  quarterlyPacksProduct: Array<DSProduct>;\n  userService: UserServiceModal;\n  itemType = '';\n  public config: SwiperConfigInterface = {};\n  private pagination: SwiperPaginationInterface = {\n    el: '.swiper-pagination',\n    clickable: true\n  };\n  private navigation: SwiperNavigationInterface = {\n    nextEl: '.swiper-button-next',\n    prevEl: '.swiper-button-prev',\n  }\n  public allItems: { Category: any, CategoryId: any }[] = [];\n  contentLoaded = false;\n  public banners = [];\n  public slides = [];\n\n  public slider = [{ subtitle: 'They move when you move - no surprises.', title: 'Women\\'s Tops', image: 'https://cdn.shopify.com/s/files/1/0926/9298/files/NEWBLACKOUTLEGGINGS_NAVY_1_085ee5dc-7e45-4d27-8a72-d75f18d4bb01_1080x.jpg?v=1600985773' },\n  { subtitle: 'Coordinated outfits to get you training.', title: 'Training', image: 'https://cdn.shopify.com/s/files/1/0926/9298/files/IMGN_191028_AF1_sRGB91023_JASMINE_02_038_F1_sRGB_1080x.jpg?v=1600972867' },\n  { subtitle: 'The very best activewear.', title: 'Women\\'s Tights', image: 'https://cdn.shopify.com/s/files/1/0926/9298/files/Block_02_1080x.jpg?v=1600977240' },\n  ];\n  constructor(\n    public configService: ConfigService,\n    public translate: TranslateService,\n    private titleService: Title,\n    private productService: ProductService,\n    public user: UserService,\n    public companyService: CompanyService,\n    public shoppingCartService: ShoppingCartService,\n    public router: Router,\n    public cart1Service: Cart1Service,\n    public itemsListService: ItemsListService\n  ) {\n    this.userService = user.userServiceModal;\n\n    this.env = environment\n  }\n  ngOnInit() {\n    this.translate.get('global_Company_Title').subscribe((text: string) => {\n      this.titleService.setTitle(this.translate.instant('pagetitle_home') + ' | ' + text);\n    });\n    setTimeout(() => {\n      this.contentLoaded = true;\n    }, 3000);\n    this.slides = this.configService.localSettings.Home.PrimaryBanner;\n  }\n\n  ngAfterViewInit() {\n    this.config = {\n      slidesPerView: 1.5,\n      spaceBetween: 20,\n      initialSlide: 4,\n      keyboard: true,\n      navigation: this.navigation,\n      pagination: this.pagination,\n      grabCursor: true,\n      loop: true,\n      preloadImages: false,\n      lazy: true,\n      breakpoints: {\n        860: {\n          slidesPerView: 2,\n        },\n        640: {\n          slidesPerView: 1\n        }\n      }\n    }\n  }\n\n  mouseEnter(index) {\n    document.getElementById('btn' + index).classList.add(\"faded-in\")\n    document.getElementById('btn' + index).classList.remove(\"faded-out\")\n    setTimeout(() => {\n      document.getElementById('btn' + index).style.opacity = \"1\";\n    }, 590);\n\n  }\n  mouseOut(index) {\n    document.getElementById('btn' + index).classList.add(\"faded-out\")\n    setTimeout(() => {\n      document.getElementById('btn' + index).style.opacity = \"0\";\n    }, 590);\n    document.getElementById('btn' + index).classList.remove(\"faded-in\")\n  }\n\n  public selectedCategory;\n  // getAllProductsCategories() {\n  //   this.selectedCategory = { CategoryId: 0 };\n  //   this.productService.getProductByCategory(this.selectedCategory).subscribe(products => {\n  //     this.productService.orders = products.map((item) => {\n  //       item.Price = item.Price || (item.Prices && item.Prices[0] && item.Prices[0].Price);\n  //       return item;\n  //     });\n\n  //     const uniqueItems = _.uniqBy(products, x => x.CategoryId);\n  //     let uniqueRequireProduct = [];\n  //     if(this.configService.localSettings.Global.CategoriesToFetch?.length > 0) {\n  //       uniqueItems.filter((x) => {\n  //         if (this.configService.localSettings.Global.CategoriesToFetch.indexOf(x.Category) > -1) {\n  //           uniqueRequireProduct.push(x);\n  //         }\n  //       })\n  //     }\n  //     else {\n  //       uniqueRequireProduct = [...uniqueItems];\n  //     }\n\n  //     this.itemsListService.selectedCategories = {};\n  //     if (this.selectedCategory.Category == 'all') {\n  //       this.itemsListService.selectedCategories['all'] = true;\n  //     }\n  //     this.itemsListService.categoryList = _.map(uniqueRequireProduct, (object) => {\n  //       return _.pick(object, ['CategoryId', 'Category']);\n  //     });\n  //     this.itemsListService.products = this.productService.orders;\n  //     this.itemsListService.type = 'order';\n  //     this.itemsListService.getItemsByCategory(this.selectedCategory.Category);\n  //     this.products = this.itemsListService.productList.slice(0.8);\n  //     this.allItems = this.itemsListService.categoryList;\n  //   });\n  // }\n\n  goToShop(id) {\n    this.router.navigate(['/product', id]);\n  }\n\n  public OrderQuantityCount: any;\n\n  handleProduct(item) {\n    if (item.ItemOptions.length > 0) {\n      this.router.navigate(['/product', item.ItemID]);\n    }else{\n      this.OrderQuantityCount = item && item.Quantity ? item.Quantity : 1;\n      if (this.cart1Service['orderQuantity'][item.ItemID] >= 1) {\n        this.increaseQuantiy('order', item)\n      } else {\n        this.cart1Service['orderQuantity'][item.ItemID] = this.OrderQuantityCount;\n        this.cart1Service.addToCart(item, true, item.ItemID, false, false, false, true);\n  \n      }\n    }\n  }\n  increaseQuantiy(type, item) {\n    this.cart1Service.increaseQuantiy(item, type == 'autoship', type == 'pack');\n  }\n}\n","import { AfterViewInit, Component, OnChanges, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Title } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { cloneDeep, noop as _noop } from 'lodash';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { map, startWith } from 'rxjs/operators';\nimport { OrderHistoryResult } from 'src/app/modals/orderhistory.modal';\nimport { CompanyService } from '../../shared/services/company.service';\nimport { NotificationService } from '../../shared/services/notification.service';\nimport { RestApiService } from '../../shared/services/restapi.service';\nimport { UserService } from '../../shared/services/user.service';\nimport { OrderInvoiceComponent } from '../order-invoice/order-invoice.component';\n\n\n@Component({\n    selector: 'app-order-history',\n    templateUrl: './order-history.component.html',\n    styleUrls: ['./order-history.component.scss']\n})\nexport class OrderHistoryComponent implements OnInit, AfterViewInit, OnChanges  {\n\n\n    constructor(private titleService: Title, public dialog: MatDialog, public apiService: RestApiService, public translate: TranslateService, public notificationService: NotificationService, public userService: UserService, public companyService:CompanyService) {\n\n    }\n    displayedColumns: string[] = [\"Status\", \"TotalQV\", \"TotalCV\", \"OrderTotal\", \"OrderNumberS\", \"OrderDate\", \"OrderNumber\", \"TrackingNumber\", \"TotalBonus\"];\n    dataSource = new MatTableDataSource(new OrderHistoryResult().Data);\n\n    @ViewChild(MatPaginator, { static: false })\n    set paginator(value: MatPaginator) {\n        this.dataSource.paginator = value;\n    }\n\n    @ViewChild(MatSort, { static: false })\n    set sort(value: MatSort) {\n        this.dataSource.sort = value;\n    }\n    myControl = new FormControl();\n    options: string[] = [];\n    filteredOptions: Observable<string[]>;\n    itemCount: number = 0;\n    ngOnInit() {\n        this.translate.get('global_Company_Title').subscribe((text: string) => {\n            this.titleService.setTitle(this.translate.instant('pagetitle_order_history') + ' | ' + text);\n        });\n        this.filteredOptions = this.myControl.valueChanges\n            .pipe(\n                startWith(''),\n                map(value => this._filter(value))\n            );\n\n        this.initOrders();\n    }\n    ngAfterViewInit() {\n        this.dataSource.sort = this.sort;\n        this.dataSource.paginator = this.paginator;\n    }\n    /**\n     * @hidden\n     */\n    /**\n     * Lifecycle hook that is called when any data-bound property of a datasource changes.\n     */\n    ngOnChanges() {\n        this.apiService.getCustomerOrders().subscribe((data: OrderHistoryResult) => {\n            this.dataSource = new MatTableDataSource(data.Data);\n            this.dataSource.sort = this.sort;\n            this.dataSource.paginator = this.paginator;\n        }, (err) => {\n            // Do stuff whith your error\n\n        }, () => {\n            \n        });\n    }\n\n    initOrders() {\n\n        this.apiService.getCustomerOrders().subscribe((data: OrderHistoryResult) => {\n            this.dataSource = new MatTableDataSource(data.Data);\n            this.dataSource.sort = this.sort;\n            this.dataSource.paginator = this.paginator;\n            this.itemCount = data.Data.length;\n        }, (err) => {\n            // Do stuff whith your error\n\n        }, () => {\n            \n        });\n\n    }\n    applyFilter(filterValue: string) {\n        this.dataSource.filter = filterValue.trim().toLowerCase();\n    }\n\n    private _filter(value: string): string[] {\n        const filterValue = value.toLowerCase();\n\n        return this.options.filter(option => option.toLowerCase().includes(filterValue));\n    }\n    viewOrderInvoice(dialogData): void {\n\n        const dialogRef = this.dialog.open(OrderInvoiceComponent, {\n            width: '90vw',\n            maxWidth: '90vw',\n            panelClass: 'invoiceDialog',\n            data: dialogData\n        });\n\n        dialogRef.afterClosed().subscribe(dialogResult => {\n            const result = dialogResult;\n        });\n    }\n\n}\n","export default \"<div class=\\\"prouduct bgm-white p-10\\\">\\n  <div class=\\\"p-30\\\">\\n    <div fxLayout=\\\"column\\\" class=\\\"bg-white-smoke\\\" fxFill fxLayout.gt-sm=\\\"row\\\" fxLayoutAlign=\\\"center center\\\" fxFlex>\\n      <div  *ngIf=\\\"selectedCategory.CategoryId=='10'\\\" fxFlexOrder.lt-md=\\\"2\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" fxFill>\\n        <div class=\\\"content p-l-30 p-r-30\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\">\\n          <p class=\\\"m-t-12 f-s-24 f-w-700\\\">Womens</p>\\n          <p class=\\\"m-t-20 f-s-14 w-72\\\">Made from sustainable materials with labour standards we're proud of. Our small\\n            collection is inspired by years of working with athletes. Each piece is created to ensure performance.</p>\\n        </div>\\n      </div>\\n      <div *ngIf=\\\"selectedCategory.CategoryId=='10'\\\" fxFlexOrder.lt-md=\\\"1\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n        <img\\n          src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/collections/HP_BANNER_DT_2000x_c65dfc3f-5b90-47f9-ad72-f4bf67bc6e8b_720x.jpg?v=1600989067\\\"\\n          alt=\\\"product-image\\\" width=\\\"100%\\\">\\n      </div>\\n      <div  *ngIf=\\\"selectedCategory.CategoryId=='11'\\\" fxFlexOrder.lt-md=\\\"2\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"start\\\" fxFill>\\n        <div class=\\\"content p-l-30 p-r-30\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\"  fxLayoutAlign=\\\"start\\\">\\n          <p class=\\\"m-t-12 f-s-24 f-w-700\\\">Mens</p>\\n    </div>\\n      </div>\\n      <div  *ngIf=\\\"selectedCategory.CategoryId=='11'\\\" fxFlexOrder.lt-md=\\\"1\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n        <img\\n        src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/collections/LNDR_Mens_homepage_300x300.png?v=1601056370\\\" \\n          alt=\\\"product-image\\\" width=\\\"100%\\\">\\n      </div>\\n   </div>\\n  </div>\\n  <!-- products -->\\n  <div class=\\\"p-30\\\">\\n    <div fxLayout=\\\"row\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutAlign=\\\"flex-start flex-start\\\" fxLayoutGap=\\\"20px\\\">\\n      <div fxFlex=\\\"25\\\" fxFlex.lt-sm=\\\"100\\\" class=\\\"m-t-40 w-100\\\">\\n        <!-- start -->\\n        <div class=\\\"main\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n          <div fxFlex=\\\"80\\\" fxLayout=\\\"column\\\" class=\\\"firstContainer\\\">\\n            <div>\\n              <span class=\\\"color1-f-s-17 f-w-700\\\" translate=\\\"search_product\\\"></span>\\n            </div>\\n            <div class=\\\"m-t-10\\\">\\n              <form>\\n                <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"center center\\\">\\n                  <div fxFlex=\\\"100\\\" class=\\\"searchBox\\\">\\n                    <mat-form-field fxFlex appearance=\\\"outline\\\" class=\\\"design\\\">\\n                      <input name=\\\"search\\\" [(ngModel)]=\\\"productSearchText\\\" [ngModelOptions]=\\\"{standalone: true}\\\"\\n                        matInput placeholder=\\\"What are you looking for?\\\">\\n                      <mat-icon class=\\\"m-t-10\\\" matSuffix>search</mat-icon>\\n                    </mat-form-field>\\n                  </div>\\n                </div>\\n              </form>\\n            </div>\\n            <hr style=\\\"border-color:rgba(0,0,0,0.1)\\\">\\n            <div class=\\\"m-t-10\\\">\\n              <span class=\\\"color1-f-s-17 f-w-700\\\" translate=\\\"category_\\\"></span>\\n            </div>\\n            <div class=\\\"m-t-10 borderBottom\\\">\\n              <div class=\\\"m-l-15\\\">\\n                <form>\\n                  <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                    <div class=\\\"checkBox\\\">\\n                      <mat-checkbox id=\\\"all\\\" [(ngModel)]=\\\"itemsListService.selectedCategories['all']\\\"\\n                        (change)=\\\"itemsListService.getItemsByCategory()\\\" [ngModelOptions]=\\\"{standalone: true}\\\"\\n                        class=\\\"text-uppercase\\\" color=\\\"warn\\\">{{'shop_all_' | translate}}</mat-checkbox>\\n                    </div>\\n                    <div class=\\\"checkBox\\\" *ngFor=\\\"let category of itemsListService.categoryList\\\">\\n                      <mat-checkbox [(ngModel)]=\\\"itemsListService.selectedCategories[category.CategoryId]\\\"\\n                        [attr.id]=\\\"category.CategoryId\\\"\\n                        (change)=\\\"onChange(itemsListService.selectedCategories)\\\"\\n                        [ngModelOptions]=\\\"{standalone: true}\\\" color=\\\"warn\\\" class=\\\"text-uppercase\\\">{{category.Category}}\\n                      </mat-checkbox>\\n                    </div>\\n                  </div>\\n                </form>\\n              </div>\\n            </div>\\n            <hr class=\\\"m-t-10\\\" style=\\\"border-color:rgba(0,0,0,0.1)\\\">\\n            <div class=\\\"m-t-10\\\">\\n              <div>\\n                <span class=\\\"color1-f-s-17 f-w-700\\\" translate=\\\"sort_by\\\"></span>\\n              </div>\\n              <div class=\\\"m-t-10\\\">\\n                <form>\\n                  <div class=\\\"sortBy\\\">\\n                    <mat-form-field appearance=\\\"outline\\\" class=\\\"w-100 design\\\">                    \\n                    <mat-select [(ngModel)]=\\\"sortByOrder\\\" [compareWith]=\\\"compareObjects\\\"\\n                      (selectionChange)=\\\"onChangeSorting($event)\\\" [ngModelOptions]=\\\"{standalone: true}\\\">\\n                      <mat-option *ngFor=\\\"let keys of sortKeys\\\" [value]=\\\"keys\\\"> {{keys.name | translate}} - {{keys.lname\\n                        | translate}}</mat-option>\\n                    </mat-select>\\n                  </mat-form-field>\\n                  </div>\\n                </form>\\n              </div>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n      <div fxFlex=\\\"75\\\" class=\\\"m-t-10\\\" fxLayout=\\\"row wrap\\\" fxLayoutAlign=\\\"flex-start flex-start\\\">\\n        <div *ngFor=\\\"let productImage of itemsListService.productList  | productSearch:productSearchText | productOrderBy:sortByOrder; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"32\\\" fxFlex.lt-md=\\\"48\\\"\\n          fxFlex.lt-sm=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill class=\\\"m-t-30 p-10\\\">\\n          <div fxFlex=\\\"70\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" (mouseover)=\\\"mouseEnter(i)\\\"\\n            (mouseout)=\\\"mouseOut(i)\\\" fxLayout=\\\"column\\\" fxFill class=\\\"p-relative\\\">\\n            <img (click)=\\\"goToShop(productImage.ItemID)\\\" [src]=\\\"env.imageUrl +productImage.ImageUrl\\\" alt=\\\"\\\"\\n              class=\\\"img-bg cursor-pointer\\\" [id]=\\\"'product'+i\\\" style=\\\"width: 100% !important;\\\">\\n            <div class=\\\"content\\\" fxLayout=\\\"column\\\" fxFill fxLayoutAlign=\\\"end\\\">\\n              <div id=\\\"div\\\" class=\\\"p-absolute abs-width\\\">\\n                <button [id]=\\\"'btn'+i\\\" class=\\\"shop-btn product-button d-none w-89 m-t-20 m-b-20 m-r-0 m-l-0\\\"\\n                  mat-raised-button color=\\\"black\\\" (click)=\\\"handleProduct(productImage)\\\">Quick Add</button>\\n              </div>\\n            </div>\\n          </div>\\n          <div fxFlex=\\\"10\\\" fxLayout=\\\"row\\\" class=\\\"content m-t-20\\\">\\n            <div fxFlex=\\\"70\\\">\\n              <p><span class=\\\"font-IBM\\\">{{productImage.ProductName}}</span></p>\\n              <p><span class=\\\"m-t-10 font-IBM\\\"><del *ngIf=\\\"productImage.oldPrice\\\">{{productImage.oldPrice}} </del>\\n                  {{'$'+productImage.Price}}</span></p>\\n            </div>\\n            <div *ngIf=\\\"productImage.oldPrice\\\" fxFlex=\\\"30\\\" class=\\\"text-end m-t-10\\\">\\n              <p class=\\\"f-s-12 sale\\\" color=\\\"white\\\">Sale</p>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"w-100 text-center m-50\\\" *ngIf=\\\"itemsListService.productList.length === 0\\\">\\n          No Products found!!\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <hr style=\\\"margin: 40px 28px 0px 28px; border-color:rgba(0,0,0,0.1)\\\">\\n  <!-- Featured collection -->\\n  <div class=\\\"p-30\\\">\\n    <div fxLayout=\\\"column\\\">\\n      <p class=\\\"f-s-24 f-w-700\\\">Featured collection</p>\\n      <div fxLayout=\\\"row wrap\\\" fxLayoutAlign=\\\"flex-start flex-start\\\">\\n        <div *ngFor=\\\"let productImage of products; let i=index\\\" fxLayout=\\\"column\\\" fxFlex=\\\"32\\\" fxFlex.lt-md=\\\"100\\\"\\n          fxLayoutAlign=\\\"center\\\" fxFill class=\\\"m-t-30 p-10\\\">\\n          <div fxFlex=\\\"70\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" (mouseover)=\\\"mouseEnter(i+1000)\\\"\\n            (mouseout)=\\\"mouseOut(i+1000)\\\" fxLayout=\\\"column\\\" fxFill class=\\\"p-relative\\\">\\n            <img [ngStyle.lt-sm]=\\\"{'height.px': 380}\\\"\\n              (click)=\\\"goToShop(productImage.ItemID)\\\" [src]=\\\"env.imageUrl +productImage.ImageUrl\\\" alt=\\\"\\\"\\n              class=\\\"img-bg cursor-pointer\\\" [id]=\\\"'product'+(i+1000)\\\" style=\\\"width: 100% !important;\\\">\\n            <div class=\\\"content\\\" fxLayout=\\\"column\\\" fxFill fxLayoutAlign=\\\"end\\\">\\n              <div class=\\\"p-absolute abs-width\\\">\\n                <button [id]=\\\"'btn'+(i+1000)\\\" class=\\\"shop-btn product-button d-none w-89 m-t-20 m-b-20 m-r-0 m-l-0\\\"\\n                  mat-raised-button color=\\\"black\\\" (click)=\\\"handleProduct(productImage)\\\">Quick Add</button>\\n              </div>\\n            </div>\\n          </div>\\n          <div fxFlex=\\\"10\\\" fxLayout=\\\"row\\\" class=\\\"content m-t-20\\\">\\n            <div fxFlex=\\\"70\\\">\\n              <p><span class=\\\"font-IBM\\\">{{productImage.ProductName}}</span></p>\\n              <p><span class=\\\"m-t-10 font-IBM\\\"><del *ngIf=\\\"productImage.oldPrice\\\">{{productImage.oldPrice}} </del>\\n                  {{'$'+productImage.Price}}</span></p>\\n            </div>\\n            <div *ngIf=\\\"productImage.oldPrice\\\" fxFlex=\\\"30\\\" class=\\\"text-end m-t-10\\\">\\n              <p class=\\\"f-s-12 sale\\\" color=\\\"white\\\">Sale</p>\\n            </div>\\n          </div>\\n        </div>\\n        <div class=\\\"w-100 text-center m-30 p-20\\\" *ngIf=\\\"products.length === 0\\\">\\n          No Products found!!\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n  <!-- Best Seller -->\\n  <div class=\\\"p-30\\\">\\n    <div fxLayout=\\\"column\\\">\\n      <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"center\\\" fxFlex=\\\"50\\\" class=\\\"bg-img p-relative\\\">\\n        <img src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/Banner_03.jpg?v=1600973446&width=1512\\\" alt=\\\"image\\\">\\n        <div class=\\\"content p-abs c-white\\\">\\n          <div class=\\\"p-relative p-content-div text-center\\\">\\n            <p><span class=\\\"f-s-12\\\">\\n                FAVOURITES\\n              </span></p>\\n            <p class=\\\"m-t-12 f-s-36 f-w-700\\\">Best Sellers</p>\\n            <p class=\\\"m-t-20\\\">Shop our best selling collection - everything from the perfect pair of tights, to totally\\n              matching sweat suits.</p>\\n            <p class=\\\"m-t-30 shop-btn\\\"><a class=\\\"c-white f-s-14\\\" routerLink=\\\"/products/all\\\">Shop now</a></p>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</div>\\n\";","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n    providedIn: 'root'\n  })\n  export class NotTranslatedService { \n    notTranslated(key: string) {\n       // do whatever you want...\n    }\n  }","import { Injectable } from '@angular/core';\nimport { UserServiceModal } from 'src/app/modals/userservice.modal';\nimport { NotificationService } from './notification.service';\nimport { RestApiService } from './restapi.service';\nimport { UserService } from './user.service';\nimport * as moment from 'moment';\nimport { UtilityService } from './utility.service';\nimport { PersistentService } from './persistent.service';\nimport { ConfigService } from './config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class AutoshipConfigurationService {\n\n    public commonData: any;\n    public setting: any = {};\n    public userService: UserServiceModal;\n    public maxCurrentMonth: boolean = false;\n    public restrictCurrentMonth: boolean;\n    public currentAutoshipdate: boolean;\n    public autoshipDate: any;\n\n    constructor(\n        public notificationService: NotificationService,\n        public user: UserService,\n        public apiService: RestApiService,\n        public utilityService: UtilityService,\n        public persistentService: PersistentService,\n        public configService: ConfigService,\n        public translate: TranslateService\n    ) {\n        this.userService = this.user.userServiceModal;\n        this.commonData = this.configService.getConfig();\n        this.autoshipDate = this.autoshipDate || moment().add(1, 'months').format('DD MMMM YYYY');\n    }\n\n    onInit(): void {\n        this.init();\n    }\n\n    init() {\n        const autoshipConfigData = [{\n            CustomerTypeId: '1',\n            NewAutoshipRestrictedDates: null,\n            StartDate: '2021-10-25',\n            NewAutoshipEndDate: 'All',\n            AutoshipNotPaidRestrictedDates: null,\n            AutoshipNotPaidEndDate: 'All',\n            AutoshipPaidEndDate: 'All',\n            AutoshipPaidRestrictedDates: null\n        }];\n        if (autoshipConfigData.length > 0) {\n            this.setting = autoshipConfigData[0];\n            this.setting.allowEdit = true;\n            this.setting.disableEdit = false;\n            let isfreqcall = false;\n            if (this.utilityService.getAutoshipEditFlag()) {\n                this.setting.configDate = this.setting.AutoshipPaidEndDate;\n                this.setting.configRestrictedDate = this.setting.AutoshipPaidRestrictedDates ? this.setting.AutoshipPaidRestrictedDates.split(',') : '';\n            }\n\n            if (moment(this.setting.configDate).format('DD-MM-YYYY') == moment().endOf('month').format('DD-MM-YYYY')) {\n                this.setting.currentMonthOnly = true;\n            }\n\n            if (this.setting.configDate === 'None' || this.setting.configDate === 'All') {\n                this.setting.InvalidEndDate = true;\n            }\n            if (this.setting.configDate !== 'None') {\n                isfreqcall = true;\n                this.getDefaultFrequency().then(() => {\n                    this.setAutoshipDate();\n                });\n            } else {\n                this.setting.disableEdit = true;\n                this.autoshipDate = this.autoshipDate || moment().add(1, 'months').format('DD MMMM YYYY');\n            }\n            if (!isfreqcall) {\n                this.getDefaultFrequency();\n            }\n        } else {\n            this.setting.allowEdit = true;\n            this.getDefaultFrequency();\n        }\n\n    }\n\n    // /**\n    //   * Get Next Remaining Date\n    //   * @method  getNextRemainingDate\n    //   */\n    getNextRemainingDate() {\n        try {\n            let num;\n            if (this.utilityService.getAutoshipEditFlag()) {\n                num = this.setting.AutoshipPaidRestrictedDates.split(',');\n            }\n            else {\n                num = this.setting.NewAutoshipRestrictedDates.split(',');\n            }\n\n            let selecteddate = true;\n            let currentdate = moment(this.getDefaultDate(this.setting.autoshipSettings));\n            let defaultDate = moment(this.getDefaultDate(this.setting.autoshipSettings));\n            let day = moment(currentdate).format('D');\n            let isRestricted = !!~num.indexOf(day);\n            let assignDate;\n\n            while (selecteddate) {\n                if (\n                    this.setting.configDate === 'All' ||\n                    !this.setting.configDate ||\n                    currentdate <= moment(this.setting.configDate) ||\n                    defaultDate <= moment(new Date())\n                ) {\n                    day = moment(currentdate).format('D');\n                    isRestricted = !!~num.indexOf(day);\n                    if (!isRestricted) {\n                        assignDate = moment(currentdate).format('DD MMMM YYYY');\n                        selecteddate = false;\n                        break;\n                    }\n                    currentdate = currentdate.add(1, 'days');\n                    continue;\n                } else if (this.setting.configDate && moment(this.setting.configDate) >= defaultDate) {\n                    day = moment(defaultDate).format('D');\n                    isRestricted = !!~num.indexOf(day);\n                    if (!isRestricted) {\n                        assignDate = moment(defaultDate).format('DD MMMM YYYY');\n                        selecteddate = false;\n                        break;\n                    }\n                    defaultDate = defaultDate.add(-1, 'days');\n                    continue;\n                }\n                else if (moment(this.setting.configDate) <= defaultDate) {\n                    defaultDate = defaultDate.add(-1, 'days');\n                    continue;\n                }\n            }\n            return assignDate;\n        } catch (ex) {\n            console.error('ex', ex);\n        }\n    }\n\n    // /**\n    // * Set Autoship Date\n    // * @method  setAutoshipDate\n    // */\n    setAutoshipDate() {\n        if (this.setting && this.setting.configRestrictedDate) {\n            try {\n                const dates = this.setting.configRestrictedDate; \n                let counter = 0;\n                const today = parseInt(moment(new Date()).format('DD'), 10);\n                const endofmonth = moment(new Date()).daysInMonth();\n                const num = this.setting.configRestrictedDate;\n                if (dates.length > 0) {\n                    let i;\n                    _.each(dates, () => {\n                        if (counter < 1) {\n                            if ((this.setting.InvalidEndDate ? moment().add(1, 'months') : moment(this.setting.configDate)).format('MM-YY') == moment(this.setting.StartDate).format('MM-YY')) {\n                                if (this.setting.currentMonthOnly) {\n                                    if (endofmonth == dates.length) {\n                                        this.autoshipDate = this.autoshipDate || moment(1, 'DD').add(1, 'month').format('DD MMMM YYYY');\n                                        this.restrictCurrentMonth = false;\n                                    } else {\n                                        let existCurrentMonth = false;\n                                        for (i = today + 1; i <= endofmonth; i++) {\n                                            if (num.map(Number).indexOf(i) == -1) {\n                                                existCurrentMonth = true;\n                                                break;\n                                            }\n                                        }\n                                        if (existCurrentMonth) {\n                                            this.autoshipDate = this.autoshipDate || moment(i, 'DD').format('DD MMMM YYYY');\n                                            this.restrictCurrentMonth = true;\n                                            this.maxCurrentMonth = true;\n                                        } else {\n                                            for (i = today; i >= 1; i--) {\n                                                if (num.map(Number).indexOf(i) == -1) {\n                                                    this.autoshipDate = this.autoshipDate || moment(i, 'DD').add(1, 'month').format('DD MMMM YYYY');\n                                                    this.restrictCurrentMonth = false;\n                                                }\n                                            }\n                                        }\n                                    }\n                                } else {\n                                    let exist = false;\n                                    for (i = today + 1; i <= endofmonth; i++) {\n                                        if (num.map(Number).indexOf(i) == -1) {\n                                            exist = true;\n                                            break;\n                                        }\n                                    }\n                                    if (exist) {\n                                        this.autoshipDate = this.autoshipDate || moment(i, 'DD').format('DD MMMM YYYY');\n                                        this.restrictCurrentMonth = true;\n                                    } else {\n                                        for (i = 1; i <= today; i++) {\n                                            if (num.map(Number).indexOf(i) == -1) {\n                                                this.autoshipDate = this.autoshipDate || moment(i, 'DD').add(1, 'month').format('DD MMMM YYYY');\n                                                this.restrictCurrentMonth = false;\n                                            }\n                                        }\n                                    }\n                                }\n                            } else {\n                                this.autoshipDate = this.autoshipDate || this.getNextRemainingDate(); \n                            }\n                        } else {\n                            this.autoshipDate = this.currentAutoshipdate || this.getNextRemainingDate(); \n                        }\n                    });\n                } else {\n                    if (this.setting.currentMonthOnly) {\n                        this.autoshipDate = this.autoshipDate || this.getNextRemainingDate() || moment(new Date()).add(1, 'days').format('DD MMMM YYYY');\n                        this.restrictCurrentMonth = true;\n                        this.maxCurrentMonth = true;\n                    } else {\n                        this.autoshipDate = this.autoshipDate || moment().add(1, 'months').format('DD MMMM YYYY');\n                    }\n                }\n            } catch (e) {\n                if (this.setting.currentMonthOnly) {\n                    this.autoshipDate = this.autoshipDate || moment(new Date()).add(1, 'days').format('DD MMMM YYYY');\n                    this.maxCurrentMonth = true;\n                } else {\n                    this.autoshipDate = this.autoshipDate || moment().add(1, 'months').format('DD MMMM YYYY');\n                }\n            }\n        } else if (this.setting.currentMonthOnly) {\n            this.autoshipDate = this.autoshipDate || this.getNextRemainingDate() || moment(new Date()).add(1, 'days').format('DD MMMM YYYY');\n            this.maxCurrentMonth = true;\n        } else {\n            this.autoshipDate = this.autoshipDate || this.getNextRemainingDate() || moment(this.getDefaultDate(this.setting.autoshipSettings)).format('DD MMMM YYYY');\n        }\n    }\n\n    // /**\n    // * Get Disable Days\n    // * @method  getDisableDays\n    // * @param   {number} year    Date of Year\n    // */\n    getDisableDays(year) {\n        const disableDatesArr = [];\n        const dateStart = moment(this.setting.StartDate);\n        let dateEnd = moment(this.setting.configDate);\n        let timeValues = [];\n        let currentMonthOnly;\n        if (this.setting.configDate == 'None') {\n            this.autoshipDate = this.autoshipDate || '';\n        }\n        if (this.setting.configDate == 'All') {\n            // this array is for all months\n            timeValues = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n        } else {\n            if ((this.setting.InvalidEndDate ? moment().add(1, 'months') : moment(this.setting.configDate)).format('MM-YY') == moment(this.setting.StartDate).format('MM-YY') && this.restrictCurrentMonth === false) {\n                currentMonthOnly = _.range(1, (this.setting.InvalidEndDate ? moment().add(1, 'months') : moment(this.setting.configDate)).daysInMonth() + 1);\n                currentMonthOnly.splice(parseInt(moment(this.autoshipDate).format('DD'), 10) - 1, 1);\n                dateEnd = (this.setting.InvalidEndDate ? moment().add(1, 'months') : moment(this.setting.configDate)).add(1, 'months');\n            }\n            while (dateEnd >= dateStart) {\n                timeValues.push(dateStart.format('MM'));\n                dateStart.add(1, 'month');\n            }\n        }\n        let restricteddates = [];\n        if (currentMonthOnly) {\n            restricteddates = currentMonthOnly ? currentMonthOnly : [];\n        } else {\n            restricteddates = this.setting.configRestrictedDate || [];\n        }\n        if (restricteddates.length > 0) {\n            const addYear = this.setting.configDate === 'All' ? 20 : 0;\n            for (let y = year; y <= (year + addYear); y++) {\n                for (let j = 0; j < timeValues.length; j++) {\n                    if (j > 0 && timeValues[j - 1] > timeValues[j]) {\n                        y++;\n                    }\n                    for (let i = 0; i <= restricteddates.length; i++) {\n                        const daysofMonth = moment(timeValues[j], 'MM').daysInMonth();\n                        if (daysofMonth >= restricteddates[i]) {\n                            const dat = timeValues[j] + '/' + restricteddates[i] + '/' + y;\n                            disableDatesArr.push(moment(dat).format('DD MMMM YYYY'));\n                        }\n                    }\n                }\n            }\n        }\n        return disableDatesArr;\n    }\n\n    getDefaultFrequency() {\n        const defaultFrequencyPromise = new Promise((resolve, reject) => {\n            const frequencyTypes = this.commonData.FrequencyTypes;\n            const frequencies = [];\n            this.setting.autoshipSettings = {},\n                frequencyTypes.filter((type) => {\n                    frequencies.push(type);\n                });\n            if (frequencies.length > 1) {\n\n                this.setting.frequencies = frequencies;\n                this.setting.autoshipFrequencies = cloneDeep(frequencies);\n                this.setting.autoshipSettings.frequency = this.setting.autoshipFrequencies[0].Description;\n                this.setting.autoshipSettings.frequencyTypeID = this.setting.autoshipFrequencies[0].ID;\n\n                _.each(this.setting.autoshipFrequencies, (autoshipFrequency) => {\n                    autoshipFrequency.Description = autoshipFrequency.Description\n                        ? this.translate.instant(autoshipFrequency.Description.toLowerCase().replace(/[^a-zA-Z0-9]/g, '_'))\n                        : '';\n                    if (this.persistentService.retailData.Autoship && this.persistentService.retailData.Autoship.FrequencyTypeID == autoshipFrequency.ID) {\n                        this.setting.autoshipSettings.frequency = this.persistentService.retailData.Autoship.FrequencyTypeDescription;\n                        this.setting.autoshipSettings.frequencyTypeID = this.persistentService.retailData.Autoship.FrequencyTypeID;\n                    }\n                    if (!this.persistentService.retailData.Autoship && (this.persistentService.retailData.Autoship.selectedFrequencyID == autoshipFrequency.ID)) {\n                        this.setting.autoshipSettings.frequency = autoshipFrequency.Description;\n                        this.setting.autoshipSettings.frequencyTypeID = autoshipFrequency.ID;\n                    }\n                });\n                if (!this.setting.autoshipSettings.frequencyTypeID && this.utilityService.getAutoshipEditFlag()) {\n                    this.setting.autoshipSettings.frequency = this.setting.autoshipFrequencies[0].Description;\n                    this.setting.autoshipSettings.frequencyTypeID = this.setting.autoshipFrequencies[0].ID;\n                }\n                this.setting.IsMultipleFrequency = true;\n            } else if (frequencies.length == 1) {\n                this.setting.IsMultipleFrequency = false;\n                this.setting.autoshipSettings.frequency = (this.persistentService.retailData.Autoship && this.persistentService.retailData.Autoship.FrequencyTypeDescription == frequencies[0].Description) ? this.persistentService.retailData.Autoship.FrequencyTypeDescription : frequencies[0].Description;\n                this.setting.autoshipSettings.frequencyTypeID = (this.persistentService.retailData.Autoship && this.persistentService.retailData.Autoship.FrequencyTypeID == frequencies[0].ID) ? this.persistentService.retailData.Autoship.FrequencyTypeID : frequencies[0].ID;\n            }\n            resolve(this.setting.autoshipSettings);\n        });\n        return defaultFrequencyPromise;\n    }\n\n    getDefaultDate(frequencyList) {\n        let frequency;\n        if (!this.setting.IsMultipleFrequency) {\n            frequency = frequencyList.frequencyTypeID;\n        }\n        let date = new Date();\n        switch (frequency) {\n            case 0:\n                date = moment(new Date()).add(1, 'w').toDate();\n                break;\n            case 1:\n                date = moment(new Date()).add(2, 'w').toDate();\n                break;\n            case 2:\n                date = moment(new Date()).add(1, 'M').toDate();\n                break;\n            case 3:\n                date = moment(new Date()).add(2, 'M').toDate();\n                break;\n            case 4:\n                date = moment(new Date()).add(3, 'M').toDate();\n                break;\n            case 5:\n                date = moment(new Date()).add(6, 'M').toDate();\n                break;\n            case 6:\n                date = moment(new Date()).add(1, 'y').toDate();\n                break;\n            case 7:\n                date = moment(new Date()).add(4, 'w').toDate();\n                break;\n            case 8:\n                date = moment(new Date()).add(6, 'w').toDate();\n                break;\n            case 9:\n                date = moment(new Date()).add(8, 'w').toDate();\n                break;\n            case 10:\n                date = moment(new Date()).add(12, 'w').toDate();\n                break;\n            default:\n                date = moment(new Date()).add(1, 'M').toDate();\n                break;\n            // code to be executed if n doesn't match any constant\n        }\n        return date;\n    }\n\n    getAutoshipDate() {\n        return this.autoshipDate;\n    }\n\n}\n","export default \".shippingmethodDialog .dialog-title {\\n  color: #FFFFFF;\\n  font-size: 21px;\\n}\\n.shippingmethodDialog .header {\\n  background-color: var(--theme-deafult-secondary);\\n}\\n.shippingmethodDialog .header-tab-action {\\n  background: #00000026 !important;\\n  margin: 0px 5px;\\n  border-radius: 10px;\\n  color: #FFFFFF;\\n}\\n.shippingmethodDialog .mat-dialog-content {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.shippingmethodDialog .mat-dialog-actions {\\n  margin: 0px;\\n  padding: 23px 25px;\\n}\\n.shippingmethodDialog .mat-dialog-actions .updateButton {\\n  background-color: var(--theme-deafult);\\n  color: #FFFFFF;\\n}\\n.shippingmethodDialog ::ng-deep .mat-radio-label-content {\\n  white-space: normal !important;\\n  color: #000000DE;\\n  font-size: 14px;\\n}\\n::ng-deep .shippingmethodDialog .mat-dialog-container {\\n  margin: 0px;\\n  padding: 0px !important;\\n}\\n::ng-deep .shippingmethodDialog .mat-radio-label-content {\\n  width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoaXAtbWV0aG9kcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFSTtFQUNJLGNBQUE7RUFDQSxlQUFBO0FBRFI7QUFHSTtFQUNJLGdEQUFBO0FBRFI7QUFHSTtFQUNJLGdDQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtBQURSO0FBR0k7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7QUFEUjtBQUdJO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0FBRFI7QUFFUTtFQUNJLHNDQUFBO0VBQ0EsY0FBQTtBQUFaO0FBSUk7RUFDSSw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtBQUZSO0FBS0E7RUFFSSxXQUFBO0VBQ0EsdUJBQUE7QUFISjtBQUtBO0VBQ0ksV0FBQTtBQUZKIiwiZmlsZSI6InNoaXAtbWV0aG9kcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLnNoaXBwaW5nbWV0aG9kRGlhbG9nIHtcbiAgICAuZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG4gICAgLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWRlYWZ1bHQtc2Vjb25kYXJ5KTtcbiAgICB9XG4gICAgLmhlYWRlci10YWItYWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDI2ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMHB4IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICAgIC5tYXQtZGlhbG9nLWNvbnRlbnQgeyBcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIzcHggMjVweDtcbiAgICB9ICBcbiAgICAubWF0LWRpYWxvZy1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIzcHggMjVweDtcbiAgICAgICAgLnVwZGF0ZUJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0KTtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIDo6bmctZGVlcCAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwREU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbn0gICAgXG46Om5nLWRlZXAgLnNoaXBwaW5nbWV0aG9kRGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgLy8gb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuOjpuZy1kZWVwIC5zaGlwcGluZ21ldGhvZERpYWxvZyAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xufSJdfQ== */\";","\n\nimport { Injectable } from '@angular/core';\n@Injectable({\n    providedIn: 'root'\n})\nexport class RegexService {\n    constructor() {\n    }\n\n    getRegex(countryCode) {\n        let regex: any;\n        switch (countryCode) {\n            case 'AR':\n                regex = /^[a-zA-Z0-9 _.-]*$/;\n                break;\n            case 'AT':\n            case 'AU':\n            case 'BE':\n            case 'HU':\n            case 'NZ':\n            case 'PH':\n            case 'ZA':\n                regex = /^\\d{4}$/;\n                break;\n            case 'CR':\n            case 'DE':\n            case 'ES':\n            case 'FR':\n            case 'MX':\n            case 'PE':\n                regex = /^\\d{5}$/;\n                break;\n            case 'RU':\n            case 'EC':\n            case 'SG':\n            case 'IN':\n                regex = /^\\d{6}$/;\n                break;\n            case 'PA':\n                regex = /^\\d{5,6}$/;\n                break;\n            case 'JP':\n                regex = /^([0-9]){3}[-]([0-9]){4}$/;\n                break;\n            case 'CA':\n                regex = /^([ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]\\d[ABCEGHJKLMNPRSTVWXYZabceghjklmnprstvwxyz]) {0,1}(\\d[ABCEGHJKLMNPRSTVWXYZabceghjklmnprstvwxyz]\\d)$/;\n                break;\n            case 'CL':\n                regex = /^(\\d{7}|\\d{3}[-]\\d{4})$/;\n                break;\n            case 'KR':\n                regex = /^(\\d{5}|\\d{3}[-]\\d{3})$/;\n                break;\n            case 'NL':\n                regex = /^[1-9][0-9]{3}\\s?([a-zA-Z]{2})?$/;\n                break;\n            case 'PT':\n                regex = /^\\d{4}([-]?\\d{3})?$/;\n                break;\n            case 'US':\n                regex = /^\\d{5}$/; //we only want to support 5 digit zipcodes\n                break;\n            case 'GB':\n                regex = /^([A-Pa-pR-Ur-uWYZwyz](([0-9](([0-9]|[A-Ha-hJKSTUWjkstuw])?)?)|([A-Ha-hK-Yk-y][0-9]([0-9]|[ABEHMNPRVWXYabehmnprvwxy])?)) [0-9][ABabD-Hd-hJLNjlnP-Up-uW-Zw-z]{2})|GIRgir 0AAaa$/;\n                break;\n            default:\n                regex = /^[a-zA-Z0-9 _.-]*$/;\n                break;\n        }\n        return regex;\n    }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJhcHAuY29tcG9uZW50LnNjc3MifQ== */\";","export default \"<div class=\\\"bgm-white\\\">\\n  <div class=\\\"container contacts\\\">\\n    <div class=\\\"p-30\\\">\\n      <div fxLayout=\\\"column\\\" class=\\\"bg-white-smoke\\\" fxFill fxLayout.gt-sm=\\\"row\\\" fxLayoutAlign=\\\"center center\\\" fxFlex>\\n        <div fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\" fxFill>\\n          <img\\n            src=\\\"https://cdn.shopify.com/s/files/1/0926/9298/files/NEWBLACKOUTLEGGINGS_NAVY_1_085ee5dc-7e45-4d27-8a72-d75f18d4bb01_1080x.jpg?v=1600985773\\\"\\n            alt=\\\"product-image\\\" width=\\\"100%\\\">\\n        </div>\\n        <div fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center center\\\" fxFill>\\n          <div class=\\\"content p-30\\\" fxLayout=\\\"column\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\">\\n            <p class=\\\"m-t-12 f-s-36 f-w-700\\\">Say Hello!</p>\\n            <p class=\\\"m-t-20\\\">We're available regular office hours to discuss our products. We're always looking to hear from our customers — it's how we develop our products and know that we're doing a good job. Our office hours are Monday to Friday, 10AM to 6PM, and we usually response within a single business day.</p>\\n          </div>\\n          <div fxLayout=\\\"row\\\" class=\\\"p-30\\\" fxFlex=\\\"50\\\" fxFlex.lt-md=\\\"100\\\" fxLayoutAlign=\\\"center\\\">\\n            <div fxFlex=\\\"100\\\" fxFlex.sm=\\\"50\\\"   class=\\\"contact-form\\\">\\n              <form fxLayout=\\\"row wrap\\\">\\n                <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <mat-form-field class=\\\"w-100 ds-validate design\\\"  appearance=\\\"outline\\\">\\n                    <mat-label translate=\\\"user_first_name\\\"></mat-label>\\n                    <input matInput [(ngModel)]=\\\"contact.FirstName\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"FirstName\\\"\\n                      validate noempty=\\\"true\\\">\\n                  </mat-form-field>\\n                </div>\\n                <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <mat-form-field class=\\\"w-100 ds-validate design\\\" appearance=\\\"outline\\\">\\n                    <mat-label translate=\\\"user_last_\\\"></mat-label>\\n                    <input matInput [(ngModel)]=\\\"contact.LastName\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"LastName\\\"\\n                      validate noempty=\\\"true\\\">\\n                  </mat-form-field>\\n                </div>\\n                <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <mat-form-field class=\\\"w-100 ds-validate design\\\" appearance=\\\"outline\\\">\\n                    <mat-label translate=\\\"MobilePhone_\\\"></mat-label>\\n                    <input matInput [(ngModel)]=\\\"contact.MobilePhone\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"Phone\\\"\\n                      phoneno=\\\"true\\\" inputspace=\\\"true\\\" validate noempty=\\\"true\\\" maxlength=\\\"20\\\" inputonlynumber=\\\"true\\\">\\n                  </mat-form-field>\\n                </div>\\n                <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <mat-form-field class=\\\"w-100 ds-validate design\\\" appearance=\\\"outline\\\">\\n                    <mat-label translate=\\\"email_\\\"></mat-label>\\n                    <input matInput [(ngModel)]=\\\"contact.Email\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"email\\\"\\n                      validate noempty=\\\"true\\\" email=\\\"true\\\">\\n                  </mat-form-field>\\n                </div>\\n                <div fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <mat-form-field class=\\\"w-100 ds-validate\\\" appearance=\\\"outline\\\">\\n                    <mat-label translate=\\\"message_\\\"></mat-label>\\n                    <textarea matInput rows=\\\"6\\\" [(ngModel)]=\\\"contact.Message\\\" [ngModelOptions]=\\\"{standalone: true}\\\"\\n                      name=\\\"content\\\"></textarea>\\n                  </mat-form-field>\\n                </div>\\n                <div fxFlex=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <mat-form-field class=\\\"w-100 ds-validate\\\" appearance=\\\"none\\\">\\n                    <div fxLayout=\\\"column\\\" fxFlex=\\\"100\\\">\\n                        <div fxLayout=\\\"row\\\" fxFlex=\\\"100\\\" fxLayoutAlign=\\\"space-between none\\\">\\n                          <div class=\\\"captcha_code\\\" id=\\\"captcha_code\\\" fxFlex=\\\"56\\\" fxFlex.xs=\\\"63\\\">\\n                      <span translate>captcha_</span><span id=\\\"captchaQuestion\\\"></span><span> = </span>\\n                    </div>\\n                          <div class=\\\"captcha_answer m-r-10\\\" fxFlex=\\\"39\\\" fxFlex.xs=\\\"30\\\">\\n                      <input matInput id=\\\"answer\\\" inputonlynumber=\\\"true\\\" validate noempty=\\\"true\\\"\\n                      [(ngModel)]=\\\"contact.result\\\" (focusout)=\\\"checkCaptch()\\\" [ngModelOptions]=\\\"{standalone: true}\\\" name=\\\"answer\\\" type=\\\"text\\\" >\\n                          </div>\\n                    </div>\\n                    <div class=\\\"captchaError\\\" *ngIf=\\\"!captchaError\\\">\\n                      <small class=\\\"has-error help-block\\\" translate>enter_valid_captcha</small>\\n                    </div>\\n                    <div class=\\\"reload_captcha\\\">\\n                      <span translate>reload_captcha</span><span><img src=\\\"/assets/images/arrow.png\\\"\\n                          [default]=\\\"'assets/images/noimage.png'\\\" (click)=\\\"getRandom(true)\\\"></span>\\n                    </div>\\n                    </div>\\n                  </mat-form-field>\\n                </div>\\n                <div class=\\\"button-wrap\\\" fxFlex=\\\"100\\\" fxFlex.gt-sm=\\\"100\\\" class=\\\"px-1\\\" ngClass.sm=\\\"mt-1\\\" ngClass.xs=\\\"mt-1\\\">\\n                  <button class=\\\"btn-project shop-btn product-button\\\" mat-raised-button color=\\\"black\\\"validate trigger-check=\\\"true\\\"\\n                    (success)=\\\"contactUser()\\\">{{'_submit'| translate}}</button>\\n                </div>\\n              </form>\\n            </div>\\n          </div>\\n        </div>\\n      </div>\\n    </div>\\n  </div>\\n</div>    \";","export default \".width-responsive {\\n  width: 50%;\\n  line-height: 28px;\\n}\\n\\n@media (min-width: 928px) and (max-width: 1140px) {\\n  .width-responsive {\\n    width: 63%;\\n  }\\n  .width-responsive .p2 {\\n    line-height: 28px;\\n  }\\n}\\n\\n@media (min-width: 603px) and (max-width: 928px) {\\n  .width-responsive {\\n    width: 80%;\\n  }\\n  .width-responsive .p1 {\\n    font-size: 24px;\\n  }\\n  .width-responsive .p2 {\\n    font-size: 16px;\\n    line-height: 20px;\\n  }\\n}\\n\\n@media (min-width: 200px) and (max-width: 603px) {\\n  .width-responsive {\\n    width: 100%;\\n  }\\n  .width-responsive .p1 {\\n    font-size: 18px;\\n  }\\n  .width-responsive .p2 {\\n    font-size: 12px;\\n    line-height: 20px;\\n  }\\n}\\n\\n.img-hover {\\n  overflow: hidden;\\n}\\n\\n.img-hover img {\\n  transition: 0.5s all ease-in-out;\\n  cursor: pointer;\\n}\\n\\n.img-hover:hover img {\\n  transform: scale(1.1);\\n}\\n\\n::ng-deep .mat-accordion .mat-expansion-panel-spacing {\\n  margin: 0px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Fib3V0LXVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksVUFBQTtFQUNBLGlCQUFBO0FBQ0o7O0FBQ0E7RUFDSTtJQUNJLFVBQUE7RUFFTjtFQURNO0lBQ0ksaUJBQUE7RUFHVjtBQUNGOztBQUFBO0VBQ0k7SUFDSSxVQUFBO0VBRU47RUFETTtJQUNJLGVBQUE7RUFHVjtFQURNO0lBQ0ksZUFBQTtJQUNBLGlCQUFBO0VBR1Y7QUFDRjs7QUFBQTtFQUNJO0lBQ0ksV0FBQTtFQUVOO0VBRE07SUFDSSxlQUFBO0VBR1Y7RUFETTtJQUNJLGVBQUE7SUFDQSxpQkFBQTtFQUdWO0FBQ0Y7O0FBQ0E7RUFDSSxnQkFBQTtBQUNKOztBQUNFO0VBQ0UsZ0NBQUE7RUFDQSxlQUFBO0FBRUo7O0FBQ0E7RUFDSSxxQkFBQTtBQUVKOztBQUFBO0VBQ0ksc0JBQUE7QUFHSiIsImZpbGUiOiJhYm91dC11cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi53aWR0aC1yZXNwb25zaXZle1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTI4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTQwcHgpIHtcbiAgICAud2lkdGgtcmVzcG9uc2l2ZXtcbiAgICAgICAgd2lkdGg6IDYzJTtcbiAgICAgICAgLnAye1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAzcHgpIGFuZCAobWF4LXdpZHRoOiA5MjhweCkge1xuICAgIC53aWR0aC1yZXNwb25zaXZle1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAucDF7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnAye1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjAwcHgpIGFuZCAobWF4LXdpZHRoOiA2MDNweCkge1xuICAgIC53aWR0aC1yZXNwb25zaXZle1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnAxe1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wMntcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW1nLWhvdmVye1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmltZy1ob3ZlciBpbWd7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIH1cbi5pbWctaG92ZXI6aG92ZXIgaW1ne1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cbjo6bmctZGVlcCAubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1zcGFjaW5ne1xuICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG4iXX0= */\";","export default \"#product-no-sidebar {\\n  background-color: #EBEBEB;\\n}\\n#product-no-sidebar .main {\\n  max-width: 1265px;\\n  margin: auto;\\n}\\n@media only screen and (max-width: 1200px) {\\n  #product-no-sidebar .main {\\n    margin: 0px 33px;\\n  }\\n}\\n@media only screen and (max-width: 992px) {\\n  #product-no-sidebar .main {\\n    margin: 0px 68px;\\n  }\\n}\\n@media only screen and (max-width: 600px) {\\n  #product-no-sidebar .main {\\n    margin: 0px 0px;\\n  }\\n}\\n#product-no-sidebar .main .firstContainer {\\n  margin: 27px 20px 0px 0px;\\n}\\n#product-no-sidebar .main .firstContainer .checkBox {\\n  align-items: center;\\n  min-height: 48px;\\n  height: auto;\\n}\\n#product-no-sidebar .main .firstContainer .checkBox ::ng-deep .mat-checkbox-checked.mat-warn .mat-checkbox-background {\\n  background-color: #bed624;\\n}\\n#product-no-sidebar .main .firstContainer ::ng-deep .searchBox .mat-form-field .mat-form-field-flex {\\n  background-color: white;\\n  margin-top: 10px;\\n}\\n#product-no-sidebar .main .firstContainer ::ng-deep .checkBox .mat-checkbox-inner-container {\\n  margin-right: 20px;\\n}\\n#product-no-sidebar .main .secondContainer .sortBy {\\n  background-color: white;\\n  width: 140px;\\n  height: 25px;\\n}\\n#product-no-sidebar .main .secondContainer .sortBy ::ng-deep .mat-select .mat-select-arrow {\\n  margin-top: 8px;\\n}\\n@media only screen and (max-width: 600px) {\\n  #product-no-sidebar .main .secondContainer .m-left-33 {\\n    margin: 0px 30px;\\n  }\\n}\\n@media only screen and (min-width: 1200px) {\\n  #product-no-sidebar .main .secondContainer .m-right-20 {\\n    margin-right: 20px;\\n  }\\n}\\n#product-no-sidebar .color1-f-s-17 {\\n  color: #000000;\\n  font-size: 17px;\\n  margin-bottom: 15px !important;\\n  font-weight: 700;\\n}\\n#product-no-sidebar .borderBottom {\\n  border-bottom: 1px solid #cfcfcf;\\n}\\n#product-no-sidebar .color1-f-s-14 {\\n  color: #000000;\\n  font-size: 14px;\\n  padding-right: 5px;\\n}\\n#product-no-sidebar .color2-f-s-14 {\\n  color: #000000;\\n  font-size: 14px;\\n  padding-right: 5px;\\n  font-weight: bold;\\n}\\n#product-no-sidebar .color1-f-s-13 {\\n  font-size: 13px !important;\\n  color: #5E5E5E !important;\\n  font-family: roboto !important;\\n  font-weight: bold;\\n}\\n#product-no-sidebar .color1-f-s-12 {\\n  font-size: 12px;\\n  color: #777777;\\n  font-family: roboto;\\n}\\n#product-no-sidebar .m-l-r-8 {\\n  margin: 0px 8px;\\n}\\n.prouduct {\\n  font-family: \\\"IBM Plex Sans\\\", sans-serif !important;\\n  background-color: white !important;\\n}\\n.prouduct .bg-white-smoke {\\n  background-color: #f0f0f0;\\n}\\n.prouduct .w-72 {\\n  width: 72%;\\n}\\n.prouduct .p-relative {\\n  position: relative !important;\\n}\\n.prouduct .p-absolute {\\n  position: absolute !important;\\n}\\n.prouduct .img-bg {\\n  flex: none !important;\\n  background-size: cover;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  height: 450px;\\n}\\n.prouduct .m-t-40 {\\n  margin-top: 40px !important;\\n}\\n.prouduct .abs-width {\\n  width: 100%;\\n  left: 5%;\\n}\\n.prouduct .shop-btn {\\n  background: var(--theme-deafult-secondary);\\n  border-radius: 23px;\\n  display: inline-block;\\n  padding: 15px 32px;\\n  cursor: pointer;\\n}\\n.prouduct .shop-btn:hover {\\n  background-color: var(--theme-deafult-secondary);\\n}\\n.prouduct .product-button {\\n  margin: 20px;\\n  padding: 6px 32px !important;\\n  background-color: black !important;\\n  color: white !important;\\n}\\n.prouduct .product-button:hover {\\n  background-color: #333333 !important;\\n}\\n.prouduct .d-none {\\n  opacity: 0;\\n}\\n.prouduct .w-89 {\\n  width: 89%;\\n}\\n.prouduct .text-end {\\n  text-align: end;\\n}\\n.prouduct .sale {\\n  padding: 10px 17px;\\n  background-color: #CF2929;\\n  border-radius: 23px;\\n  display: inline;\\n  color: white;\\n}\\n.prouduct .justify-content {\\n  justify-content: space-between !important;\\n}\\n.prouduct .bg-img img {\\n  width: 100%;\\n  height: 437px;\\n  -o-object-fit: cover;\\n     object-fit: cover;\\n  -o-object-position: top;\\n     object-position: top;\\n}\\n.prouduct .p-abs {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  background: rgba(0, 0, 0, 0.2);\\n}\\n.prouduct .p-content-div {\\n  top: 30%;\\n}\\n.prouduct .w-35 {\\n  width: 35%;\\n}\\n.prouduct .faded-in {\\n  animation: fadeIn 0.6s;\\n}\\n@keyframes fadeIn {\\n  0% {\\n    opacity: 0;\\n    transform: translateY(16px);\\n  }\\n  100% {\\n    opacity: 1;\\n    transform: translateY(0px);\\n  }\\n}\\n.prouduct .faded-out {\\n  animation: fadeOut 0.6s;\\n}\\n@keyframes fadeOut {\\n  0% {\\n    opacity: 1;\\n    transform: translateY(0px);\\n  }\\n  100% {\\n    opacity: 0;\\n    transform: translateY(16px);\\n  }\\n}\\n@media (min-width: 0px) and (max-width: 960px) {\\n  .prouduct .img-bg {\\n    height: 320px !important;\\n  }\\n  .prouduct .d-none {\\n    opacity: 1 !important;\\n  }\\n}\\n.prouduct .design ::ng-deep .mat-form-field-flex {\\n  height: 47.99px !important;\\n}\\n.prouduct .design ::ng-deep .mat-form-field-infix {\\n  padding: 2px 0 1em 0 !important;\\n}\\n.prouduct .design ::ng-deep .mat-form-field-label-wrapper {\\n  top: -16px !important;\\n}\\n.prouduct .design ::ng-deep .mat-input-element {\\n  vertical-align: text-top !important;\\n}\\n.prouduct .design ::ng-deep .mat-select-arrow-wrapper {\\n  top: 21px;\\n  display: block;\\n}\\n::ng-deep .mat-checkbox-checked.mat-warn .mat-checkbox-background {\\n  background-color: var(--theme-deafult-secondary) !important;\\n}\\n::ng-deep .mat-checkbox-checked.mat-warn .mat-ripple-element {\\n  background: var(--theme-deafult-secondary) !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2R1Y3Qtbm8tc2lkZWJhci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHlCQUFBO0FBQ0o7QUFBSTtFQUNJLGlCQUFBO0VBQ0EsWUFBQTtBQUVSO0FBQ1E7RUFMSjtJQU1RLGdCQUFBO0VBRVY7QUFDRjtBQURRO0VBUko7SUFTUSxnQkFBQTtFQUlWO0FBQ0Y7QUFIUTtFQVhKO0lBWVEsZUFBQTtFQU1WO0FBQ0Y7QUFMUTtFQUNJLHlCQUFBO0FBT1o7QUFOWTtFQUNJLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0FBUWhCO0FBUGdCO0VBQ0kseUJBQUE7QUFTcEI7QUFOWTtFQUNJLHVCQUFBO0VBQ0EsZ0JBQUE7QUFRaEI7QUFOWTtFQUNJLGtCQUFBO0FBUWhCO0FBSlk7RUFDSSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FBTWhCO0FBTGdCO0VBQ0ksZUFBQTtBQU9wQjtBQUpZO0VBQ0k7SUFDSSxnQkFBQTtFQU1sQjtBQUNGO0FBSlk7RUFDSTtJQUNJLGtCQUFBO0VBTWxCO0FBQ0Y7QUFGSTtFQUNJLGNBQUE7RUFDQSxlQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQkFBQTtBQUlSO0FBRkk7RUFDSSxnQ0FBQTtBQUlSO0FBRkk7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0FBSVI7QUFGSTtFQUNJLGNBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQUlSO0FBRkk7RUFDSSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQkFBQTtBQUlSO0FBRkk7RUFDSSxlQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0FBSVI7QUFGSTtFQUNJLGVBQUE7QUFJUjtBQUNBO0VBQ0ksbURBQUE7RUFDQSxrQ0FBQTtBQUVKO0FBREk7RUFDSSx5QkFBQTtBQUdSO0FBREs7RUFDSSxVQUFBO0FBR1Q7QUFESztFQUNHLDZCQUFBO0FBR1I7QUFESTtFQUNJLDZCQUFBO0FBR1I7QUFESTtFQUNJLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLGFBQUE7QUFHUjtBQURJO0VBQ0ksMkJBQUE7QUFHUjtBQURJO0VBQ0ksV0FBQTtFQUNBLFFBQUE7QUFHUjtBQURJO0VBQ0ksMENBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FBR1I7QUFESTtFQUNJLGdEQUFBO0FBR1I7QUFESTtFQUNJLFlBQUE7RUFDQSw0QkFBQTtFQUNBLGtDQUFBO0VBQ0EsdUJBQUE7QUFHUjtBQURJO0VBQ0ksb0NBQUE7QUFHUjtBQURJO0VBRUksVUFBQTtBQUVSO0FBQUk7RUFDSSxVQUFBO0FBRVI7QUFBSTtFQUNJLGVBQUE7QUFFUjtBQUFJO0VBQ0ksa0JBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7QUFFUjtBQUFJO0VBQ0kseUNBQUE7QUFFUjtBQUFJO0VBQ0ksV0FBQTtFQUNBLGFBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0VBQ0EsdUJBQUE7S0FBQSxvQkFBQTtBQUVSO0FBQUk7RUFDSSxrQkFBQTtFQUVBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsOEJBQUE7QUFDUjtBQUNJO0VBQ0ksUUFBQTtBQUNSO0FBR0k7RUFDSSxVQUFBO0FBRFI7QUFHQTtFQUNJLHNCQUFBO0FBREo7QUFJSTtFQUNJO0lBQUksVUFBQTtJQUFZLDJCQUFBO0VBQXRCO0VBQ0k7SUFBTSxVQUFBO0lBQVksMEJBQUE7RUFHdEI7QUFDRjtBQUZFO0VBQ0UsdUJBQUE7QUFJSjtBQURJO0VBQ0k7SUFBSSxVQUFBO0lBQVksMEJBQUE7RUFLdEI7RUFKTTtJQUFNLFVBQUE7SUFBWSwyQkFBQTtFQVF4QjtBQUNGO0FBTkk7RUFDSTtJQUNJLHdCQUFBO0VBUVY7RUFOTTtJQUNJLHFCQUFBO0VBUVY7QUFDRjtBQUZVO0VBQ0UsMEJBQUE7QUFLWjtBQUhXO0VBQ0MsK0JBQUE7QUFLWjtBQUhTO0VBQ0cscUJBQUE7QUFLWjtBQUhVO0VBQ0UsbUNBQUE7QUFLWjtBQUhVO0VBQ0UsU0FBQTtFQUNBLGNBQUE7QUFLWjtBQUNBO0VBQ0ksMkRBQUE7QUFFSjtBQUFBO0VBQ0MscURBQUE7QUFHRCIsImZpbGUiOiJwcm9kdWN0LW5vLXNpZGViYXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcHJvZHVjdC1uby1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCO1xuICAgIC5tYWluIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjY1cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgLy8gbWFyZ2luOiA1cHggNzBweDtcbiAgICAgICAgLy8gcGFkZGluZzogMTZweDtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpICB7XG4gICAgICAgICAgICBtYXJnaW46IDBweCAzM3B4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDY4cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5maXJzdENvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW46IDI3cHggMjBweCAwcHggMHB4O1xuICAgICAgICAgICAgLmNoZWNrQm94IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIDo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlZDYyNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6Om5nLWRlZXAgLnNlYXJjaEJveCAubWF0LWZvcm0tZmllbGQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6Om5nLWRlZXAgLmNoZWNrQm94IC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlY29uZENvbnRhaW5lciB7XG4gICAgICAgICAgICAuc29ydEJ5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIDo6bmctZGVlcCAubWF0LXNlbGVjdCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgLm0tbGVmdC0zMyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAubS1yaWdodC0yMCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbG9yMS1mLXMtMTcge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfSBcbiAgICAuYm9yZGVyQm90dG9tIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZmNmY2Y7XG4gICAgfVxuICAgIC5jb2xvcjEtZi1zLTE0IHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH0gXG4gICAgLmNvbG9yMi1mLXMtMTQge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH0gXG4gICAgLmNvbG9yMS1mLXMtMTMge1xuICAgICAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICM1RTVFNUUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90byAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9IFxuICAgIC5jb2xvcjEtZi1zLTEyIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bztcbiAgICB9IFxuICAgIC5tLWwtci04IHtcbiAgICAgICAgbWFyZ2luOiAwcHggOHB4O1xuICAgIH1cblxufVxuXG4ucHJvdWR1Y3R7XG4gICAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgLmJnLXdoaXRlLXNtb2tle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgcmdiKDI0MCwgMjQwLCAyNDApO1xuICAgICB9XG4gICAgIC53LTcye1xuICAgICAgICAgd2lkdGg6IDcyJTtcbiAgICAgfVxuICAgICAucC1yZWxhdGl2ZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wLWFic29sdXRle1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmltZy1iZ3tcbiAgICAgICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIH1cbiAgICAubS10LTQwe1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5hYnMtd2lkdGh7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICB9XG4gICAgLnNob3AtYnRue1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTVweCAzMnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC5zaG9wLWJ0bjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGVhZnVsdC1zZWNvbmRhcnkpO1xuICAgIH1cbiAgICAucHJvZHVjdC1idXR0b257XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfSAgXG4gICAgLnByb2R1Y3QtYnV0dG9uOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5kLW5vbmV7XG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC53LTg5e1xuICAgICAgICB3aWR0aDogODklXG4gICAgfVxuICAgIC50ZXh0LWVuZHtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIH1cbiAgICAuc2FsZXtcbiAgICAgICAgcGFkZGluZzogMTBweCAxN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0YyOTI5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgLmp1c3RpZnktY29udGVudHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5iZy1pbWcgaW1ne1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0MzdweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgIH1cbiAgICAucC1hYnN7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gbGVmdDogMyU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IDAuMik7XG4gICAgfVxuICAgIC5wLWNvbnRlbnQtZGl2e1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgLy8gbGVmdDogMyU7XG4gICAgICAgIC8vIHdpZHRoOiAzNSU7XG4gICAgfVxuICAgIC53LTM1e1xuICAgICAgICB3aWR0aDogMzUlO1xuICAgIH1cbi5mYWRlZC1pbiB7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC42cztcbiAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUlue1xuICAgICAgICAwJSB7b3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpfVxuICAgICAgMTAwJSB7b3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCl9XG4gICAgfVxuICAuZmFkZWQtb3V0IHtcbiAgICBhbmltYXRpb246IGZhZGVPdXQgMC42cztcbiAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZU91dHtcbiAgICAgICAgMCUge29wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpfVxuICAgICAgICAxMDAlIHtvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCl9XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuaW1nLWJne1xuICAgICAgICAgICAgaGVpZ2h0OiAzMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5kLW5vbmV7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvdWR1Y3R7XG4gICAgLmRlc2lnbntcbiAgICAgICAgOjpuZy1kZWVwIHtcbiAgICAgICAgICAubWF0LWZvcm0tZmllbGQtZmxleHtcbiAgICAgICAgICAgIGhlaWdodDogNDcuOTlweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwIDFlbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7XG4gICAgICAgICAgICB0b3A6IC0xNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tYXQtaW5wdXQtZWxlbWVudHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVye1xuICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cblxuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQgIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtcbiBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1kZWFmdWx0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn0iXX0= */\";","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n  enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n  .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}