From 9ea536bb8a27bbcf1c9418caa56be1abb15e182f Mon Sep 17 00:00:00 2001 From: saravanakumarkandasami Date: Mon, 15 Apr 2019 18:12:31 +0530 Subject: [PATCH] Fairoj : RI Changes and Issues fixed --- .sourcemaps/0.js.map | 1 + .sourcemaps/main.js.map | 2 +- package-lock.json | 8 +- package.json | 2 +- .../.gradle/4.1/fileHashes/fileHashes.bin | Bin 195601 -> 195651 bytes .../.gradle/4.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../.gradle/4.1/taskHistory/fileSnapshots.bin | Bin 1262794 -> 1262794 bytes .../.gradle/4.1/taskHistory/taskHistory.bin | Bin 72260 -> 72260 bytes .../.gradle/4.1/taskHistory/taskHistory.lock | Bin 17 -> 17 bytes .../debug/www/assets/fonts/Roboto-Bold.ttf | Bin 170760 -> 170760 bytes .../debug/www/assets/fonts/Roboto-Light.ttf | Bin 170420 -> 170420 bytes .../debug/www/assets/fonts/Roboto-Medium.ttf | Bin 172064 -> 172064 bytes .../debug/www/assets/fonts/Roboto-Regular.ttf | Bin 171676 -> 171676 bytes .../assets/debug/www/build/main.css | 110 + .../assets/debug/www/build/main.js | 2174 ++- .../assets/debug/www/build/vendor.js | 11404 ++++++++++------ .../packageDebug/debug/dex-renamer-state.txt | 2 +- .../debug/file-input-save-data.txt | 2 +- .../assets/www/assets/fonts/Roboto-Bold.ttf | Bin 170760 -> 170760 bytes .../assets/www/assets/fonts/Roboto-Light.ttf | Bin 170420 -> 170420 bytes .../assets/www/assets/fonts/Roboto-Medium.ttf | Bin 172064 -> 172064 bytes .../www/assets/fonts/Roboto-Regular.ttf | Bin 171676 -> 171676 bytes .../app/src/main/assets/www/build/main.css | 110 + .../app/src/main/assets/www/build/main.js | 2174 ++- .../app/src/main/assets/www/build/vendor.js | 11404 ++++++++++------ src/app/app.module.ts | 16 +- .../pd-question-category.ts | 5 +- .../pd-question-address.ts | 117 +- .../pd-question-assessed-daily-sales.html | 2 +- .../pd-question-assessed-daily-sales.ts | 14 +- .../pd-question-assessed-dash.html | 18 +- .../pd-question-assessed-dash.ts | 4 + .../pd-question-assessed-info.html | 8 +- .../pd-question-assessed-info.ts | 2 + .../pd-question-assessed-sales.ts | 17 +- .../pd-question-business-info.html | 9 +- .../pd-question-client-info.html | 2 +- .../pd-question-financial-info.html | 2 +- .../pd-question-stock-info.html | 2 +- .../pd-question-emp-info.ts | 6 + .../pd-question-loans/pd-question-loans.ts | 19 +- .../pd-question-neighbour-hood.ts | 2 +- .../pd-question-other-income.html | 4 +- .../pd-question-other-income.ts | 3 +- .../pd-question-rental-dash.html | 28 + .../pd-question-rental-dash.module.ts | 13 + .../pd-question-rental-dash.scss | 24 + .../pd-question-rental-dash.ts | 110 + .../pd-question-rental-info.html | 20 +- .../pd-question-rental-info.ts | 49 +- src/pipes/pipes.module.ts | 4 +- src/providers/constants/constants.ts | 1 + .../question-category/question-category.ts | 3 + src/providers/storage/storage.ts | 76 + www/build/main.css | 24 + 55 files changed, 18294 insertions(+), 9703 deletions(-) create mode 100644 .sourcemaps/0.js.map create mode 100644 src/pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash.html create mode 100644 src/pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash.module.ts create mode 100644 src/pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash.scss create mode 100644 src/pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash.ts create mode 100644 src/providers/storage/storage.ts diff --git a/.sourcemaps/0.js.map b/.sourcemaps/0.js.map new file mode 100644 index 00000000..7aa538d6 --- /dev/null +++ b/.sourcemaps/0.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../src/pages/pd-question-rental-dash/pd-question-rental-dash.module.ts","../../src/pages/pd-question-rental-dash/pd-question-rental-dash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAyC;AACO;AACqB;AAUrE;IAAA;IAA6C,CAAC;IAAjC,8BAA8B;QAR1C,uEAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,0FAAwB;aACzB;YACD,OAAO,EAAE;gBACP,sEAAe,CAAC,QAAQ,CAAC,0FAAwB,CAAC;aACnD;SACF,CAAC;OACW,8BAA8B,CAAG;IAAD,qCAAC;CAAA;AAAH;;;;;;;;;;;;;;;;;;;;;ACZD;AACe;AAEzD;;;;;GAKG;AAOH;IAEE,kCAAmB,OAAsB,EAAS,SAAoB;QAAnD,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;IACtE,CAAC;IAED,iDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAPU,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;iCAGsE;OAF3D,wBAAwB,CASpC;IAAD,CAAC;AAAA;SATY,wBAAwB,kB","file":"0.js","sourcesContent":["import { NgModule } from '@angular/core';\nimport { IonicPageModule } from 'ionic-angular';\nimport { PdQuestionRentalDashPage } from './pd-question-rental-dash';\n\n@NgModule({\n declarations: [\n PdQuestionRentalDashPage,\n ],\n imports: [\n IonicPageModule.forChild(PdQuestionRentalDashPage),\n ],\n})\nexport class PdQuestionRentalDashPageModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-rental-dash/pd-question-rental-dash.module.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdQuestionRentalDashPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@IonicPage()\n@Component({\n selector: 'page-pd-question-rental-dash',\n templateUrl: 'pd-question-rental-dash.html',\n})\nexport class PdQuestionRentalDashPage {\n\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionRentalDashPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-rental-dash/pd-question-rental-dash.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/.sourcemaps/main.js.map b/.sourcemaps/main.js.map index 87ee74f7..e902099f 100644 --- a/.sourcemaps/main.js.map +++ b/.sourcemaps/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/providers/question-category/question-category.ts","../../src/pages/pd-question-category/pd-question-category.ts","../../src/providers/constants/constants.ts","../../src/pages/otp/otp.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","../../src/providers/common-provider/camera.ts","../../node_modules/@angular/core/esm5 lazy","../../src/providers/common-provider/loading.ts","../../src lazy","../../src/pages/login/login.ts","../../src/pages/input/input.ts","../../src/pages/pd-question/pd-question.ts","../../src/pages/pd-question/pd-question-address/pd-question-address.ts","../../src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","../../src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","../../src/pages/pd-question/pd-question-loans/pd-question-loans.ts","../../src/pages/pd-question/pd-question-banking/pd-question-banking.ts","../../src/pages/pd-question/pd-question-family/pd-question-family.ts","../../src/pages/pd-question/pd-question-assests/pd-question-assests.ts","../../src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","../../src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","../../src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","../../src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","../../src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","../../src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","../../src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","../../src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","../../src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","../../src/pages/pd-question/pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase.ts","../../src/pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary.ts","../../src/pipes/rupee-currency-format/rupee-currency-format.ts","../../src/pages/pd-question/pd-question-assessed-images/pd-question-assessed-images.ts","../../src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","../../src/pipes/pd/pd.ts","../../src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","../../src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","../../src/pages/pd-general-images/pd-general-images.ts","../../src/pages/input/bounced-reject/bounced-reject.ts","../../src/providers/database/database.ts","../../src/pages/password/password.ts","../../src/pages/auth/auth.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/_guard/auth.guard.ts","../../src/providers/_guard/token.interceptor.ts","../../src/pages/googleplaytab/googleplaytab.ts","../../src/pages/pd-allocation/pd-allocation.ts","../../src/pages/pd-question/pd-question-business/pd-question-business.ts","../../src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","../../src/providers/aws-service/cognito.service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/aws-service/aws-service.ts","../../src/providers/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":"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,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC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,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAA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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConstantsProvider } from '../constants/constants';\r\n\r\n/*\r\n Generated class for the QuestionCategoryProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class QuestionCategoryProvider {\r\napiurl:any;\r\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\r\n console.log('Hello QuestionCategoryProvider Provider');\r\n this.apiurl = constant.apiurl();\r\n }\r\n \r\n \r\n getLoadTemplate(pdid)\r\n {\r\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\r\n }\r\n saveQusetion(saveData)\r\n {\r\n let records = {'records':[saveData]};\r\n return this.http.post(this.apiurl+'savePDQuestions',records);\r\n }\r\n\r\n \r\n getAnswerTemplate(qustDetails)\r\n {\r\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\r\n }\r\n\r\n /***\r\n * Get PD Questions dropdown api\r\n * sriram\r\n */\r\n getcommondrop(tableName)\r\n {\r\n let masters = {'master_name':tableName}\r\n return this.http.post(this.apiurl+'getListOfMaster',masters);\r\n }\r\n\r\n saveForm(records)\r\n { let record = {'records':records};\r\n return this.http.post(this.apiurl+'savePDFormDetails',record);\r\n }\r\n\r\n retiverForm(records)\r\n {\r\n return this.http.post(this.apiurl+'getPDFormDetails',records);\r\n }\r\n\r\n /**Assessed Form Details API */\r\n saveassessedForms(api,saveData)\r\n {\r\n return this.http.post(this.apiurl+api,saveData);\r\n }\r\n\r\n retiverassessedForm(api,records)\r\n {\r\n console.log(\"rec\",records)\r\n return this.http.post(this.apiurl+api,records);\r\n }\r\n\r\n updatePdApplicant(editData: any) {\r\n // editData.fk_updatedby = this._aws.getlocale();\r\n // editData.updatedon = currentdate;\r\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\r\n\r\n \r\n}\r\n\r\ngetEndUseForLoan(pdid:any,subproduct){\r\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid,\"sub_product_id\":subproduct}})\r\n}\r\ngetCompaniesListsForBusiness(pdid:any){\r\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetStateWiseCities(stateid:any){\r\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\r\n}\r\ngetAllPersonsName(pdid:any){\r\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\r\n \r\n}\r\ngetStateCityDetails(){\r\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\r\n}\r\ngetAssetsWithLoanFromBusiness(pdid:any){\r\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\r\n\r\n}\r\n\r\n\r\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\r\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\r\n}\r\n\r\n/** For Stock Details \r\n * To Get The Products With TypeofActivity From Business \r\n **/\r\nstockFormAccess(pdid: any,companyid: any) {\r\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\r\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\r\n}\r\n\r\n\r\n\r\n/*****Save Images */\r\nsavePDImages(imagesDetails)\r\n{ \r\n let record = {'records':imagesDetails};\r\n return this.http.post(this.apiurl+'savePDPhotos',record);\r\n}\r\ngetPDImages(records){\r\n let record={'records':records};\r\n return this.http.post(this.apiurl+'getPDImages',record);\r\n}\r\ngetFamilyDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\r\n}\r\ngetAddressDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getPDAddress',{'pd_id':pdid})\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdQuestionPage } from '../pd-question/pd-question';\r\nimport Chart from 'chart.js';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\r\n\r\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\r\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\r\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\r\n/**\r\n * Generated class for the PdQuestionCategoryPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-category',\r\n templateUrl: 'pd-question-category.html',\r\n})\r\nexport class PdQuestionCategoryPage {\r\n searchTempForm: any;\r\n searchQuestion: any;\r\n viewchange: boolean;\r\n templateAccess: boolean;\r\n bgColortempForm: any=[];\r\n bgColorqustCat: any=[];\r\n dis_forms:any;\r\n // @ViewChild('doughnutCanvas') doughnutCanvas;\r\n pdinfo: any;\r\nquestionList:any;\r\nquestionCate:any;\r\nquestionCateAccess:boolean = null;\r\nquestionfinishedList:any =[];\r\npddetails:any=[];\r\noverallqustioncountAccess:boolean = true;\r\ndoughnutChart: any;\r\ncompletedAccess:any;\r\nsearchitem:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\r\n this.pddetails = this.navParams.get('pdDetails');\r\n \r\n \r\n }\r\n\r\n ionViewCanEnter()\r\n {\r\n this.getcategoryList(); \r\n }\r\n // doughuntChart()\r\n // {\r\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\r\n \r\n // type: 'doughnut',\r\n // data: {\r\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\r\n // datasets: [{\r\n // label: '# of Votes',\r\n // data: [12],\r\n // backgroundColor: [\r\n // // 'rgba(255, 99, 132, 0.2)',\r\n // 'rgba(54, 162, 235, 0.2)',\r\n // // 'rgba(255, 206, 86, 0.2)',\r\n // // 'rgba(75, 192, 192, 0.2)',\r\n // // 'rgba(153, 102, 255, 0.2)',\r\n // // 'rgba(255, 159, 64, 0.2)'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\",\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\"\r\n // ]\r\n // }]\r\n // }\r\n\r\n // });\r\n // }\r\n ionViewDidLoad() {\r\n this.shared.refresh();\r\n //this.doughuntChart();\r\n console.log('ionViewDidLoad PdQuestionCategoryPage');\r\n }\r\n \r\n getcategoryList()\r\n {\r\n let j = 1;\r\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\r\n {\r\n this.questionCate = res;\r\n if(this.questionCate.dataStatus == true)\r\n {\r\n \r\n this.questionCate = this.questionCate.records;\r\n this.random_ng_past(); \r\n // if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\r\n // {\r\n // this.questionCateAccess = true;\r\n // this.templateAccess = true;\r\n // this.questionCate = this.questionCate;\r\n // this.dis_forms=this.questionCate.template_forms.filter(val=>val.isAnswerable==true );\r\n // this.searchQuestion = this.questionCate.question_answers;\r\n\r\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n \r\n \r\n \r\n \r\n \r\n // }else \r\n if(this.questionCate.template_forms!='')\r\n {\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate\r\n this.dis_forms=this.questionCate.template_forms.filter(val=>val.isAnswerable==true );\r\n console.log(\"temp\",this.questionCate);\r\n\r\n this.searchTempForm = this.questionCate.template_forms\r\n // for(let i of this.dis_forms){\r\n // if(i.)\r\n // }\r\n let answered=this.dis_forms.filter(res=>res.isAnswered == true)\r\n console.log(\"an len\",answered);\r\n if(answered.length == this.dis_forms.length){\r\n this.overallqustioncountAccess= true;\r\n }\r\n else{\r\n this.overallqustioncountAccess=false\r\n }\r\n \r\n \r\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n }\r\n else\r\n {\r\n this.questionCateAccess = false;\r\n this.templateAccess = false; \r\n this.questionCate = \"No Template Available\";\r\n }\r\n }\r\n })\r\n \r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.questionCate.question_answers){\r\n var a = Math.floor(Math.random() * 256);\r\n var b = Math.floor(Math.random() * 256);\r\n var c = Math.floor(Math.random() * 256);\r\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\r\n \r\n }\r\n for(let id of this.questionCate.template_forms){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n questionsTag(categroyId){\r\n \r\n this.pdinfo = this.pddetails; \r\n \r\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\r\n // if(this.questionCate.questions.length !=\"0\"){\r\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\r\n \r\n // }else\r\n // {\r\n // this.getcategoryList();\r\n // this.toast.pdTriggerappmessage('No Question Available');\r\n // }\r\n }\r\n\r\n tempQustionTag(categroyId)\r\n {\r\n //FOR UPDATING THE PD APPLICANT LIST\r\n this.pdinfo = this.pddetails; \r\n let newData= this.questionCate.pdapplicants_detials\r\n console.log(\"new Data\",newData);\r\n this.pdinfo.applicat_details=newData\r\n console.log(this.pdinfo);\r\n\r\n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\r\n if(categroyId ==5)\r\n {\r\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n \r\n }else if(categroyId==12){\r\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }else if(categroyId==10)\r\n {\r\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==8){\r\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==13)\r\n {\r\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n \r\n }else if(categroyId==7)\r\n {\r\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n\r\n }else if(categroyId==6)\r\n {\r\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==4){\r\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==9){\r\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==3){\r\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==11)\r\n {\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==14)\r\n {\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==2)\r\n {\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId ==17)\r\n {\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }\r\n else if(categroyId==16)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==15)\r\n {\r\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==18)\r\n {\r\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==19)\r\n {\r\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }\r\n else if(categroyId==20)\r\n {\r\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n }\r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n // this.questionCate = this.searchQuestion;\r\n // this.questionCate.template_forms = this.searchTempForm;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n if(this.searchQuestion !== undefined){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\r\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n // return true;\r\n // }\r\n // })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\r\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n// return true;\r\n// }\r\n// })\r\n }\r\n }\r\n}\r\n completed()\r\n {\r\n let users = this.aws.getlocale();\r\n if(!this.overallqustioncountAccess){// For checking Answered Forms\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Forms\");\r\n }\r\n else{\r\n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\r\n \r\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.completedAccess = res;\r\n if(this.completedAccess.dataStatus == true)\r\n {\r\n this.toast.pdTriggerappmessage(\"Completed Successfully..!\")\r\n setTimeout(()=>{\r\n this.navCtrl.setRoot(PdListPage);\r\n },2000);\r\n \r\n \r\n }\r\n })\r\n }\r\n}\r\n doRefresh(refresher) {\r\n this.questionCate = [];\r\n this.questionfinishedList = [];\r\n this.shared.refresh();\r\n this.getcategoryList();\r\n setTimeout(() => {\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/*\r\n Generated class for the ConstantsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ConstantsProvider {\r\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\r\n constructor(public http: HttpClient) {\r\n console.log('Hello ConstantsProvider Provider');\r\n }\r\n\r\n apiurl()\r\n {\r\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\r\n let devapiurl_beta = 'http://ssa.sineedge.com/sparqapi_beta/api/';\r\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\r\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\r\n return devapiurl_beta;\r\n }\r\n\r\n getcurrentDate()\r\n {\r\n var today = new Date();\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\r\n var time = today.getHours() + \":\" + today.getMinutes();\r\n let CurrentDate = date+\"T00:00\";\r\n return CurrentDate.toString();\r\n }\r\n \r\n convertNumberToWords(price) {\r\n price = price.toString();\r\n let atemp = price.split(\".\");\r\n let amount = atemp[0];\r\n\r\n var sglDigit = [\"Zero\", \"One\", \"Two\", \"Three\", \"Four\", \"Five\", \"Six\", \"Seven\", \"Eight\", \"Nine\"],\r\n dblDigit = [\"Ten\", \"Eleven\", \"Twelve\", \"Thirteen\", \"Fourteen\", \"Fifteen\", \"Sixteen\", \"Seventeen\", \"Eighteen\", \"Nineteen\"],\r\n tensPlace = [\"\", \"Ten\", \"Twenty\", \"Thirty\", \"Forty\", \"Fifty\", \"Sixty\", \"Seventy\", \"Eighty\", \"Ninety\"],\r\n \r\n handle_tens = function(dgt, prevDgt) {\r\n return 0 == dgt ? \"\" : \" \" + (1 == dgt ? dblDigit[prevDgt] : tensPlace[dgt])\r\n },\r\n handle_utlc = function(dgt, nxtDgt, denom) {\r\n return (0 != dgt && 1 != nxtDgt ? \" \" + sglDigit[dgt] : \"\") + (0 != nxtDgt || dgt > 0 ? \" \" + denom : \"\")\r\n };\r\n\r\n var str = \"\",\r\n digitIdx = 0,\r\n digit = 0,\r\n nxtDigit = 0,\r\n words = [];\r\n if (amount += \"\", isNaN(parseInt(amount))) str = \"\";\r\n else if (parseInt(amount) > 0 && amount.length <= 10) {\r\n for (digitIdx = amount.length - 1; digitIdx >= 0; digitIdx--) \r\n switch (digit = amount[digitIdx] - 0, nxtDigit = digitIdx > 0 ? amount[digitIdx - 1] - 0 : 0, amount.length - digitIdx - 1) {\r\n case 0:\r\n words.push(handle_utlc(digit, nxtDigit, \"\"));\r\n break;\r\n case 1:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 2:\r\n words.push(0 != digit ? \" \" + sglDigit[digit] + \" Hundred\" + (0 != amount[digitIdx + 1] && 0 != amount[digitIdx + 2] ? \" and\" : \"\") : \"\");\r\n break;\r\n case 3:\r\n words.push(handle_utlc(digit, nxtDigit, \"Thousand\"));\r\n break;\r\n case 4:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 5:\r\n words.push(handle_utlc(digit, nxtDigit, \"Lakh\"));\r\n break;\r\n case 6:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 7:\r\n words.push(handle_utlc(digit, nxtDigit, \"Crore\"));\r\n break;\r\n case 8:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 9:\r\n words.push(0 != digit ? \" \" + sglDigit[digit] + \" Hundred\" + (0 != amount[digitIdx + 1] || 0 != amount[digitIdx + 2] ? \" and\" : \" Crore\") : \"\")\r\n // break; \r\n // case 10:\r\n // words.push(0 != digit ? \" \" + sglDigit[digit] + \" Lakh\" + (0 != price[digitIdx + 1] || 0 != price[digitIdx + 2] ? \" and\" : \" Hundred\" + (0 != price[digitIdx + 1] || 0 != price[digitIdx + 2] || 0 != price[digitIdx + 3] ? \" and\" : \" Crore\")) \r\n // : \"\")\r\n // break;\r\n }\r\n str = words.reverse().join(\"\")\r\n // str =(str.length > 2 && str.charAt(str.length-2)==',') ? str.slice(0, -2) : str;\r\n } else str = \"\";\r\n return str\r\n\r\n // var words = new Array();\r\n // words[0] = '';\r\n // words[1] = 'One';\r\n // words[2] = 'Two';\r\n // words[3] = 'Three';\r\n // words[4] = 'Four';\r\n // words[5] = 'Five';\r\n // words[6] = 'Six';\r\n // words[7] = 'Seven';\r\n // words[8] = 'Eight';\r\n // words[9] = 'Nine';\r\n // words[10] = 'Ten';\r\n // words[11] = 'Eleven';\r\n // words[12] = 'Twelve';\r\n // words[13] = 'Thirteen';\r\n // words[14] = 'Fourteen';\r\n // words[15] = 'Fifteen';\r\n // words[16] = 'Sixteen';\r\n // words[17] = 'Seventeen';\r\n // words[18] = 'Eighteen';\r\n // words[19] = 'Nineteen';\r\n // words[20] = 'Twenty';\r\n // words[30] = 'Thirty';\r\n // words[40] = 'Forty';\r\n // words[50] = 'Fifty';\r\n // words[60] = 'Sixty';\r\n // words[70] = 'Seventy';\r\n // words[80] = 'Eighty';\r\n // words[90] = 'Ninety';\r\n // amount = amount.toString();\r\n // var atemp = amount.split(\".\");\r\n // var number = atemp[0].split(\",\").join(\"\");\r\n // var n_length = number.length;\r\n // let value:any = \"\";\r\n // var words_string = \"\";\r\n // if (n_length <= 9) {\r\n // var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n // var received_n_array = new Array();\r\n // for (var i = 0; i < n_length; i++) {\r\n // received_n_array[i] = number.substr(i, 1);\r\n // }\r\n // for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n // n_array[i] = received_n_array[j];\r\n // }\r\n // for (var i = 0, j = 1; i < 9; i++, j++) {\r\n // if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n // if (n_array[i] == 1) {\r\n // n_array[j] = 10 + parseInt(n_array[j]);\r\n // n_array[i] = 0;\r\n // }\r\n // }\r\n // }\r\n // value = \"\";\r\n // for (var i = 0; i < 9; i++) {\r\n // if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n // value = n_array[i] * 10;\r\n // } else {\r\n // value = n_array[i];\r\n // }\r\n // if (value != 0) {\r\n // words_string += words[value] + \" \";\r\n // }\r\n // if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n // words_string += \"Crores \";\r\n // }\r\n // if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n // words_string += \"Lakhs \";\r\n // }\r\n // if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n // words_string += \"Thousand \";\r\n // }\r\n // if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n // words_string += \"Hundred and \";\r\n // } else if (i == 6 && value != 0) {\r\n // words_string += \"Hundred \";\r\n // }\r\n // }\r\n // words_string = words_string.split(\" \").join(\" \");\r\n // }\r\n // return words_string;\r\n}\r\n//FOR SEARCHABLE DROP DOWN\r\nsearchData(data,val: any,option) {\r\n let DataValue:any\r\n // let nameVal=name.toLowerCase()\r\n console.log(\"statedata\")\r\n if (!data) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n // this.filteredState.next(this.stateList.slice())\r\n DataValue=data.slice()\r\n return DataValue\r\n \r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n if(option == \"bank\"){\r\n DataValue=data.filter(res => res.lender_name.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n else if(option == \"city\"){\r\n console.log(\"city\",data)\r\n DataValue=data.filter(res=>res.city_name.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n else if(option == \"pin\"){\r\n DataValue=data.filter(res=>res.pincode.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n else{\r\n //This is suitable for state\r\n DataValue=data.filter(res => res.name.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n // this.filteredState.next(\r\n // this.stateList.filter(res => res.state_name.toLowerCase().indexOf(searchVal) > -1)\r\n // )\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Geolocation } from '@ionic-native/geolocation'; \r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n/**\r\n * Generated class for the OtpPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-otp',\r\n templateUrl: 'otp.html',\r\n})\r\nexport class OtpPage {\r\n\r\n \r\n timeLimit: any;\r\n reason_otp: any;\r\n users: any;\r\n timerOn: boolean = true;\r\n balance_time: string;\r\n otpStatus: any;\r\n pin:any;\r\n otpStatusAccess:boolean = true;\r\n applicatentDetails: any;\r\n commonImage:any;\r\n maxtime: any=30;\r\n \r\n reasonForm:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public pddetails:PdtriggerProvider,public toast:ToastProvider,public Menu:MenuController,public commonconstant:ConstantsProvider,public aws:AwsServiceProvider,public alertCtrl:AlertController,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public geolocation:Geolocation,public androidPermissions:AndroidPermissions) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n console.log(\"user\",this.users)\r\n this.reasonForm = this.fb.group(\r\n {\r\n reason:[null,Validators.compose([Validators.required])],\r\n others_reason:[null],\r\n })\r\n \r\n this.getDropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad OtpPage');\r\n }\r\n ionViewDidEnter(){\r\n //this.Menu.enable(false);\r\n this.setPermission();\r\n this.timer(120);\r\n \r\n }\r\n\r\n setPermission()\r\n {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n ionViewWillLeave(){\r\n //this.Menu.enable(true);\r\n clearTimeout(this.timeLimit);\r\n }\r\n getDropdown()\r\n {\r\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\r\n console.log(this.reason_otp);\r\n \r\n }\r\n })\r\n }\r\n checkotp(otp)\r\n {\r\n //console.log(\"Otp\",otp)\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n //console.log(\"Otp\",res)\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }\r\n\r\n timer(remaining) {\r\n // console.log(remaining);\r\n let m:any = Math.floor(remaining / 60);\r\n let s:any = remaining % 60;\r\n \r\n m = m < 10 ? '0' + m : m;\r\n s = s < 10 ? '0' + s : s;\r\n // var balance_time = m + ':' + s;\r\n this.balance_time = m + ':' + s;\r\n remaining -=1;\r\n // console.log(this.balance_time);\r\n if(remaining >= 0 && this.timerOn) {\r\n this.timeLimit = setTimeout(()=> {\r\n this.timer(remaining);\r\n }, 1000);\r\n return;\r\n }\r\n \r\n if(!this.timerOn) {\r\n // Do validate stuff here\r\n return;\r\n }\r\n \r\n // Do timeout stuff here\r\n \r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'OTP Expired ',\r\n message: 'Do you want to resend the OTP ? ',\r\n buttons: [\r\n {\r\n text: 'Start PD Without OTP',\r\n \r\n handler: () => {\r\n \r\n this.otpStatusAccess = false;\r\n }\r\n },\r\n {\r\n text: 'Resend OTP',\r\n handler: () => {\r\n \r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n let currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'link':currentPosPDofficer};\r\n console.log(data);\r\n this.pddetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.timer(60);\r\n })\r\n });\r\n // console.log('Buy clicked');\r\n \r\n } \r\n }\r\n \r\n ]\r\n \r\n });\r\n alert.present();\r\n }\r\n \r\n saveotpreasno()\r\n {\r\n console.log(this.reasonForm.value);\r\n if(this.reasonForm.valid)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams ,AlertController} from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants';\r\nimport {DatePipe} from '@angular/common'\r\nimport { Message } from '@angular/compiler/src/i18n/i18n_ast';\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n/**\r\n * Generated class for the PdQuestionRentalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-rental-info',\r\n templateUrl: 'pd-question-rental-info.html',\r\n})\r\nexport class PdQuestionRentalInfoPage {\r\n pipe = new DatePipe('en-US');\r\n users: any;\r\n pdDetails: any;\r\n FormId: any;\r\n rentalForms:FormGroup;\r\n applicants: any ;\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n personType: any=[{id:2,name:\"Tenant / Lessee\"},{id:3,name:\"Owner of the Rented Property\"},{id:4,name:\"Property Caretaker\"},{id:1,name:\"Others (Please Specify)\"}];\r\n relationShipList: any=[];\r\n relationToList: any=[];\r\n rentAmtInwords : String;\r\n paymentOptions: any=[{id:1,name:\"Received in Cash\"},{id:2,name:\"Received through Banking Channel\"},{id:3,name:\"Combination of Cash & Bank\"}];\r\n paymentPaidOptions: any=[{id:1,name:\"Paid in Cash\"},{id:2,name:\"Paid through Banking Channel\"},{id:3,name:\"Combination of Cash & Bank\"}];\r\n propertyNature: any=[{id:2,name:\"Residential Property\"},{id:3,name:\"Commercial Property\"},{id:4,name:\"Industrial Property\"},{id:1,name:\"Others (Please Specify)\"}];\r\n unitTypeList: any=[];\r\n stateData:any=[];\r\n cityData:any=[];\r\n pincodeData:any=[];\r\n stateList:any=[];\r\n cityList:any=[];\r\n pincodeList:any=[];\r\n \r\n documentList: any=[{id:2,name:\"Property Title Document\"},{id:3,name:\"Electricity Bill with name of owner mentioned therein\"},{id:4,name:\"Property tax Receipts\"},{id:1,name:\"Others (Please Specify)\"}];\r\n //floorList: any=[{id:1,name:\"Ground Floor\"},{id:1,name:\"First Floor\"},{id:1,name:\"Second Floor\"},{id:1,name:\"Third Floor\"}]\r\n //unitMeasurementList: any=[{id:2,name:\"Square Feet\"},{id:3,name:\"Square Yards\"},{id:4,name:\"Square Meters\"},{id:5,name:\"Acres\"},{id:6,name:\"Hectares\"},{id:1,name:\"Others (Please Specify)\"}];\r\n unitMeasurementList: any=[];\r\n\r\n rent_per_unit_Inwords : any= [];\r\n amount_Inwords : any=[];\r\n // rent_per_unit_2_Inwords: any=[];\r\n floor_rent_per_unit_Inwords : any[][];\r\n floor_rent_amount_Inwords: any=[];\r\n monthly_rent_amount_Inwords: any=[];\r\n amount_received_cash_Inwords: any=[];\r\n amount_received_bank_Inwords: any=[];\r\n securtity_deposit_amount_Inwords: any=[]; \r\n agreement_monthly_rent_amount_Inwords: any=[];\r\n agreement_security_deposit_amount_Inwords: any=[]\r\n paid_monthly_rent_per_met_Inwords: any=[];\r\n amount_received_cash_per_met_Inwords: any=[];\r\n amount_received_bank_per_met_Inwords: any=[];\r\n protected _onDestroy = new Subject();\r\n imageBucket: any=[];\r\n tab: any='0';\r\n imageDisplay: any=[];\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public toast:ToastProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,\r\n public constprovider:ConstantsProvider,public alertCtrl:AlertController,\r\n private loading:LoadingProvider,private cameraProvider:CameraProvider) \r\n {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.getdropList();\r\n\r\n this.rentalForms = this.fb.group(\r\n {\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId.form_id,\r\n address_property:['',Validators.required],\r\n state:['',Validators.required],\r\n stateSearch:[''],\r\n city:['',Validators.required],\r\n citySearch:[''],\r\n pincode:['',Validators.required],\r\n pincodeSearch:[''],\r\n validate_visited_address:[true],\r\n person_met: ['',Validators.required],\r\n property_owner: ['',Validators.required],\r\n property_ownership_proof_documents: ['',Validators.required],\r\n nature_property: ['',Validators.required],\r\n unit_type:['',Validators.required],\r\n no_units:[''],\r\n multistoried_building_details: this.fb.array([]),\r\n property_unit_details : this.fb.array([]),\r\n done_third_party_check :['',Validators.required],\r\n rental_remark: [''],\r\n })\r\n\r\n // observe person met controls\r\n this.rentalForms.controls['person_met'].valueChanges.subscribe(val => {\r\n if(val && val.length>0){\r\n let otherPersonMetCheck = val.filter(fVal=>fVal.id==0);\r\n otherPersonMetCheck.length>0 ? this.rentalForms.addControl('other_person_met', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_person_met');\r\n otherPersonMetCheck.length>0 ? this.rentalForms.addControl('other_name_person_showing_property', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_name_person_showing_property');\r\n otherPersonMetCheck.length>0 ? '' : this.rentalForms.removeControl('other_name_person_type');\r\n\r\n \r\n }\r\n else {\r\n this.rentalForms.removeControl('other_person_met');\r\n this.rentalForms.removeControl('other_name_person_showing_property');\r\n this.rentalForms.removeControl('other_name_person_type');\r\n }\r\n });\r\n // observe owner of the property\r\n this.rentalForms.controls['property_owner'].valueChanges.subscribe(val => {\r\n if(val && val.length>0){\r\n let otherOwnerCheck = val.filter(fVal=>fVal.id==0);\r\n otherOwnerCheck.length>0 ? this.rentalForms.addControl('property_owner_other', new FormControl('', Validators.required)) : this.rentalForms.removeControl('property_owner_other');\r\n otherOwnerCheck.length>0 ? this.rentalForms.addControl('property_owner_other_relationship', new FormControl('', Validators.required)) : this.rentalForms.removeControl('property_owner_other_relationship');\r\n otherOwnerCheck.length>0 ? this.rentalForms.addControl('property_owner_other_relation_to', new FormControl('', Validators.required)) : this.rentalForms.removeControl('property_owner_other_relation_to');\r\n\r\n }\r\n else {\r\n this.rentalForms.removeControl('property_owner_other');\r\n this.rentalForms.removeControl('property_owner_other_relationship');\r\n this.rentalForms.removeControl('other_name_person_type');\r\n this.rentalForms.removeControl('property_owner_other_relation_to');\r\n }\r\n });\r\n // observe other property type\r\n this.rentalForms.controls['nature_property'].valueChanges.subscribe(val => { \r\n val.id==1 ? this.rentalForms.addControl('other_nature_property', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_nature_property');\r\n });\r\n\r\n // observe unit type changes\r\n this.rentalForms.controls['unit_type'].valueChanges.subscribe(val => { \r\n val.id==1 ? this.rentalForms.addControl('other_unit_type', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_unit_type');\r\n val.group_id==1 && val.id==6 ? this.rentalForms.removeControl('no_units') : val.group_id==2 && val.id==7 ? this.rentalForms.removeControl('no_units') : this.rentalForms.addControl('no_units', new FormControl(''));\r\n val.group_id==1 && val.id==6 ? this.rentalForms.addControl('no_floor', new FormControl('',Validators.required)) : val.group_id==2 && val.id==7 ? this.rentalForms.addControl('no_floor', new FormControl('',Validators.required)) : this.rentalForms.removeControl('no_floor');\r\n val.group_id==1 && val.id==6 ? this.rentalForms.addControl('multistoried_total_area', new FormControl('',Validators.required)) : val.group_id==2 && val.id==7 ? this.rentalForms.addControl('multistoried_total_area', new FormControl('',Validators.required)) : this.rentalForms.removeControl('multistoried_total_area');\r\n val.group_id==1 && val.id==6 ? this.rentalForms.addControl('multistoried_uom', new FormControl('',Validators.required)) : val.group_id==2 && val.id==7 ? this.rentalForms.addControl('multistoried_uom', new FormControl('',Validators.required)) : this.rentalForms.removeControl('multistoried_uom');\r\n val.group_id==1 && val.id==6 ? '' : val.group_id==2 && val.id==7 ? '' : this.rentalForms.setControl('multistoried_building_details', this.fb.array([]));\r\n });\r\n\r\n // observe visit address\r\n this.rentalForms.controls['validate_visited_address'].valueChanges.subscribe(val => { \r\n if(val===false){\r\n this.rentalForms.addControl('other_visited_address', new FormControl('', Validators.required)); \r\n }\r\n else {\r\n this.rentalForms.removeControl('other_visited_address'); \r\n }\r\n });\r\n // get city list based on state changes\r\n this.rentalForms.controls['state'].valueChanges.subscribe(val => { \r\n this.qustCat.getStateWiseCities(val).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData = data.records.cities;\r\n this.cityList = this.cityData.slice();\r\n this.pincodeData = data.records.pincode;\r\n this.pincodeList = this.pincodeData.slice();\r\n }\r\n });\r\n });\r\n\r\n // ownership property documents during the visit\r\n this.rentalForms.controls['property_ownership_proof_documents'].valueChanges.subscribe(val => { \r\n val==\"1\" ? this.rentalForms.addControl('sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('sighted_documents');\r\n val==\"1\" ? '' : this.rentalForms.removeControl('other_sighted_documents');\r\n }); \r\n\r\n // listen third party check\r\n this.rentalForms.controls['done_third_party_check'].valueChanges.subscribe(val => { \r\n val==\"1\" ? this.rentalForms.addControl('whom_third_party_check_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('whom_third_party_check_done');\r\n val==\"1\" ? this.rentalForms.addControl('description_third_party_check_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('description_third_party_check_done');\r\n val==\"1\" ? this.rentalForms.addControl('rental_rates_third_party_check_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('rental_rates_third_party_check_done');\r\n val==\"0\" ? this.rentalForms.addControl('why_third_party_check_not_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('why_third_party_check_not_done');\r\n }); \r\n\r\n this.getRentalDetails(); \r\n\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.rentalForms.dirty);\r\n if(this.rentalForms.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n getdropList()\r\n {\r\n\r\n let modifyApplicantList: any=[];\r\n \r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n \r\n }\r\n // set unit type list details\r\n let resiDentialProperty = [{id:2,name:'Independent Flat',group_id:1},{id:3,name:'Independent Floor',group_id:1},\r\n {id:4,name:'Independent House',group_id:1},{id:5,name:'Independent Row House',group_id:1},{id:6,name:'Multi Storey Building',group_id:1},{id:1,name:'Other (Please Specify)',group_id:1}];\r\n \r\n let commercialProperty = [{id:2,name:'Independent Office',group_id:2},{id:3,name:'Independent Shop',group_id:2},{id:4,name:'Warehouse/Godown',group_id:2},\r\n {id:5,name:'Workshop',group_id:2},{id:6,name:'Independent Clinic',group_id:2},{id:7,name:'Multi Storey Building',group_id:2},{id:1,name:'Other (Please Specify)',group_id:2}];\r\n\r\n let industrialProperty = [{id:2,name:'Factory',group_id:3},{id:3,name:'Industrial Shed',group_id:3},{id:1,name:'Other (Please Specify)',group_id:3}];\r\n \r\n this.unitTypeList.push({groupID:2,groupName:'Residential Property',groupValues:resiDentialProperty});\r\n this.unitTypeList.push({groupID:3,groupName:'Commercial Property',groupValues:commercialProperty});\r\n this.unitTypeList.push({groupID:4,groupName:'Industrial Property',groupValues:industrialProperty}); \r\n \r\n\r\n //GETTING RELATIONSHIPS\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let relationshipList: any = res['records'].filter(item => item.isactive == 1).map(element => {\r\n return {id:element.relationship_id.toString(),name:element.name,group_id:1};\r\n });\r\n relationshipList.length > 0 ? this.relationShipList.push({groupName:'Personal',groupValues:relationshipList}):'';\r\n }\r\n })\r\n \r\n //GETTING COMPANYRELATIONSHIPS;\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let companyRelationShipList:any = res['records'].filter(item => item.isactive == 1 && item.name != 'Others').map(element => {\r\n return {id:element.company_relationship_id.toString(),name:element.name,group_id:2};\r\n });\r\n companyRelationShipList.length > 0 ? this.relationShipList.push({groupName:'Official',groupValues:companyRelationShipList}):'';\r\n } \r\n })\r\n \r\n //GETTING STATE;\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.stateData = res['records'].filter(data => data.isactive == 1);\r\n this.stateList = this.stateData.slice();\r\n }\r\n })\r\n\r\n //GETTING UOM;\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.unitMeasurementList = res['records'].filter(data => data.isactive == 1 && data.is_land_uom == 1 || data.is_land_uom == 2).map(mval=>({id : mval.uom_id , name:mval.name}));\r\n }\r\n }) \r\n }\r\n\r\n// initRentalForm() {\r\n// return this.rentalForms = this.fb.group({\r\n// pdid: this.pdDetails.pd_id,\r\n// formid: this.FormId.form_id,\r\n// address_property:['',Validators.required],\r\n// state:['',Validators.required],\r\n// city:['',Validators.required],\r\n// pincode:['',Validators.required],\r\n// validate_visited_address:[true],\r\n// person_met: ['',Validators.required],\r\n// property_owner: ['',Validators.required],\r\n// property_ownership_proof_documents: ['',Validators.required],\r\n// nature_property: ['',Validators.required],\r\n// unit_type:['',Validators.required],\r\n// no_units:[''],\r\n// property_unit_details : this.fb.array([]),\r\n// done_third_party_check :['',Validators.required],\r\n// rental_remark: [''],\r\n// });\r\n// }\r\n\r\n // createrentalHome()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // complete_add:[null,Validators.compose([Validators.required])],\r\n // area_of_property:[null,Validators.compose([Validators.required])],\r\n // structure_property:[null,Validators.compose([Validators.required])],\r\n // total_room:[null,Validators.compose([Validators.required])],\r\n // is_rent:[null,Validators.compose([Validators.required])],\r\n // date_agreement:[null,Validators.compose([Validators.required])],\r\n // date_validity:[null,Validators.compose([Validators.required])],\r\n // rent_agreement:[null,Validators.compose([Validators.required])],\r\n // actual_rent:[null,Validators.compose([Validators.required])],\r\n // photo_areegment:[null,Validators.compose([Validators.required])],\r\n // property_photographs:[null],\r\n // bank:[null,Validators.compose([Validators.required])],\r\n // cash:[null,Validators.compose([Validators.required])],\r\n // rent_each_floor:[null,Validators.compose([Validators.required])],\r\n // total_rent:[null,Validators.compose([Validators.required])],\r\n // related_doc_owner:[null,Validators.compose([Validators.required])],\r\n // details_tenants:this.fb.array([]),\r\n // third_party_check:[null,Validators.compose([Validators.required])],\r\n // })\r\n // }\r\n\r\n // other_name_person_showing_property changes\r\n personShowingChanges(value: any): void { \r\n if(value.length>0){\r\n let otherCheck: any = value.filter(fVal=>fVal.id==1);\r\n otherCheck.length >0 ? this.rentalForms.addControl('other_name_person_type', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_name_person_type');\r\n}\r\nelse {\r\n this.rentalForms.removeControl('other_name_person_type');\r\n}\r\n}\r\n\r\n// dynamic form control generate for other documents sighted\r\ngetSightedDocs(value): void{\r\n value.id==1 ? this.rentalForms.addControl('other_sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_sighted_documents');\r\n}\r\n\r\n// add more unit details\r\naddMoreUnitDetails(){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n //control.push(this.createUnitDetails(''));\r\n control.push(this.createUnitDetails(''));\r\n}\r\n\r\n // create unit details\r\n createUnitDetails(details){\r\n return this.fb.group({\r\n tenant_lessees_options:['1',Validators.required],\r\n name_tenant_lessees:['',Validators.required],\r\n monthly_rent_amount: ['',Validators.required],\r\n payment_mode: ['',Validators.required],\r\n securtity_deposit_amount: ['',Validators.required],\r\n property_cover_area: ['',Validators.required],\r\n unit_measurement: ['',Validators.required],\r\n is_rent_agreement_executed: ['',Validators.required],\r\n met_tenant_lessees_options: ['',Validators.required],\r\n });\r\n }\r\n\r\n // remove unit\r\n removeUnit(index) {\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n control.removeAt(index);\r\n }\r\n\r\n // generate payment dynamic fields\r\n generatePaymentOptions(value:any,index:number,type: number){\r\n if(type==1){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value && value.payment_mode.id==1){\r\n control.controls[index].addControl('amount_received_cash', new FormControl(value.amount_received_cash ? value.amount_received_cash : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_bank');\r\n control.controls[index].removeControl('payment_received_reason');\r\n }\r\n else if(value && value.payment_mode.id==2){\r\n control.controls[index].addControl('amount_received_bank', new FormControl(value.amount_received_bank ? value.amount_received_bank : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_cash');\r\n control.controls[index].removeControl('payment_received_reason');\r\n }\r\n else if(value && value.payment_mode.id==3){\r\n control.controls[index].addControl('amount_received_cash', new FormControl(value.amount_received_cash ? value.amount_received_cash : '', Validators.required));\r\n control.controls[index].addControl('amount_received_bank', new FormControl(value.amount_received_bank ? value.amount_received_bank : '', Validators.required));\r\n control.controls[index].addControl('payment_received_reason', new FormControl(value.payment_received_reason ? value.payment_received_reason : '', Validators.required));\r\n }\r\n else {\r\n control.controls[index].removeControl('amount_received_cash');\r\n control.controls[index].removeControl('amount_received_bank');\r\n control.controls[index].removeControl('payment_received_reason');\r\n }\r\n \r\n }\r\n else if(type==2){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n console.log(\"controls\",control.controls['index'])\r\n if( control.controls[index].controls['payment_difference_per_met']){\r\n console.log(\"pay\");\r\n control.controls[index].controls['payment_difference_per_met'].setValue('')\r\n }\r\n \r\n if(value && value.payment_mode_per_met.id==1){\r\n control.controls[index].addControl('amount_received_cash_per_met', new FormControl(value.amount_received_cash_per_met ? value.amount_received_cash_per_met : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_bank_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n }\r\n else if(value && value.payment_mode_per_met.id==2){\r\n control.controls[index].addControl('amount_received_bank_per_met', new FormControl(value.amount_received_bank_per_met ? value.amount_received_bank_per_met : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_cash_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n }\r\n else if(value && value.payment_mode_per_met.id==3){\r\n control.controls[index].addControl('amount_received_cash_per_met', new FormControl(value.amount_received_cash_per_met ? value.amount_received_cash_per_met : '', Validators.required));\r\n control.controls[index].addControl('amount_received_bank_per_met', new FormControl(value.amount_received_bank_per_met ? value.amount_received_bank_per_met : '', Validators.required));\r\n control.controls[index].addControl('payment_received_reason_per_met', new FormControl(value.payment_received_reason_per_met ? value.payment_received_reason_per_met : '', Validators.required));\r\n }\r\n else {\r\n control.controls[index].removeControl('amount_received_cash_per_met');\r\n control.controls[index].removeControl('amount_received_bank_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n }\r\n }\r\n \r\n \r\n }\r\n\r\n// tenant/lessees options\r\ngenerateTenantOptions(value:any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.tenant_lessees_options==\"1\"){\r\n control.controls[index].addControl('name_tenant_lessees', new FormControl('', Validators.required));\r\n control.controls[index].removeControl('name_tenant_lessees_reason');\r\n }\r\n else if(value.tenant_lessees_options==\"0\"){\r\n control.controls[index].addControl('name_tenant_lessees_reason', new FormControl('', Validators.required));\r\n control.controls[index].removeControl('name_tenant_lessees');\r\n }\r\n else {\r\n control.controls[index].removeControl('name_tenant_lessees');\r\n control.controls[index].removeControl('name_tenant_lessees_reason');\r\n }\r\n }\r\n\r\n // unit of measurement generate other field\r\n generateOtherunitMeasurement(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n value.unit_measurement.id==\"1\" ? control.controls[index].addControl('other_unit_measurement', new FormControl('', Validators.required)) : control.controls[index].removeControl('other_unit_measurement');\r\n \r\n}\r\n\r\n// generate multistoried other uom\r\ngenerateMultistoriedOtherUOM(value: any){\r\n value.multistoried_uom.id==\"1\" ? this.rentalForms.addControl('multistoried_other_uom', new FormControl('', Validators.required)) : this.rentalForms.removeControl('multistoried_other_uom');\r\n}\r\n\r\n// generate Rent AgreementSeen\r\ngenerateRentAgreementSeen(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n \r\n if(value.is_rent_agreement_executed==\"1\"){\r\n control.controls[index].addControl('rent_agreement_seen', new FormControl('', Validators.required))\r\n }\r\n else{\r\n control.controls[index].removeControl('rent_agreement_seen');\r\n // after no\r\n control.controls[index].removeControl('rent_agreement_registered');\r\n // after No\r\n control.controls[index].removeControl('agreement_date');\r\n control.controls[index].removeControl('agreement_no_months');\r\n control.controls[index].removeControl('agreement_expiring_date');\r\n control.controls[index].removeControl('rental_remaining_months');\r\n control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n control.controls[index].removeControl('agreement_security_deposit_amount');\r\n control.controls[index].removeControl('agreement_property_owners_name');\r\n control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n // remove agrement other ownres \r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n }\r\n \r\n}\r\n//genearate rent agreement registered options\r\ngenerateRegisterOptions(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.rent_agreement_seen==\"1\"){\r\n control.controls[index].addControl('rent_agreement_registered', new FormControl('', Validators.required));\r\n }\r\n else{\r\n control.controls[index].removeControl('rent_agreement_registered');\r\n // after No\r\n control.controls[index].removeControl('agreement_date');\r\n control.controls[index].removeControl('agreement_no_months');\r\n control.controls[index].removeControl('agreement_expiring_date');\r\n control.controls[index].removeControl('rental_remaining_months');\r\n control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n control.controls[index].removeControl('agreement_security_deposit_amount');\r\n control.controls[index].removeControl('agreement_property_owners_name');\r\n control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n // remove agrement other ownres \r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n }\r\n\r\n}\r\n//genearate if rent agreement yes registered details\r\ngenerateRegisterDetails(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.rent_agreement_registered==\"1\"){\r\n control.controls[index].addControl('agreement_date', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_no_months', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_expiring_date', new FormControl(''));\r\n control.controls[index].addControl('rental_remaining_months', new FormControl(''));\r\n control.controls[index].addControl('agreement_monthly_rent_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_property_owners_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_tenant_lessees_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('differences_loanapplicant_rentagreement', new FormControl(''));\r\n\r\n }\r\n else if(value.rent_agreement_registered==\"0\"){\r\n control.controls[index].addControl('agreement_date', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_no_months', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_expiring_date', new FormControl(''));\r\n control.controls[index].addControl('rental_remaining_months', new FormControl(''));\r\n control.controls[index].addControl('agreement_monthly_rent_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_property_owners_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_tenant_lessees_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('differences_loanapplicant_rentagreement', new FormControl(''));\r\n }\r\n else{\r\n control.controls[index].removeControl('agreement_date');\r\n control.controls[index].removeControl('agreement_no_months');\r\n control.controls[index].removeControl('agreement_expiring_date');\r\n control.controls[index].removeControl('rental_remaining_months');\r\n control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n control.controls[index].removeControl('agreement_security_deposit_amount');\r\n control.controls[index].removeControl('agreement_property_owners_name');\r\n control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n // remove agrement other ownres \r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n\r\n }\r\n\r\n}\r\n\r\n// calculate expiry date\r\n// calculateExpiryDate(e: any,index){\r\n// let control: any = this.rentalForms.controls['property_unit_details'];\r\n// // let getSeletedDate: any=control.value[index].agreement_date ? this.pipe.transform(control.value[index].agreement_date, 'yyyy/MM/dd'): '';\r\n// let getSeletedDate: any='';\r\n// let getEnteredMonth = control.value[index].agreement_no_months > 0 ? control.value[index].agreement_no_months : '0';\r\n// if(getSeletedDate && getEnteredMonth>0){\r\n// let modifySeletedDate:any = new Date(new Date(getSeletedDate).setMonth(new Date(getSeletedDate).getMonth() + Number(getEnteredMonth)));\r\n// modifySeletedDate.setDate(modifySeletedDate.getDate() - 1);\r\n// // let getExpiryDate=this.pipe.transform(modifySeletedDate, 'dd/MM/yyyy');\r\n// let getExpiryDate='';\r\n// control.controls[index].controls['agreement_expiring_date'].setValue(getExpiryDate);\r\n// // calculate remaining month\r\n// if(modifySeletedDate >= new Date()){\r\n// let currentDate:any = new Date();\r\n// // currentDate = this.pipe.transform(currentDate, 'yyyy/MM/dd');\r\n// currentDate = '';\r\n// let remaingMonths;\r\n// remaingMonths = (modifySeletedDate.getFullYear() - new Date().getFullYear()) * 12;\r\n// remaingMonths += modifySeletedDate.getMonth() - new Date().getMonth();\r\n// control.controls[index].controls['rental_remaining_months'].setValue(remaingMonths);\r\n// }\r\n// else{\r\n// control.controls[index].controls['rental_remaining_months'].setValue(0);\r\n// }\r\n// }\r\n// else {\r\n// control.controls[index].controls['agreement_expiring_date'].setValue('');\r\n// control.controls[index].controls['rental_remaining_months'].setValue('');\r\n\r\n// }\r\n\r\n// } \r\n\r\ncalculateExpiryDate(e: any,index){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n let getSeletedDate: any=control.value[index].agreement_date ? this.pipe.transform(control.value[index].agreement_date, 'yyyy/MM/dd'): '';\r\n let getEnteredMonth = control.value[index].agreement_no_months > 0 ? control.value[index].agreement_no_months : '0';\r\n if(getSeletedDate && getEnteredMonth>0){\r\n let modifySeletedDate:any = new Date(new Date(getSeletedDate).setMonth(new Date(getSeletedDate).getMonth() + Number(getEnteredMonth)));\r\n modifySeletedDate.setDate(modifySeletedDate.getDate() - 1);\r\n let getExpiryDate=this.pipe.transform(modifySeletedDate, 'dd/MM/yyyy');\r\n console.log('getExpiryDate',getExpiryDate);\r\n control.controls[index].controls['agreement_expiring_date'].setValue(getExpiryDate);\r\n // calculate remaining month\r\n if(modifySeletedDate >= new Date()){\r\n let currentDate:any = new Date();\r\n currentDate = this.pipe.transform(currentDate, 'yyyy/MM/dd');\r\n let remaingMonths;\r\n remaingMonths = (modifySeletedDate.getFullYear() - new Date().getFullYear()) * 12;\r\n remaingMonths += modifySeletedDate.getMonth() - new Date().getMonth();\r\n console.log('remaingMonths',remaingMonths);\r\n control.controls[index].controls['rental_remaining_months'].setValue(remaingMonths);\r\n }\r\n else{\r\n control.controls[index].controls['rental_remaining_months'].setValue(0);\r\n }\r\n }\r\n else {\r\n control.controls[index].controls['agreement_expiring_date'].setValue('');\r\n control.controls[index].controls['rental_remaining_months'].setValue('');\r\n\r\n }\r\n\r\n} \r\n\r\n// generate other owners as per rent agreement\r\ngenerateAgreementOtherOwners(value:any,index:number) {\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value && value.length>0){\r\n let otherOwnerCheck = value.filter(fVal=>fVal.id==0);\r\n otherOwnerCheck.length>0 ? control.controls[index].addControl('agreement_property_owner_other', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other');\r\n otherOwnerCheck.length>0 ? control.controls[index].addControl('agreement_property_owner_other_relationship', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n otherOwnerCheck.length>0 ? control.controls[index].addControl('agreement_property_owner_other_relation_to', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n\r\n }\r\n else {\r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n }\r\n}\r\n\r\n// validate agreement amount\r\nvalidateAgreementAmt(actualRent:number,agreementRent:number){\r\n if(actualRent>0 && agreementRent>0){\r\n return (actualRent >= agreementRent) ? Number(actualRent) - Number(agreementRent) : Number(agreementRent) - Number(actualRent);\r\n }\r\n else{\r\n return \"0\";\r\n }\r\n\r\n}\r\n \r\n// generate tenant met details\r\ngenerateTenantMetDetails(value: any, index: number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n \r\n if(value.met_tenant_lessees_options==\"1\"){\r\n // remove reason \r\n control.controls[index].removeControl('name_tenant_lessees_reason_per_met');\r\n \r\n control.controls[index].addControl('name_tenant_lessees_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('property_owner_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('paid_monthly_rent_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('period_of_stay_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('payment_mode_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('payment_difference_per_met', new FormControl(''));\r\n \r\n\r\n }\r\n else{\r\n control.controls[index].removeControl('name_tenant_lessees_per_met');\r\n control.controls[index].removeControl('property_owner_per_met');\r\n control.controls[index].removeControl('paid_monthly_rent_per_met');\r\n control.controls[index].removeControl('period_of_stay_per_met');\r\n control.controls[index].removeControl('payment_mode_per_met');\r\n control.controls[index].removeControl('payment_difference_per_met');\r\n\r\n\r\n // remove other owner details\r\n control.controls[index].removeControl('property_owner_other_per_met');\r\n control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n // remove paymnet options\r\n control.controls[index].removeControl('amount_received_cash_per_met');\r\n control.controls[index].removeControl('amount_received_bank_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n // add reason\r\n control.controls[index].addControl('name_tenant_lessees_reason_per_met', new FormControl('', Validators.required));\r\n\r\n\r\n }\r\n}\r\n\r\n// generate met others owner\r\ngenerateMetOtherOwners(value: any, index: number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.property_owner_per_met.length>0){\r\n let otherCheck: any = value.property_owner_per_met.filter(fVal=>fVal.id==0);\r\n otherCheck.length >0 ? control.controls[index].addControl('property_owner_other_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_per_met');\r\n otherCheck.length >0 ? control.controls[index].addControl('property_owner_other_relationship_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n otherCheck.length >0 ? control.controls[index].addControl('property_owner_other_relation_to_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n\r\n}\r\nelse {\r\n control.controls[index].removeControl('property_owner_other_per_met');\r\n control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n\r\n}\r\n\r\n}\r\n\r\n// generate floor rows\r\ngenerateFloor(e:any): void{\r\n let control = this.rentalForms.controls['multistoried_building_details'];\r\n if(e.target.value && Math.round(e.target.value)!=0){\r\n \r\n if(Math.round(e.target.value) > this.rentalForms.value.multistoried_building_details.length){\r\n let rowValue = Math.round(e.target.value)-this.rentalForms.value.multistoried_building_details.length;\r\n for(let i=rowValue;i>0;i--){\r\n control.push(this.createFloorDetails(''));\r\n }\r\n }\r\n else if(Math.round(e.target.value) < this.rentalForms.value.multistoried_building_details.length){\r\n let rowValue = this.rentalForms.value.multistoried_building_details.length-Math.round(e.target.value);\r\n for(let i=rowValue;i>0;i--){\r\n control.removeAt(this.rentalForms.value.multistoried_building_details.length-1);\r\n }\r\n }\r\n }\r\n else if(e.target.value && Math.round(e.target.value)==0){\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n else{\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n e.stopPropagation();\r\n}\r\n\r\n// create floor details\r\ncreateFloorDetails(details){\r\n if(details){\r\n return this.fb.group({\r\n floor_level: [this.rentalForms.value.multistoried_building_details.length==0 ? 'Ground Floor' : this.rentalForms.value.multistoried_building_details.length+' Floor', Validators.compose([Validators.required])],\r\n no_units_in_floor: ['', Validators.compose([Validators.required])],\r\n unit_rent_difference_options : ['', Validators.compose([Validators.required])], \r\n floor_unit_details : this.fb.array([]),\r\n floor_rent_amount: [''],\r\n });\r\n }\r\n else{\r\n return this.fb.group({\r\n floor_level: [this.rentalForms.value.multistoried_building_details.length==0 ? 'Ground Floor' : this.rentalForms.value.multistoried_building_details.length+' Floor', Validators.compose([Validators.required])],\r\n no_units_in_floor: ['', Validators.compose([Validators.required])],\r\n unit_rent_difference_options : ['', Validators.compose([Validators.required])],\r\n floor_unit_details : this.fb.array([]),\r\n floor_rent_amount: [''],\r\n });\r\n }\r\n\r\n}\r\n\r\n// generate floor unit details\r\ngenerateFloorUnit(values:any, index:number){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n control = control.controls[index];\r\n control= control.controls['floor_unit_details'];\r\n if(values.no_units_in_floor>0 && values.unit_rent_difference_options==\"0\"){\r\n if(Math.round(values.no_units_in_floor) > control.value.length){\r\n let rowValue = Math.round(values.no_units_in_floor)-control.value.length;\r\n for(let i=rowValue;i>0;i--){\r\n control.push(this.createFloorUnitDetails(2));\r\n }\r\n }\r\n else if(Math.round(values.no_units_in_floor) < control.value.length){\r\n let rowValue = control.value.length-Math.round(values.no_units_in_floor);\r\n for(let i=rowValue;i>0;i--){\r\n control.removeAt(control.value.length-1);\r\n }\r\n }\r\n else if(Math.round(values.no_units_in_floor)==0){\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n else{\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n this.calculateFloorRentAmt(values,index);\r\n \r\n }\r\n else if(values.no_units_in_floor>0 && values.unit_rent_difference_options==\"1\") {\r\n control.controls = [];\r\n control.setValue([]); \r\n control.push(this.createFloorUnitDetails(1));\r\n this.calculateFloorRentAmt(values,index);\r\n }\r\n else {\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n\r\n}\r\n\r\n// create floor unit details\r\ncreateFloorUnitDetails(type:number){\r\n if(type==1){\r\n return this.fb.group({\r\n rent_per_unit: ['', Validators.compose([Validators.required])],\r\n amount: [''],\r\n });\r\n }\r\n else if(type==2){\r\n return this.fb.group({\r\n rent_per_unit: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n}\r\n// calculate floor rent amount\r\ncalculateFloorRentAmt(values: any, index: number){\r\n // this.inWords(values,index,1);\r\n if(values.unit_rent_difference_options==\"1\"){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n let unitcontrol = control.controls[index];\r\n unitcontrol= unitcontrol.controls['floor_unit_details'];\r\n if(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit>0 && values.no_units_in_floor>0){\r\n unitcontrol.controls[unitcontrol.value.length-1].controls['amount'].setValue(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor);\r\n this.inWords(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor,index,2);\r\n control.controls[index].controls['floor_rent_amount'].setValue(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor);\r\n this.inWords(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor,index,4);\r\n }\r\n else{\r\n unitcontrol.controls[unitcontrol.value.length-1].controls['amount'].setValue('');\r\n control.controls[index].controls['floor_rent_amount'].setValue('');\r\n\r\n }\r\n }\r\n else if(values.unit_rent_difference_options==\"0\"){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n let unitcontrol = control.controls[index];\r\n unitcontrol= unitcontrol.controls['floor_unit_details'];\r\n // console.log(unitcontrol)\r\n let getunitValues = unitcontrol.value.filter(val=>val.rent_per_unit!='');\r\n if(getunitValues.length>0){\r\n control.controls[index].controls['floor_rent_amount'].setValue(getunitValues.map(mval=>mval.rent_per_unit).reduce((acc, val) => Number(acc) + Number(val), 0));\r\n this.inWords(getunitValues.map(mval=>mval.rent_per_unit).reduce((acc, val) => Number(acc) + Number(val)),index,4);\r\n }\r\n else{\r\n control.controls[index].controls['floor_rent_amount'].setValue('');\r\n\r\n }\r\n }\r\n\r\n}\r\n\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\ncompareSingleObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id)\r\n return true;\r\n else return false\r\n}\r\n // createTenantsDetails()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // name:[null,Validators.compose([Validators.required])],\r\n // mobile_no:[null,Validators.compose([Validators.required])],\r\n // tenants_seen:[null,Validators.compose([Validators.required])],\r\n // tenants_con_owner:[null,Validators.compose([Validators.required])],\r\n // rent_paid:[null,Validators.compose([Validators.required])],\r\n // staying_since:[null,Validators.compose([Validators.required])],\r\n \r\n // });\r\n // }\r\n\r\n // addrentalHome()\r\n // {\r\n // const control = this.rentalForms.get('rental_home') as FormArray;\r\n // control.push(this.createrentalHome());\r\n // this.addTenantsDetails(0);\r\n // }\r\n\r\n // addTenantsDetails(i)\r\n // {\r\n // const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\r\n \r\n // // control.controls.splice(0);\r\n // control.push(this.createTenantsDetails());\r\n\r\n // }\r\n\r\n // deleteTenantsDetails(rentIndex,TenantsIndex)\r\n // {\r\n // const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\r\n \r\n // control.removeAt(TenantsIndex);\r\n // }\r\n\r\n // deleterentalHome(i)\r\n // {\r\n // const control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n // if(control.length==1)\r\n // {\r\n // this.rentalForms.controls['rental_home'].reset();\r\n // }else\r\n // {\r\n // control.removeAt(i);\r\n // }\r\n // }\r\n saveAlert(answerData){\r\n let ApplicantRentAmt : any ; \r\n let TenantRentAmt : any ; \r\n let FloorsTotalRentAmt : any ; \r\n\r\n let TempArray1 : any = [];\r\n let TempArray2 : any = [];\r\n let TempArray3 : any = [];\r\n\r\n let TextMessage :any;\r\n\r\n if(answerData.property_unit_details.length > 0){\r\n \r\n answerData.property_unit_details.forEach((data,index) => {\r\n TempArray1[index] = data.monthly_rent_amount;\r\n ApplicantRentAmt = TempArray1.reduce((sum, val) => sum + +val, 0);\r\n TempArray2[index] = data.paid_monthly_rent_per_met;\r\n TenantRentAmt = TempArray2.reduce((sum, val) => sum + +val, 0);\r\n })\r\n TextMessage = 'Monthly Rent as Per Loan Applicant =' + ApplicantRentAmt+'
'; \r\n }\r\n\r\n \r\n if(answerData.multistoried_building_details.length > 0){\r\n answerData.multistoried_building_details.forEach((val,index) => {\r\n TempArray3[index] = val.floor_rent_amount;\r\n FloorsTotalRentAmt = TempArray3.reduce((sum, val) => sum + +val, 0);\r\n });\r\n TextMessage = TextMessage +'Rent amount calculated = '+FloorsTotalRentAmt;\r\n }\r\n else{\r\n TextMessage = TextMessage +'Monthly Rent amount as Per Tenant met = '+TenantRentAmt;\r\n }\r\n \r\n let alert=this.alertCtrl.create({\r\n title:'Confirm The Rent Amount',\r\n message:TextMessage,\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Confirm',\r\n handler:()=>{\r\n this.saveRentalDetails(answerData)\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n saveRentalDetails(answerData) {\r\n \r\n console.log('answerData',answerData);\r\n \r\n delete answerData.stateSearch;\r\n delete answerData.citySearch;\r\n delete answerData.pincodeSearch;\r\n answerData.fk_createdby = this.users;\r\n\r\n console.log('answerData',answerData);\r\n\r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.rentalForms.reset(this.rentalForms.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n }\r\n\r\n// s(answerData)\r\n// {\r\n// let records:any={}\r\n \r\n \r\n// // if(this.rentalForms.valid){\r\n// records.pdid = this.pdDetails.pd_id;\r\n// records.formid = this.FormId.form_id;\r\n// records.fk_createdby = this.users;\r\n// records.person_met = answerData.person_met;\r\n// records.property_own = answerData.property_own;\r\n// records.nature_property = answerData.nature_property;\r\n// if(answerData.nature_property=='others')\r\n// {\r\n// records.nature_others = answerData.nature_others\r\n// }\r\n// records.rental_home = answerData.rental_home;\r\n// Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\r\n\r\n// this.qustCat.saveForm(records).subscribe(res=>\r\n// { \r\n// if(res['dataStatus']==true)\r\n// {\r\n// this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n// setTimeout(()=>{\r\n// this.navCtrl.pop();\r\n// },2000);\r\n// }\r\n// })\r\n// // }else\r\n// // {\r\n// // this.toast.pdTriggerappmessage('Enter All Field');\r\n// // }\r\n// }\r\n\r\n getRentalDetails()\r\n {\r\n\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n \r\n \r\n \r\n this.qustCat.retiverForm(records).subscribe(res=> {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n let rentalDetails = res['records'];\r\n rentalDetails.pdid = this.pdDetails.pd_id,\r\n rentalDetails.formid = this.FormId.form_id;\r\n rentalDetails.other_name_person_type ? this.rentalForms.addControl('other_name_person_type', new FormControl('', Validators.required)): this.rentalForms.removeControl('other_name_person_type');\r\n rentalDetails.other_sighted_documents ? this.rentalForms.addControl('other_sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_sighted_documents');\r\n // this.rentalForms.addControl('stateSearch', new FormControl(''));\r\n // this.rentalForms.addControl('citySearch', new FormControl(''));\r\n // this.rentalForms.addControl('pincodeSearch', new FormControl(''));\r\n rentalDetails.stateSearch = '';\r\n rentalDetails.citySearch = '';\r\n rentalDetails.pincodeSearch = '';\r\n //get Multistoried Building Details\r\n if(res['records'].multistoried_building_details){\r\n let selectedMultistoriedBuilding = Object.keys(res['records'].multistoried_building_details).map(function (key) {\r\n return res['records'].multistoried_building_details[key];\r\n });\r\n\r\n if(selectedMultistoriedBuilding.length>0){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n selectedMultistoriedBuilding.forEach((floorElement,floorIndex)=>{\r\n control.push(this.createFloorDetails(''));\r\n let unitControl = control.controls[floorIndex];\r\n unitControl= unitControl.controls['floor_unit_details'];\r\n let floor_rent_amount_val;\r\n floorElement.floor_unit_details.forEach((unitElement,unitIndex) => {\r\n floorElement.unit_rent_difference_options==\"0\" ? unitControl.push(this.createFloorUnitDetails(2)) : unitControl.push(this.createFloorUnitDetails(1));\r\n console.log(\"rent per unit\",unitElement.rent_per_unit);\r\n if(floorElement.unit_rent_difference_options == \"1\"){\r\n console.log(\"check\",unitElement.rent_per_unit)\r\n if(unitElement.rent_per_unit !=''){\r\n this.inWords(unitElement.rent_per_unit,unitIndex,1)\r\n }\r\n if(unitElement.amount!=''){\r\n this.inWords(unitElement.amount,floorIndex,2)\r\n }\r\n }\r\n else if(floorElement.unit_rent_difference_options==\"0\"){\r\n if(unitElement.rent_per_unit!=''){\r\n //floor_rent_amount_val+=unitElement.rent_per_unit\r\n }\r\n this.inWords(floorElement.floor_rent_amount,floorIndex,4)\r\n }\r\n });\r\n // this.inWords(floor_rent_amount_val,floorIndex,4)\r\n });\r\n }\r\n } \r\n\r\n // get property unit details\r\n if(rentalDetails.property_unit_details){\r\n let selectedUnitDetails = Object.keys(rentalDetails.property_unit_details).map(function (key) {\r\n return rentalDetails.property_unit_details[key];\r\n });\r\n if(selectedUnitDetails.length>0){\r\n selectedUnitDetails.forEach((element,index) => {\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n control.push(this.createUnitDetails(''));\r\n \r\n (element.name_tenant_lessees && element.tenant_lessees_options==\"1\") ? control.controls[index].addControl('name_tenant_lessees', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees');\r\n (element.name_tenant_lessees_reason && element.tenant_lessees_options==\"0\") ? control.controls[index].addControl('name_tenant_lessees_reason', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees_reason');\r\n // for payment options\r\n element.amount_received_cash ? control.controls[index].addControl('amount_received_cash', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_cash');\r\n element.amount_received_bank ? control.controls[index].addControl('amount_received_bank', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_bank');\r\n element.payment_received_reason ? control.controls[index].addControl('payment_received_reason', new FormControl('', Validators.required)) : control.controls[index].removeControl('payment_received_reason');\r\n \r\n // unit of other measurement \r\n element.other_unit_measurement ? control.controls[index].addControl('other_unit_measurement', new FormControl('', Validators.required)) : control.controls[index].removeControl('other_unit_measurement');\r\n // rent agreement seen\r\n element.rent_agreement_seen ? control.controls[index].addControl('rent_agreement_seen', new FormControl('', Validators.required)) : control.controls[index].removeControl('rent_agreement_seen');\r\n element.rent_agreement_registered ? control.controls[index].addControl('rent_agreement_registered', new FormControl('', Validators.required)) : control.controls[index].removeControl('rent_agreement_registered');\r\n element.agreement_date ? control.controls[index].addControl('agreement_date', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_date');\r\n element.agreement_no_months ? control.controls[index].addControl('agreement_no_months', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_no_months');\r\n element.agreement_expiring_date ? control.controls[index].addControl('agreement_expiring_date', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_expiring_date');\r\n (element.rental_remaining_months=='' || element.rental_remaining_months>=0) ? control.controls[index].addControl('rental_remaining_months', new FormControl('', Validators.required)) : control.controls[index].removeControl('rental_remaining_months');\r\n element.agreement_monthly_rent_amount ? control.controls[index].addControl('agreement_monthly_rent_amount', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n element.agreement_security_deposit_amount ? control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_security_deposit_amount');\r\n element.differences_loanapplicant_rentagreement ? control.controls[index].addControl('differences_loanapplicant_rentagreement', new FormControl('', Validators.required)) : control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n \r\n //agreement owners\r\n element.agreement_property_owners_name ? control.controls[index].addControl('agreement_property_owners_name', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owners_name');\r\n element.agreement_property_owner_other ? control.controls[index].addControl('agreement_property_owner_other', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other');\r\n element.agreement_property_owner_other_relationship ? control.controls[index].addControl('agreement_property_owner_other_relationship', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n element.agreement_property_owner_other_relation_to ? control.controls[index].addControl('agreement_property_owner_other_relation_to', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n \r\n // name of tenant/lessess as agreement\r\n element.agreement_tenant_lessees_name ? control.controls[index].addControl('agreement_tenant_lessees_name', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n \r\n //met tenant details\r\n element.name_tenant_lessees_per_met ? control.controls[index].addControl('name_tenant_lessees_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees_per_met');\r\n element.name_tenant_lessees_reason_per_met ? control.controls[index].addControl('name_tenant_lessees_reason_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees_reason_per_met');\r\n element.property_owner_per_met ? control.controls[index].addControl('property_owner_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_per_met');\r\n element.property_owner_other_per_met ? control.controls[index].addControl('property_owner_other_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_per_met');\r\n element.property_owner_other_relationship_per_met ? control.controls[index].addControl('property_owner_other_relationship_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n element.property_owner_other_relation_to_per_met ? control.controls[index].addControl('property_owner_other_relation_to_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n \r\n // tennat payment\r\n \r\n \r\n // element.payment_difference_per_met=''\r\n // control.controls[index].addControl('payment_difference_per_met',new FormControl(''))\r\n console.log(\"payment\",element);\r\n element.paid_monthly_rent_per_met ? control.controls[index].addControl('paid_monthly_rent_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('paid_monthly_rent_per_met');\r\n element.period_of_stay_per_met ? control.controls[index].addControl('period_of_stay_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('period_of_stay_per_met');\r\n element.payment_mode_per_met ? control.controls[index].addControl('payment_mode_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('payment_mode_per_met');\r\n element.amount_received_cash_per_met ? control.controls[index].addControl('amount_received_cash_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_cash_per_met');\r\n element.amount_received_bank_per_met ? control.controls[index].addControl('amount_received_bank_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_bank_per_met');\r\n element.payment_received_reason_per_met ? control.controls[index].addControl('payment_received_reason_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('payment_received_reason_per_met');\r\n if( element.payment_difference_per_met =='' || element.payment_difference_per_met !='') { control.controls[index].addControl('payment_difference_per_met', new FormControl('')) }\r\n // control.controls[index].removeControl('payment_difference_per_met');\r\n this.inWords(element.monthly_rent_amount != '' ? +element.monthly_rent_amount : '',index,5);\r\n this.inWords(element.amount_received_cash != '' ? +element.amount_received_cash : '',index,6);\r\n this.inWords(element.amount_received_bank != '' ? +element.amount_received_bank : '',index,7);\r\n this.inWords(element.securtity_deposit_amount != '' ? +element.securtity_deposit_amount : '',index,8);\r\n this.inWords(element.agreement_monthly_rent_amount != '' ? +element.agreement_monthly_rent_amount : '',index,9);\r\n this.inWords(element.agreement_security_deposit_amount != '' ? +element.agreement_security_deposit_amount :'',index,10);\r\n this.inWords(element.paid_monthly_rent_per_met != '' ? +element.paid_monthly_rent_per_met : '',index,11);\r\n this.inWords(element.amount_received_cash_per_met != '' ? +element.amount_received_cash_per_met : '',index,12);\r\n this.inWords(element.amount_received_bank_per_met != '' ? +element.amount_received_bank_per_met : '',index,13);\r\n\r\n });\r\n }\r\n }\r\n this.rentalForms.patchValue(rentalDetails);\r\n }\r\n else{\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n control.push(this.createUnitDetails(''));\r\n \r\n }\r\n \r\n \r\n });\r\n \r\n // this.qustCat.retiverForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // let rentalDetails = res['records'];\r\n // var rentalData = Object.keys(res['records'].rental_home\r\n // ).map(function(key) {\r\n // return res['records'].rental_home\r\n // [key];\r\n\r\n // });\r\n // var tanantsData = [];\r\n // var control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n // var tanantscontrol; \r\n // rentalData.forEach((val,index)=>\r\n // {\r\n \r\n // // this.addrentalHome();\r\n // // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\r\n // // {\r\n \r\n \r\n // // return val.details_tenants[key];\r\n // // }));\r\n // rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\r\n // {\r\n \r\n \r\n // return val.details_tenants[key];\r\n // });\r\n // // control.push(this.createrentalHome()); \r\n // tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \r\n \r\n // rentalData[index].details_tenants.forEach((val,key)=>\r\n // {\r\n // //rentalData[index].details_tenants = val;\r\n \r\n // // rentalData[index].details_tenants = [key];\r\n // // tanantscontrol.push(this.createTenantsDetails());\r\n // });\r\n \r\n // // control[index].details_tenants =tanantscontrol; \r\n // });\r\n // this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\r\n // this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\r\n // this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\r\n // if(rentalDetails.nature_property=='others'){\r\n // this.rentalForms.controls['nature_others'].\r\n // setValue(rentalDetails.nature_others);\r\n // }\r\n \r\n // this.rentalForms.controls['rental_home'].setValue(rentalData); \r\n // }else\r\n // {\r\n // // this.addrentalHome();\r\n // // this.addTenantsDetails(0);\r\n // }\r\n // })\r\n }\r\n // createTenantsDetailswithData(index,data)\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // name:[data.name],\r\n // mobile_no:[data.mobile_no],\r\n // tenants_seen:[data.tenants_seen],\r\n // tenants_con_owner:[data.tenants_con_owner],\r\n // rent_paid:[data.rent_paid],\r\n // staying_since:[data.staying_since]\r\n // });\r\n // }\r\n\r\n inWords(e,i,flag){\r\n // console.log(e,i,flag);\r\n switch(flag){\r\n case 1 : \r\n this.rent_per_unit_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 2 :\r\n this.amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 3 :\r\n // this.rent_per_unit_2_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 4 :\r\n this.floor_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 5 : \r\n this.monthly_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 6 :\r\n this.amount_received_cash_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 7 :\r\n this.amount_received_bank_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 8 :\r\n this.securtity_deposit_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 9 : \r\n this.agreement_monthly_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 10:\r\n this.agreement_security_deposit_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 11 :\r\n this.paid_monthly_rent_per_met_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 12 :\r\n this.amount_received_cash_per_met_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 13 :\r\n this.amount_received_bank_per_met_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n }\r\n }\r\n\r\n inWordsmultiple(e,i,j,flag){\r\n // console.log(e,i,j,flag); \r\n return this.constprovider.convertNumberToWords(e);\r\n }\r\n validateAllFormFields(formGroup: any) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n \r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control);\r\n } else if (control instanceof FormArray) { \r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n\r\n // generate payment dynamic fields\r\n\r\nValidatedRentAmount(value:any,index:number,type: number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n console.log(\"validated\",value);\r\n if(type==1){\r\n if(value && value.payment_mode.id==3){\r\n let ChildCtrl : any = control.controls[index]; \r\n ChildCtrl.controls['amount_received_bank'].clearValidators();\r\n ChildCtrl.controls['amount_received_bank'].updateValueAndValidity();\r\n ChildCtrl.controls['amount_received_cash'].clearValidators();; \r\n ChildCtrl.controls['amount_received_cash'].updateValueAndValidity();\r\n let monthlyrentamt : any = value.monthly_rent_amount ; \r\n \r\n\r\n if(monthlyrentamt != ''){\r\n \r\n let bank_amount = value.amount_received_bank;\r\n\r\n ChildCtrl.controls['amount_received_bank'].setValidators([Validators.required,Validators.max(monthlyrentamt),Validators.min(0)]); \r\n ChildCtrl.controls['amount_received_bank'].updateValueAndValidity();\r\n let maxamt = monthlyrentamt-bank_amount\r\n if(maxamt >= 0 ){\r\n ChildCtrl.controls['amount_received_cash'].setValue();\r\n ChildCtrl.controls['amount_received_cash'].setValidators([Validators.required,Validators.max(monthlyrentamt-bank_amount),Validators.min(monthlyrentamt-bank_amount)]); \r\n this.inWords(maxamt,index,8)\r\n }\r\n else{\r\n ChildCtrl.controls['amount_received_cash'].setValue(0);\r\n ChildCtrl.controls['amount_received_cash'].setValidators([Validators.max(0),Validators.min(0)]); \r\n }\r\n ChildCtrl.controls['amount_received_cash'].updateValueAndValidity();\r\n \r\n }\r\n }\r\n }\r\n if(type==2){\r\n \r\n if(value && value.payment_mode_per_met.id==3){\r\n let ChildCtrl : any = control.controls[index]; \r\n ChildCtrl.controls['amount_received_bank_per_met'].clearValidators();\r\n ChildCtrl.controls['amount_received_bank_per_met'].updateValueAndValidity();\r\n ChildCtrl.controls['amount_received_cash_per_met'].clearValidators();; \r\n ChildCtrl.controls['amount_received_cash_per_met'].updateValueAndValidity();\r\n let paidmonthlyrentamt : any = value.paid_monthly_rent_per_met; \r\n \r\n\r\n if(paidmonthlyrentamt != ''){\r\n \r\n let bank_amount = value.amount_received_bank_per_met;\r\n ChildCtrl.controls['amount_received_bank_per_met'].setValidators([Validators.required,Validators.max(paidmonthlyrentamt),Validators.min(0)]); \r\n ChildCtrl.controls['amount_received_bank_per_met'].updateValueAndValidity();\r\n let remainingAmt = paidmonthlyrentamt-bank_amount\r\n console.log(\"paid monthly\",paidmonthlyrentamt);\r\n console.log(\"remaining\",remainingAmt)\r\n if(remainingAmt >= 0 ){\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValue(remainingAmt);\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValidators([Validators.required,Validators.max(paidmonthlyrentamt-bank_amount),Validators.min(paidmonthlyrentamt-bank_amount)]); \r\n this.inWords(remainingAmt,index,12)\r\n }\r\n else{\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValue(0);\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValidators([Validators.max(0),Validators.min(0)]); \r\n }\r\n ChildCtrl.controls['amount_received_cash_per_met'].updateValueAndValidity();\r\n }\r\n }\r\n \r\n }\r\n}\r\n\r\nforSearchableDropdown(val:any,Flag:any){\r\n // val=val.controls['relationSearch'].value\r\n console.log(\"val\",val,'Flag',Flag);\r\n switch(Flag){\r\n case 'state' : \r\n console.log(\"val\",val.controls['stateSearch'].value,'Flag',Flag,'1');\r\n val.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.stateList=this.constprovider.searchData(this.stateData,val.controls['stateSearch'].value,Flag)\r\n }); break;\r\n case 'city' : \r\n console.log(\"val\",val.controls['citySearch'].value,'Flag',Flag,'2');\r\n val.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.cityList =this.constprovider.searchData(this.cityData,val.controls['citySearch'].value,Flag)\r\n }); break;\r\n case 'pin' : \r\n console.log(\"val\",val.controls['pincodeSearch'].value,'Flag',Flag,'3');\r\n val.controls['pincodeSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.pincodeList =this.constprovider.searchData(this.pincodeData,val.controls['pincodeSearch'].value,Flag)\r\n }); break;\r\n }\r\n}\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\n\r\nchangeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\nthis.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n},error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n})\r\nthis.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionSupplsierInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-supplier-info',\r\n templateUrl: 'pd-question-supplier-info.html',\r\n})\r\n\r\nexport class PdQuestionSupplierInfoPage {\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n company_id: any;\r\n form_id: any;\r\n questionDetails: any;\r\n supplierInfoForm: FormGroup;\r\n\r\n business_manufacturingProducts: any = [];\r\n business_tradingProducts: any = [];\r\n m_titleList: any = [];\r\n m_paymentList: any = [];\r\n m_companyRelationShipList: any = [];\r\n\r\n noRecordsFound: Boolean = false;\r\n public submitted = false;\r\n errorMessage: any = '';\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder,\r\n public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider,\r\n public toast: ToastProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider) \r\n {\r\n\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id = this.pdDetails.company_id;\r\n this.users = this.aws.getlocale();\r\n\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropList();\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\r\n this.getPDImages();\r\n }\r\n\r\n\r\n serviceProviderForm: Boolean = false;\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdDetails.pd_id;\r\n params.pd_form_id = this.form_id;\r\n params.company_id = this.company_id;\r\n\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus'] == true) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n if (dataForm.manufacturing_details[0] != null) {\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\r\n }\r\n else {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null)\r\n }\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n if (dataForm.trade_details[0] != null) {\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n this.initTradingProductsDetails(api_trading_products);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\r\n }\r\n else {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n } \r\n this.noRecordsFound = true;\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trading_products_total_payments_percent_on_credit || null);\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [''],\r\n manufacturing_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: [''],\r\n manufacturing_frequency_of_purchase: [''],\r\n person_stdcode: [''],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [''],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\r\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\r\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\r\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\r\n person_stdcode: [records.person_stdcode || null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline || null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n person_title_name: [records.person_title_name],\r\n person_designation: [records.person_designation],\r\n other_person_designation: [records.other_person_designation],\r\n trade_supplier_name: [records.trade_supplier_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\r\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [records.person_stdcode],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.m_companyRelationShipList = data['records']\r\n //.filter(data => data.isactive == 1); \r\n // because in general no need of \"other\" option but in supplier others option needed - in DB others option changed into inactive\"\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n\r\n saveSupplierInfo(FormValues) {\r\n\r\n var answerFormValues = FormValues;\r\n\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.supplierInfoForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(() => {\r\n this.navCtrl.pop();\r\n }, 2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n e == 1 ? '' : '';\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n e == 1 ? '' : '';\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n checkCard(e, flag, index) {\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n }\r\n\r\n selectedPaymentTerms(items, e, flag) {\r\n if (flag == 2) {\r\n if (e == 3) {\r\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\r\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['trade_product_credit_days_from'].clearValidators();\r\n items.controls['trade_product_credit_days_from'].setValue('');\r\n items.controls['trade_product_credit_days_to'].clearValidators();\r\n items.controls['trade_product_credit_days_to'].setValue('');\r\n }\r\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\r\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\r\n }\r\n else if (flag == 1) {\r\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\r\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['manufacturing_credit_days_from'].clearValidators();\r\n items.controls['manufacturing_credit_days_from'].setValue('');\r\n items.controls['manufacturing_credit_days_to'].clearValidators();\r\n items.controls['manufacturing_credit_days_to'].setValue('');\r\n }\r\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\r\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionStockInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-stock-info',\r\n templateUrl: 'pd-question-stock-info.html',\r\n})\r\nexport class PdQuestionStockInfoPage {\r\n\r\n uomData: any;\r\n uomDataValue:any;\r\n rawmaterial: any;\r\n users: any;\r\n formDetails: any;\r\n pdDetails: any;\r\n company_id: any;\r\n pdid: any;\r\n stockForm: FormGroup;\r\n noRecordsFound: Boolean;\r\n errorMessage: any = '';\r\n M_rawValueInWords: any = [];\r\n M_goodsValueInWords: any = [];\r\n R_tradedGoodsValueInWords: any = [];\r\n T_tradedGoodsValueInWords: any = [];\r\n mrmCommentFlag: any = [];\r\n mfgCommentFlag: any = [];\r\n rtrdCommentFlag: any = [];\r\n wtrdCommentFlag: any = [];\r\n serviceProviderForm: Boolean = false;\r\n suppliers_raw_materials: any = [];\r\n suppliers_retail_trade_details: any = [];\r\n suppliers_wholesale_trade_details: any = [];\r\n suppliers_finished_goods: any = [];\r\n\r\n protected _onDestroy = new Subject();\r\n\r\n RMCommentCard: boolean = false;\r\n TGCommentCard: boolean = false\r\n public RMsufficientList: any = [{value:\"yes\",isdisplayvalue:\"Yes\",disabled:false},{value:\"no\",isdisplayvalue:\"No\",disabled:false},{value:\"not applicable\",isdisplayvalue:\"Stock not required to be maintained\",disabled:false}];\r\n public TGsufficientList: any = [{value:\"yes\",isdisplayvalue:\"Yes\",isdisabled:false},{value:\"no\",isdisplayvalue:\"No\",isdisabled:false},{value:\"not applicable\",isdisplayvalue:\"Stock not required to be maintained\",isdisabled:false}];\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, \r\n public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder, \r\n public constant: ConstantsProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider)\r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.company_id = this.pdDetails.company_id;\r\n this.pdid = this.pdDetails.pd_id; \r\n this.qustCat.stockFormAccess(this.pdid, this.company_id).subscribe(data => {\r\n if (data.dataStatus == true) {\r\n this.initstockForm(data.record);\r\n }\r\n else if (data.dataStatus == false) {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + this.company_id);\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id + '! ....';\r\n return;\r\n }\r\n else {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + this.company_id);\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id + '! ....';\r\n return;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\r\n this.getPDImages();\r\n }\r\n\r\n public initstockForm(record) {\r\n let api = Object.keys(record.from_business).map(function (key) {\r\n return record.from_business[key];\r\n });\r\n if (record.from_business.length > 0) {\r\n let type2 = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let type2length = type2[0].hasOwnProperty(\"products\") ? type2[0].products.length : 0;\r\n let type3 = record.from_business.filter(data => data.type_of_activity_id == 3);\r\n let type3length = type3[0].hasOwnProperty(\"products\") ? type3[0].products.length : 0;\r\n let type4 = record.from_business.filter(data => data.type_of_activity_id == 4);\r\n let type4length = type4[0].hasOwnProperty(\"products\") ? type4[0].products.length : 0;\r\n\r\n\r\n let rm_api = record.from_supplier.hasOwnProperty(\"raw_material\") ? record.from_supplier.raw_material : [];\r\n\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(value => {\r\n if (value['status'] == 200) {\r\n let dataForm = value['records'];\r\n // dataForm.manufacturing_details.forEach(top=>{\r\n // top.manufacturing_finished_goods.forEach(below1=>{\r\n // below1.uomSearch=''\r\n // })\r\n // top.manufacturing_raw_materials.forEach(below2=>{\r\n // below2.uomSearch=''\r\n // })\r\n // })\r\n if (dataForm !== undefined) {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n stock_remarks: [dataForm.stock_remarks],\r\n\r\n // is_sufficiant_raw:[dataForm.is_sufficiant_raw],\r\n // rawmaterial_remarks:[dataForm.rawmaterial_remarks],\r\n is_sufficiant_finished_and_traded_goods: [dataForm.is_sufficiant_finished_and_traded_goods],\r\n finished_and_traded_goods_remarks: [dataForm.finished_and_traded_goods_remarks],\r\n\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record,type2length)]),\r\n retail_details: this.fb.array([this.retailFormCreation(type3length)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if (val.products) {\r\n // if(dataForm.manufacturing_details[0].manufacturing_finished_goods ){this.finishedAndTradedGoodsCommentCard = true;}\r\n let manufacturing_temparr = [];\r\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials;\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw),\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks);\r\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods;\r\n this.initManufacturingDetails(manufacturing_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n let retail_temparr = [];\r\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\r\n\r\n this.initRetailDetails(retail_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n let trading_temparr = [];\r\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\r\n console.log(\"Trade\", trading_temparr)\r\n this.initTradingDetails(trading_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if (val.products) {\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n else {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n stock_remarks: [''],\r\n // is_sufficiant_raw:[''],\r\n // rawmaterial_remarks:[''],\r\n is_sufficiant_finished_and_traded_goods: [''],\r\n finished_and_traded_goods_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record,type2length)]),\r\n retail_details: this.fb.array([this.retailFormCreation(type3length)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_finished_goods = val.products;\r\n this.initManufacturingDetails(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw.value || null),\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks || null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if (val.products) {\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n }\r\n else {\r\n console.log(\"Record\", record)\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n stock_remarks: [''],\r\n\r\n // is_sufficiant_raw:[''],\r\n // rawmaterial_remarks:[''],\r\n is_sufficiant_finished_and_traded_goods: [''],\r\n finished_and_traded_goods_remarks: [''],\r\n\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record,type2length)]),\r\n retail_details: this.fb.array([this.retailFormCreation(type3length)]),\r\n\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_finished_goods = val.products;\r\n this.suppliers_raw_materials = rm_api;\r\n this.initManufacturingDetails(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if (val.products) {\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n })\r\n }\r\n else {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + this.company_id);\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id + '! ....';\r\n return;\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n getdropdown() {\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if (data['dataStatus'] == true) {\r\n this.uomData = data['records'].filter(uom => uom.isactive == 1 && uom.is_land_uom == 0 || uom.is_land_uom == 2);\r\n this.uomDataValue=this.uomData.slice();\r\n }\r\n });\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(record,length) {\r\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let rm_arr = record.from_supplier.hasOwnProperty(\"raw_material\") ? record.from_supplier.raw_material : [];\r\n //console.log(\"Manufacturing \",arr);\r\n //console.log(\"rm_arr\",rm_arr);\r\n if (length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n is_sufficiant_raw: [],\r\n rawmaterial_remarks: [],\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n } else {\r\n return this.fb.group({\r\n is_sufficiant_raw: [],\r\n rawmaterial_remarks: [],\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n // return;\r\n }\r\n }\r\n\r\n retailForm: Boolean = false;\r\n retailFormCreation(val) {\r\n //let arr = val.filter(data => data.type_of_activity_id == 3);\r\n let arr = val\r\n // console.log(\"retail Form \", arr);\r\n if (arr > 0) {\r\n // if(arr.products != undefined){\r\n this.retailForm = true;\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n });\r\n // }else{\r\n // this.retailForm = false;\r\n // return;\r\n // } \r\n } else {\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n });\r\n // return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val\r\n //let arr = val.filter(data => data.type_of_activity_id == 4);\r\n\r\n if (arr > 0) {\r\n\r\n // if(arr.products === undefined){\r\n\r\n // this.tradingForm = false;\r\n // return;\r\n // }\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n });\r\n } else {\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n });\r\n // return;\r\n }\r\n }\r\n\r\n initManufacturingDetails(datas) {\r\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n if (this.suppliers_raw_materials.length > 0) {\r\n this.suppliers_raw_materials.forEach(val => {\r\n let Ref_RawMaterials: any = {\r\n 'raw_name': val,\r\n 'stock_observed': '',\r\n 'raw_quantity': '',\r\n 'raw_uom': '',\r\n 'other_uom': '',\r\n 'raw_value': '',\r\n 'is_sufficiant_raw': '',\r\n 'rawmaterial_remarks': ''\r\n };\r\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials));\r\n });\r\n }\r\n else {\r\n rawMaterial.push(this.createRawmaterial(null));\r\n }\r\n if (this.suppliers_finished_goods.length > 0) {\r\n this.suppliers_finished_goods.forEach(val => {\r\n let Ref_Finished_Goods: any = {\r\n 'goods_name': val,\r\n 'goods_observed': '',\r\n 'goods_quantity': '',\r\n 'goods_uom': '',\r\n 'goods_other_uom': '',\r\n 'goods_value': '',\r\n 'is_sufficiant_goods': '',\r\n 'finishedgoods_remarks': ''\r\n };\r\n finishedGoods.push(this.createGoods(Ref_Finished_Goods));\r\n });\r\n }\r\n else {\r\n finishedGoods.push(this.createGoods(null));\r\n }\r\n } else {\r\n if (datas.manufacturing_raw_materials != undefined) {\r\n datas.manufacturing_raw_materials.forEach((val, index) => {\r\n if (val.raw_value) {\r\n this.inWords(val.raw_value, 1, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_raw,1,index);\r\n this.checkComments(val.stock_observed, 1, index);\r\n rawMaterial.push(this.createRawmaterial(val));\r\n });\r\n }\r\n else {\r\n rawMaterial.push(this.createRawmaterial(null));\r\n }\r\n if (datas.manufacturing_finished_goods != undefined) {\r\n datas.manufacturing_finished_goods.forEach((val, index) => {\r\n if (val.goods_value) {\r\n this.inWords(val.goods_value, 2, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_goods,2,index);\r\n this.checkComments(val.goods_observed, 2, index);\r\n finishedGoods.push(this.createGoods(val));\r\n\r\n });\r\n }\r\n else {\r\n finishedGoods.push(this.createGoods(null));\r\n }\r\n }\r\n }\r\n\r\n createRawmaterial(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n raw_name: [''],\r\n stock_observed: [''],\r\n raw_quantity: [''],\r\n raw_uom: [''],\r\n uomSearch:[null],\r\n other_uom: [''],\r\n raw_value: [''],\r\n is_sufficiant_raw: [''],\r\n rawmaterial_remarks: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n raw_name: [records.raw_name],\r\n stock_observed: [records.stock_observed],\r\n raw_quantity: [records.raw_quantity],\r\n raw_uom: [records.raw_uom],\r\n uomSearch:[null],\r\n other_uom: [records.other_uom],\r\n raw_value: [records.raw_value],\r\n is_sufficiant_raw: [records.is_sufficiant_raw],\r\n rawmaterial_remarks: [records.rawmaterial_remarks]\r\n })\r\n }\r\n }\r\n\r\n initRetailDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n if (datas === null) {\r\n if (this.suppliers_retail_trade_details.length > 0) {\r\n // this.rawMaterialAccess = true;\r\n this.suppliers_retail_trade_details.forEach(val => {\r\n let Ref_Trade_Goods: any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks': ''\r\n };\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n } else {\r\n if (datas.retail_traded_goods !== undefined) {\r\n datas.retail_traded_goods.forEach((val, index) => {\r\n if (val.estimated_traded_goods_value) {\r\n this.inWords(val.estimated_traded_goods_value, 3, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_traded_goods,3,index);\r\n this.checkComments(val.traded_goods_observed, 3, index);\r\n tradedGoods.push(this.createTradedGoods(val));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n }\r\n }\r\n\r\n\r\n createGoods(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n goods_name: [''],\r\n goods_observed: [''],\r\n goods_quantity: [''],\r\n goods_uom: [''],\r\n uomSearch:[null],\r\n goods_other_uom: [''],\r\n goods_value: [''],\r\n is_sufficiant_goods: [''],\r\n finishedgoods_remarks: ['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n goods_name: [records.goods_name],\r\n goods_observed: [records.goods_observed],\r\n goods_quantity: [records.goods_quantity],\r\n goods_uom: [records.goods_uom],\r\n uomSearch:[null],\r\n goods_other_uom: [records.goods_other_uom],\r\n goods_value: [records.goods_value],\r\n is_sufficiant_goods: [records.is_sufficiant_goods],\r\n finishedgoods_remarks: [records.finishedgoods_remarks]\r\n })\r\n }\r\n }\r\n\r\n initTradingDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n if (datas === null) {\r\n if (this.suppliers_wholesale_trade_details.length > 0) {\r\n this.suppliers_wholesale_trade_details.forEach(val => {\r\n let Ref_Trade_Goods: any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks': ''\r\n };\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n\r\n } else {\r\n if (datas.trading_traded_goods !== undefined) {\r\n datas.trading_traded_goods.forEach((val, index) => {\r\n if (val.estimated_traded_goods_value) {\r\n this.inWords(val.estimated_traded_goods_value, 4, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_traded_goods,4,index);\r\n this.checkComments(val.traded_goods_observed, 4, index);\r\n tradedGoods.push(this.createTradedGoods(val));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n }\r\n }\r\n\r\n createTradedGoods(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n traded_goods_name: [''],\r\n traded_goods_observed: [''],\r\n traded_goods_quantity: [''],\r\n traded_goods_uom: [''],\r\n uomSearch:[null],\r\n traded_goods_other_uom: [''],\r\n estimated_traded_goods_value: [''],\r\n is_sufficiant_traded_goods: [''],\r\n traded_goods_remarks: ['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n traded_goods_name: [records.traded_goods_name],\r\n traded_goods_observed: [records.traded_goods_observed],\r\n traded_goods_quantity: [records.traded_goods_quantity],\r\n traded_goods_uom: [records.traded_goods_uom],\r\n uomSearch:[null],\r\n traded_goods_other_uom: [records.traded_goods_other_uom],\r\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\r\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\r\n traded_goods_remarks: [records.traded_goods_remarks]\r\n })\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Raw Material Details */\r\n addRawMaterials(flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.push(this.createRawmaterial(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Raw Material Details */\r\n deleteRawMaterials(index, flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Finished Goods */\r\n addGoods(flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.push(this.createGoods(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Finished Goods */\r\n deleteGoods(index, flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To Add More trade Goods\r\n * Case 2 wholesale Traded -> To Add More trade Goods\r\n */\r\n addTradedGoods(flag) {\r\n switch (flag) {\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To remove trade Goods\r\n * Case 2 wholesale Traded -> To remove trade Goods\r\n */\r\n deleteTradedGoods(index, flag) {\r\n switch (flag) {\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n //const control = this.stockForm.controls['traded_goods'];\r\n\r\n }\r\n\r\n ManufacturingCounterArray: any = [];\r\n FinishedCounterArray: any = [];\r\n RetailCounterArray: any = [];\r\n WholeSaleCounterArray: any = [];\r\n\r\n not_stock_of_rm: any = [];\r\n not_stock_of_fg: any = [];\r\n not_stock_of_tg: any = [];\r\n not_stock_of_ws: any = [];\r\n checkComments(value, flag, index) {\r\n \r\n console.log(value, flag, index);\r\n if (flag == 1) {\r\n \r\n this.ManufacturingCounterArray[index] = value != \"\" ? 1 : 0;\r\n this.not_stock_of_rm[index] = value == \"yes\" ? 1 : 0;\r\n\r\n let RMOverallCount = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n this.RMCommentCard = RMOverallCount > 0 ? true : false;\r\n\r\n let not_stock1 = this.not_stock_of_rm.reduce((sum, val) => sum + +val, 0);\r\n console.log('value',value);\r\n console.log('not_stock1',not_stock1);\r\n if(not_stock1 > 0){ \r\n console.log('not_stock1',not_stock1);\r\n this.RMsufficientList[0].disabled = false;\r\n this.RMsufficientList[2].disabled = true;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('');\r\n }\r\n else if(not_stock1 == 0){ \r\n console.log('0',not_stock1);\r\n this.RMsufficientList[0].disabled = true;\r\n this.RMsufficientList[2].disabled = false;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('not applicable');\r\n }\r\n console.log('this.RMsufficientList',this.RMsufficientList);\r\n }\r\n \r\n if(flag == 2) {\r\n this.FinishedCounterArray[index] = value != \"\" ? 1 : 0\r\n this.not_stock_of_fg[index] = value == \"yes\" ? 1 : 0;\r\n }\r\n if (flag == 3) {\r\n this.RetailCounterArray[index] = value != \"\" ? 1 : 0\r\n this.not_stock_of_tg[index] = value == \"yes\" ? 1 : 0;\r\n }\r\n if (flag == 4) {\r\n this.WholeSaleCounterArray[index] = value != \"\" ? 1 : 0\r\n this.not_stock_of_ws[index] = value == \"yes\" ? 1 : 0;\r\n }\r\n let FGOverallCount = this.FinishedCounterArray.reduce((sum, val) => sum + +val, 0);\r\n let RTGOverallCount = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n let WTGOverallCount = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n let TGOverallCount = FGOverallCount + RTGOverallCount + WTGOverallCount;\r\n this.TGCommentCard = TGOverallCount > 0 ? true : false;\r\n\r\n let not_stock_fg = this.not_stock_of_fg.reduce((sum, val) => sum + +val, 0);\r\n let not_stock_ws = this.not_stock_of_ws.reduce((sum, val) => sum + +val, 0);\r\n let not_stock_tg = this.not_stock_of_tg.reduce((sum, val) => sum + +val, 0);\r\n let not_stock2 = not_stock_fg + not_stock_ws + not_stock_tg;\r\n console.log('not_stock2',not_stock2);\r\n if(not_stock2 > 0){ \r\n console.log('not_stock2',not_stock2);\r\n this.TGsufficientList[0].isdisabled = false;\r\n this.TGsufficientList[2].isdisabled = true;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('');\r\n }\r\n else if(not_stock2 == 0){ \r\n console.log('0',not_stock2);\r\n this.TGsufficientList[0].isdisabled = true;\r\n this.TGsufficientList[2].isdisabled = false;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('not applicable');\r\n }\r\n console.log('Data',this.TGsufficientList);\r\n // else if(not_stock == 0){ \r\n // this.stockForms.controls['is_sufficiant_finished_and_traded_goods'].setValue('');\r\n // }\r\n \r\n }\r\n\r\n\r\n /** To Save/Edited Popup Data */\r\n saveStockInfo(answerFormValues) {\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.stockForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(() => {\r\n this.navCtrl.pop();\r\n }, 2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n }\r\n\r\n inWords(e, flag: number, i) {\r\n switch (flag) {\r\n case 1:\r\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 2:\r\n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 3:\r\n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 4:\r\n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n searchFun(control,index){\r\n console.log(\"control\",control.controls['uomSearch'].value)\r\n control.controls['uomSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.uomDataValue=this.constant.searchData(this.uomData,control.controls['uomSearch'].value,'')\r\n })\r\n \r\n }\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","import { Component,ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\r\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionFinancialInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-financial-info',\r\n templateUrl: 'pd-question-financial-info.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PdQuestionFinancialInfoPage {\r\n \r\n public financialForm: FormGroup;\r\n\r\n pdDetails:any;\r\n FormId:any;\r\n users:any;\r\n company_id:any;\r\n isDisplay:boolean;\r\n customerCommentsFlag:boolean;\r\n FY_annualSalesInwords: any =[]\r\n FY_netProfitAmtInwords: any=[]\r\n FY_netLossAmtInwords: any=[]\r\n AV_annualSalesInwords: any=[]\r\n AV_netProfitAmtInwords: any=[]\r\n AV_netLossAmtInwords: any=[]\r\n AV_netProfitAmtFrmInwords: any=[]\r\n AV_netProfitAmtToInwords: any=[]\r\n AV_netLossAmtFrmInwords: any=[]\r\n AV_netLossAmtToInwords: any=[]\r\n AV_SalesFrmInwords: any=[]\r\n AV_SalesToInwords: any=[]\r\n AV_SalesInwords: any=[];\r\n AV_marginProfitAmtInwords: any=[];\r\n AV_marginLossAmtInwords: any=[];\r\n formDetails: any;\r\n CustSegAbbr:any;\r\n\r\n av : any =[{id:6, name:'Letter of Credit'},\r\n {id:2, name:'Bank Guarantee'},\r\n {id:3, name:'Cash Credit Limit'},\r\n {id:7, name:'OD Limit'},\r\n {id:4, name:'Factoring'},\r\n {id:5, name:'Forfaiting'},\r\n {id:1, name:'Others'}]\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,\r\n public fb:FormBuilder,public cons:ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.FormId = this.formDetails.form_id;\r\n // this.FormId=this.navParams.get('FormId');\r\n this.company_id=this.pdDetails.company_id\r\n this.users=this.aws.getlocale();\r\n let x = this.pdDetails.customer_segment_abbr.split(\"-\");\r\n this.CustSegAbbr=x[1]\r\n \r\n this.initFinancialForm()\r\n // console.log(\"ld\",this.financialForm.controls['estimated_value'])\r\n // if(this.financialForm.controls['estimated_value']['controls'].length>0){\r\n // console.log(this.financialForm.controls['estimated_value']['controls'][0].controls)\r\n // const estime_value=this.financialForm.controls['estimated_value']['controls'][0].controls['estimate_sales_average']\r\n // console.log(estime_value)\r\n // estime_value.valueChanges.subscribe(res=>{\r\n // console.log(\"changes\",res);\r\n // })\r\n//}\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\r\n this.getDetails()\r\n this.getPDImages();\r\n }\r\n\r\n AllCalculation(control,index){\r\n console.log(\"all\",control)\r\n if(control.controls['estimate_profit_or_loss'].value == 1 && control.controls['estimate_net_margin_availablity'].value =='yes'){\r\n if(control.controls['estimate_profit_range_from'].value != '' && control.controls['estimate_profit_range_to'].value != ''){\r\n console.log(\"calculate marginP\")\r\n this.calculateMarginProfit(index,control)\r\n }\r\n }\r\n if(control.controls['estimate_profit_or_loss'].value == 1 && control.controls['estimate_net_margin_availablity'].value =='no'){\r\n if(control.controls['estimate_net_profit_from'].value != '' && control.controls['estimate_net_profit_to'].value != ''){\r\n console.log(\"calculate Profit \")\r\n this.calculateProfitAmount(index,control)\r\n }\r\n }\r\n if(control.controls['estimate_profit_or_loss'].value == 2 && control.controls['estimate_net_margin_availablity'].value =='yes'){\r\n if(control.controls['estimate_loss_range_from'].value != '' && control.controls['estimate_loss_range_to'].value != ''){\r\n console.log(\"calculate marginL\")\r\n this.calculateMarginLoss(index,control)\r\n }\r\n }\r\n if(control.controls['estimate_profit_or_loss'].value == 2 && control.controls['estimate_net_margin_availablity'].value =='no'){\r\n if(control.controls['estimate_net_loss_from'].value != '' && control.controls['estimate_net_loss_to'].value != ''){\r\n console.log(\"calculate Loss\")\r\n this.calculateLossAmount(index,control)\r\n }\r\n }\r\n }\r\n selectedStatement(e :any):void{\r\n\r\n if(e == 'yes'){\r\n\r\n this.isDisplay = true;\r\n this.financialForm.controls['is_financial_customer'].setValue('');\r\n \r\n }\r\n else if(e == 'no'){\r\n\r\n this.isDisplay = false;\r\n this.financialForm.controls['is_financial_customer'].setValue('no');\r\n // this.selectedFinancialCustomer('no');\r\n \r\n const statementControl = this.financialForm.controls['date_per_financial'];\r\n \r\n while (statementControl.length !== 0) {\r\n statementControl.removeAt(0);\r\n }\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n this.financialForm.controls['financial_starting_year'].setValue('');\r\n this.financialForm.controls['financial_no_of_year'].setValue('');\r\n\r\n // alert((new Date()).getFullYear());\r\n // let year1 = (new Date()).getFullYear();\r\n // let year2 = ((new Date()).getFullYear() + 1); \r\n // let Year = year1 +'-'+ year2;\r\n \r\n }\r\n\r\n}\r\n /** fin customer data from Fin statement*/\r\n selectedFinancialCustomer(e: any): void {\r\n if(e == 'yes'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n }\r\n else if (e == 'no'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n }\r\n }\r\n\r\n selectedProfitOrLossType(e,detail){\r\n \r\n if(e.value == 1){\r\n detail.controls.financial_net_loss.setValue('');\r\n detail.controls.financial_margin_of_loss.setValue('');\r\n }\r\n else if(e.value == 2){\r\n detail.controls.financial_net_profit.setValue('');\r\n detail.controls.financial_margin_of_profit.setValue('');\r\n }\r\n}\r\n\r\n\r\n /** For Auto-generating FinYear */\r\n dynamicalFinYear($event){\r\n \r\n // let e = $event.target.value;\r\n let e =this.financialForm.controls['financial_no_of_year'].value\r\n if(e != null && e != ''){\r\n if(e == 1){\r\n this.customerCommentsFlag = false;\r\n }\r\n else{\r\n this.customerCommentsFlag = true;\r\n }\r\n\r\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\r\n\r\n const control = this.financialForm.controls['date_per_financial'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\r\n control.push(this.createDate(Year));\r\n }\r\n }\r\n}\r\n }\r\n\r\n\r\n initFinancialForm(){\r\n this.financialForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n company_id: this.company_id,\r\n fk_createdby: this.users,\r\n financial_remarks: [''],\r\n is_financial_statements:[''],\r\n is_financial_customer:[''],\r\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n financial_no_of_year : [''],\r\n financial_reason: [''],\r\n financial_customer:[''],\r\n receive_the_money_in_days:[''],\r\n pay_the_money_in_days:[''],\r\n unsold_stock_lies_in_days:[''],\r\n is_there_working_capital_available:[''],\r\n working_capital_facilities_availed:[''],\r\n reason_for_working_capital_facilities_availed:[''],\r\n // same_as_financial_statements:[''],\r\n date_per_financial: this.fb.array([]),\r\n estimated_value: this.fb.array([])\r\n });\r\n }\r\n createDate(date){\r\n return this.fb.group({\r\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\r\n finanical_profit_or_loss:[''],\r\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_margin_of_profit: [''],\r\n financial_margin_of_loss: [''],\r\n financial_variation: [''],\r\n financial_profit_to_sale_variation:[''],\r\n financial_annualsales_variation : [''],\r\n })\r\n }\r\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\r\n createValue(date) {\r\n return this.fb.group({\r\n \r\n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n estimate_sales_from: [''],\r\n estimate_sales_to: [''],\r\n estimate_sales_average: [''],\r\n estimate_profit_or_loss:[''],\r\n estimate_net_margin_availablity:[''],\r\n estimate_profit_range_from:[''],\r\n estimate_profit_range_to:[''],\r\n estimate_profit_margin_percent:[''],\r\n estimate_profit_margin:[''],\r\n estimate_net_profit_from:[''],\r\n estimate_net_profit_to:[''],\r\n estimate_net_profit_percent:[''],\r\n estimate_net_profit:[''],\r\n estimate_loss_range_from:[''],\r\n estimate_loss_range_to:[''],\r\n estimate_loss_margin_percent:[''],\r\n estimate_loss_margin:[''],\r\n estimate_net_loss_from:[''],\r\n estimate_net_loss_to:[''],\r\n estimate_net_loss_percent:[''],\r\n estimate_net_loss:[''],\r\n estimate_reason_for_loss:[''],\r\n // estimate_receive_the_money_in_days:[''],\r\n // estimate_pay_the_money_in_days:[''],\r\n // estimate_unsold_stock_lies_in_days:[''],\r\n // estimate_working_capital_facilities_availed:[''],\r\n // reason_for_working_capital_facilities_availed:[''],\r\n // is_there_working_capital_available:['']\r\n\r\n });\r\n}\r\nsubmitDetails(){\r\n \r\n \r\n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n}\r\n let records=this.financialForm.value;\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n if(res['status']== 200){\r\n this.financialForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\r\n })\r\n}\r\n getDetails(){\r\n const financeDate=this.financialForm.controls['date_per_financial']\r\n //financeDate.push(this.createDate(''))\r\n const estimate= this.financialForm.controls['estimated_value']\r\n //estimate.push(this.createValue(''))\r\n let params:any={}\r\n params.pd_id=this.pdDetails.pd_id\r\n params.pd_form_id=this.FormId\r\n params.company_id=this.company_id\r\n this.qustCat.retiverForm(params).subscribe(value=>{\r\n if(value['dataStatus']==true){\r\n let retrieveData=value['records'];\r\n if(value['records'].is_financial_statements == 'yes'){\r\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\r\n return value['records'].date_per_financial[key]\r\n })\r\n if(result.length>0){\r\n this.customerCommentsFlag=result.length == 1 ? false : true\r\n result.forEach((val,index)=>{\r\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\r\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\r\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\r\n financeDate.push(this.createDate(''));\r\n });\r\n retrieveData.date_per_financial=result;\r\n }\r\n else{\r\n financeDate.push(this.createDate(''))\r\n }\r\n }\r\n if(this.CustSegAbbr != 'AI'){\r\n if(value['records'].is_financial_customer == 'no'){\r\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\r\n return value['records'].estimated_value[key]\r\n });\r\n if(result_val.length>0){\r\n result_val.forEach((val,index)=>{\r\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\r\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\r\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\r\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\r\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\r\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\r\n estimate.push(this.createValue(''))\r\n });\r\n retrieveData.estimated_value=result_val\r\n }\r\n else{\r\n estimate.push(this.createValue(''));\r\n }\r\n }\r\n}\r\n retrieveData.pdid=this.pdDetails.pd_id\r\n retrieveData.company_id=this.company_id\r\n retrieveData.fk_createdby=this.users\r\n retrieveData.formid=this.FormId\r\n this.financialForm.setValue(retrieveData)\r\n }\r\n else {\r\n //financial_date.push(this.createDate());\r\n //estimated_val.push(this.createValue(''));\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * New Calculation for Finanical Statement \r\n **/\r\n calculationForFinanicalStatement(){\r\n \r\n let parentArray = this.financialForm.controls['date_per_financial'];\r\n // let prev_annual_sale : any = '';\r\n // let prev_profit_margin : any = '';\r\n // let prev_loss_margin : any = '';\r\n // let prev_profit_amt : any = '';\r\n // let prev_loss_amt : any = '';\r\n // let profit_margin : any = '';\r\n // let loss_margin : any = '';\r\n // let annual_sale : any = '';\r\n // let profit_amt : any = '';\r\n // let loss_amt : any = '';\r\n let prev_annual_sale : any = '';\r\n let prev_profit_margin : any = [];\r\n let prev_loss_margin : any = [];\r\n let prev_profit_amt : any = '';\r\n let prev_loss_amt : any = '';\r\n let profit_margin : any = '';\r\n let loss_margin : any = '';\r\n let annual_sale : any = '';\r\n let profit_amt : any = '';\r\n let loss_amt : any = '';\r\n\r\n parentArray.value.forEach((val,index) => {\r\n\r\n let childArray : any = parentArray.controls[index];\r\n annual_sale = val.financial_annual_sale;\r\n \r\n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \r\n * Explaination : Comparing Curr.Year annual sales and Prev.year annual sales\r\n * Label name : \" Sale Variation from Previous Year in % \"\r\n */\r\n \r\n if (index != 0) { \r\n if(annual_sale != ''){\r\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\r\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\r\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\r\n }\r\n }\r\n else{\r\n childArray.controls.financial_annualsales_variation.setValue(0.00);\r\n }\r\n \r\n\r\n prev_annual_sale = annual_sale;\r\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\r\n\r\n\r\n profit_amt = val.financial_net_profit;\r\n loss_amt = val.financial_net_loss;\r\n\r\n /** Calculating Profit's Variation - STARTS HERE\r\n * Explaination : Comparing Curr.Year Net Profit (or) Loss Amount With Prev.year Net Profit (or) Loss Amount\r\n * Label name : \"Profit Variation from Previous Year in %\"\r\n */\r\n if((profit_amt != '' || loss_amt != '') && index != 0) {\r\n if(+profit_amt > +annual_sale){\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n } \r\n else{\r\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\r\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\r\n\r\n let variation = (((profit_amt != '' ? profit_amt : loss_amt ) - (prev_profit_amt != '' ? prev_profit_amt : prev_loss_amt ))/ (prev_profit_amt != '' ? Math.abs(prev_profit_amt) : Math.abs(prev_loss_amt))) * 100; \r\n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\r\n childArray.controls.financial_variation.setValue(final_variation);\r\n\r\n }\r\n }\r\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\r\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\r\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \r\n * Explaination : Comparing Curr.Year Net Profit Amount With Curr.year Annual Sales Amount ( like wise loss )\r\n * Label name : \"Net Profit to Sales in % (or) Net Loss to Sales in % \r\n **/\r\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\r\n \r\n if(SelectedlossOrProfit == 1){\r\n\r\n loss_margin = '';\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_profit != '') {\r\n if(+profit_amt>+annual_sale){\r\n alert(\"profit is greater than Annual Sale \");\r\n childArray.controls.financial_net_profit.setValue(0);\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\r\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\r\n \r\n }\r\n }\r\n }\r\n else if(SelectedlossOrProfit == 2){\r\n profit_margin = '';\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_loss != '') {\r\n if(+val.financial_net_loss>+annual_sale){\r\n alert(\"Loss is greater than Annual Sale \");\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n if(+loss_amt>+annual_sale){\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n \r\n\r\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\r\n\r\n\r\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\r\n \r\n }\r\n }\r\n }\r\n // console.log('val.financial_margin_of_profit',val.financial_margin_of_profit);\r\n // console.log('profit_margin',profit_margin);\r\n // console.log('childArray.controls.financial_margin_of_loss',childArray.controls.financial_margin_of_loss.value);\r\n // prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\r\n // prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\r\n prev_profit_margin[index] = profit_margin != '' ? profit_margin : 0;\r\n prev_loss_margin[index] = loss_margin !='' ? loss_margin : 0 ;\r\n \r\n \r\n // if(index != 0 ){\r\n \r\n // let variation_percent = (((profit_margin != '' ? profit_margin : loss_margin ) - (prev_profit_margin != '' ? prev_profit_margin : prev_loss_margin ))/ (prev_profit_margin != '' ? Math.abs(prev_profit_margin) : Math.abs(prev_loss_margin))) * 100; \r\n \r\n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\r\n \r\n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\r\n\r\n // }\r\n\r\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Sales's Profit Variation \r\n * Label name = \"Variation of Profit % over sales\"\r\n **/\r\n \r\n if ((profit_margin != '' || loss_margin != '') && index != 0) {\r\n \r\n \r\n // console.log('temp_prev_losses',prev_loss_margin);\r\n // console.log('temp_prev_profits',prev_profit_margin);\r\n\r\n // console.log('curr index',index);\r\n\r\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\r\n profit_margin = profit_margin !== undefined ? profit_margin:0;\r\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\r\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\r\n\r\n // console.log('profit_margin',profit_margin);\r\n // console.log('pre year loss_margin',temp_prev_loss_margin);\r\n // console.log('loss_margin',loss_margin);\r\n // console.log('pre year profit_margin',temp_prev_profit_margin);\r\n\r\n \r\n if(annual_sale != ''){\r\n\r\n \r\n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\r\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\r\n let c = b * 100;\r\n \r\n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\r\n \r\n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\r\n }\r\n }\r\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\r\n\r\n\r\n });\r\n }\r\n \r\n \r\n confirmAlert(i, details){\r\n\r\n let estimate_sales_from = +details.value.estimate_sales_from;\r\n let estimate_sales_to = +details.value.estimate_sales_to;\r\n\r\n if (estimate_sales_from != null && estimate_sales_to != null){\r\n \r\n if(+estimate_sales_from>+estimate_sales_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_sales_to.setValue('');\r\n details.controls.estimate_sales_average.setValue('');\r\n return;\r\n }\r\n\r\n let C = (estimate_sales_to - estimate_sales_from)\r\n let D = (C / estimate_sales_from) * 100;\r\n \r\n if(estimate_sales_from <= 5000000){\r\n if(D > 20){\r\n var r = confirm(\"Given Sales Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\r\n if(D > 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 10000000){\r\n if(D > 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n\r\n // if(D >= 30){\r\n // var r = confirm(\"Given Sales Range is greater than 30%\");\r\n // if (r == true) {\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \r\n // }else{\r\n // details.controls.estimate_sales_to.setValue('');\r\n // return;\r\n // }\r\n // }\r\n // else{\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\r\n // }\r\n }\r\n this.calculateSalesAverage(i, details);\r\n }\r\n\r\n calculateSalesAverage(i, details){\r\n \r\n let estimate_sales_from = details.value.estimate_sales_from;\r\n let estimate_sales_to = details.value.estimate_sales_to;\r\n\r\n if(estimate_sales_from != '' && estimate_sales_to != ''){\r\n\r\n let range1 = +estimate_sales_from/10;\r\n \r\n let lower = (+estimate_sales_from)+range1;\r\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\r\n\r\n if(lower > higer){\r\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue('');\r\n }\r\n\r\n }\r\n calculateMarginProfit( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\r\n if(+estimate_profit_range_from > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_profit_range_to = details.value.estimate_profit_range_to;\r\n \r\n if(+estimate_profit_range_to > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n\r\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\r\n if(+estimate_profit_range_from>+estimate_profit_range_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \r\n let Profit_Average = (profit_percent*sales_average)/100;\r\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n }else{\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n }\r\n \r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\r\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n calculateProfitAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n //alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\r\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\r\n\r\n if(+estimate_net_profit_to>+sales_average){\r\n \r\n //alert(\"Given Profit is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n\r\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\r\n if(+estimate_net_profit_from>+estimate_net_profit_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n \r\n let C = (estimate_net_profit_to - estimate_net_profit_from)\r\n let D = (C / estimate_net_profit_from) * 100;\r\n \r\n let range1 = +estimate_net_profit_from/10;\r\n \r\n let lower = (+estimate_net_profit_from)+range1;\r\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\r\n\r\n if(estimate_net_profit_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_profit_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n \r\n }\r\n \r\n}\r\n\r\ncalculateMarginLoss( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n // else{\r\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\r\n if(+estimate_loss_range_from > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_loss_range_to = details.value.estimate_loss_range_to;\r\n if(+estimate_loss_range_to > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n\r\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\r\n \r\n if(+estimate_loss_range_from>+estimate_loss_range_to){\r\n //alert(\"Given Loss Percent is more than 100\");\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n \r\n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\r\n let loss_Average = (loss_percent*sales_average)/100;\r\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\r\n\r\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\r\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\r\n \r\n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n \r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }else{\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n } \r\n \r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }\r\n\r\n}\r\n\r\n\r\ncalculateLossAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\r\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\r\n\r\n if(+estimate_net_loss_to > +sales_average){\r\n \r\n // alert(\"Given Loss is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\r\n if(+estimate_net_loss_from > +estimate_net_loss_to){\r\n //alert(\"Given To value is Lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n \r\n // if(+estimate_net_loss_to > +estimate_net_loss_from){\r\n // alert(\"loss is greater than sales\");\r\n // details.controls.estimate_net_loss_to.setValue('');\r\n // details.controls.estimate_net_loss.setValue('');\r\n // details.controls.estimate_net_loss_percent.setValue('');\r\n // return;\r\n // }\r\n \r\n \r\n let C = (estimate_net_loss_to - estimate_net_loss_from)\r\n let D = (C / estimate_net_loss_from) * 100;\r\n \r\n let range1 = +estimate_net_loss_from/10;\r\n \r\n let lower = (+estimate_net_loss_from)+range1;\r\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\r\n\r\n if(estimate_net_loss_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_loss_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n \r\n }\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n \r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n\r\n \r\n\r\n\r\n \r\n\r\n /** On Key Press Event For Input Field */\r\n keyPress(event: any) {\r\n //const pattern = /[0-9\\-\\.\\ ]/;\r\n const pattern = /[0-9\\.]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n\r\n switch(flag){\r\n case 1 :\r\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\r\n break;\r\n case 2 : \r\n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\r\n break;\r\n case 3 : \r\n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\r\n break;\r\n case 4 : \r\n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 : \r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 6 : \r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 7 : \r\n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 8 : \r\n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 9 : \r\n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 10 : \r\n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 11 : \r\n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 12 : \r\n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionClientInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-client-info',\r\n templateUrl: 'pd-question-client-info.html',\r\n})\r\nexport class PdQuestionClientInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n pdid: any;\r\n company_id: any;\r\n questionDetails: any;\r\n clientInfoForm: FormGroup;\r\n\r\n\r\n\r\n\r\n public submitted = false;\r\n\r\n public m_paymentType = [];\r\n\r\n companyRelationShipList: any = [];\r\n\r\n titleList: any = [];\r\n noRecordsFound: Boolean = false;\r\n errorMessage: any = '';\r\n m_manufacturingProducts: any = [];\r\n m_tradingProducts: any = [];\r\n m_suplierProducts: any = [];\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, \r\n public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, \r\n public toast: ToastProvider, public fb: FormBuilder,private loading:LoadingProvider,private cameraProvider:CameraProvider)\r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid = this.pdDetails.pd_id;\r\n this.company_id = this.pdDetails.company_id;\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\r\n\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n });\r\n\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\r\n this.getPDImages();\r\n }\r\n\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus']) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n // Load form details for manufacturing\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n // if(dataForm.manufacturing_details[0].main_raw_materials){\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n if(dataForm.manufacturing_details){\r\n console.log(dataForm)\r\n \r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n console.log(\"NO Data\",dataForm)\r\n this.initManufacturingProductsDetails(null)\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue( null);\r\n }\r\n }\r\n // }\r\n\r\n // Load form details for the wholeshale trading details\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n if(dataForm.trade_details){\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n\r\n this.initTradingProductsDetails(api_trading_products);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue( null);\r\n }\r\n }\r\n\r\n // Load form details for the service provider prduct details \r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n // return dataForm.service_products[key];\r\n // });\r\n if(dataForm.service_provider_details){\r\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(dataForm.service_provider_details[0].service_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initServiceProviderProductsDetails(null)\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n return dataForm.service_products[key];\r\n });\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.initServiceProviderProductsDetails(null);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // let arr = val.filter(data => data.type_of_activity_id == 4);\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n serviceProviderForm: Boolean = false;\r\n serviceProviderFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 5);\r\n if (arr.length > 0) {\r\n this.serviceProviderForm = true;\r\n return this.fb.group({\r\n service_products: this.fb.array([]),\r\n service_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initManufacturingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_product_name: [''],\r\n manufacturing_client_name: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n // manufacturing_credit_days: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_product_name: [records.manufacturing_product_name || null],\r\n manufacturing_client_name: [records.manufacturing_client_name || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\r\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initTradingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_client_name: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n trade_client_name: [records.trade_client_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n initServiceProviderProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n if (datas === null) {\r\n control.push(this.initServiceProviderProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\r\n control.push(this.initServiceProviderProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initServiceProviderProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initServiceProviderProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n service_provider_product_name: [''],\r\n service_provider_client_name: [''],\r\n service_provider_product_contact_person_name: [''],\r\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [''],\r\n service_provider_product_payment_mode: [''],\r\n service_provider_product_frequency_of_purchase: [''],\r\n service_provider_product_credit_days_from: [''],\r\n service_provider_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n service_provider_product_name: [records.service_provider_product_name],\r\n service_provider_client_name: [records.service_provider_client_name],\r\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\r\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\r\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\r\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\r\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\r\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoreServiceProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n\r\n control.push(this.initServiceProviderProducts(null));\r\n }\r\n\r\n removeServiceProduct(inx): void {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.companyRelationShipList = data['records'];\r\n // .filter(data => data.isactive == 1);\r\n // because in general no need of \"other\" option but in client others option needed - in DB others option changed into inactive\"\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n // saveclientDetails(answerData)\r\n // {\r\n // let records:any ={};\r\n\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId.form_id;\r\n // records.fk_createdby = this.users;\r\n\r\n // records.client_details = answerData.clientArray;\r\n\r\n // this.qustCat.saveForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.navCtrl.pop();\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n /** To Save/Edited Popup Data */\r\n saveClientInfo(answerFormValues) {\r\n \r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n if (answerFormValues.manufacturing_details[0] == null) {\r\n delete answerFormValues['manufacturing_details'];\r\n }\r\n if (answerFormValues.trade_details[0] == null) {\r\n delete answerFormValues['trade_details'];\r\n }\r\n if (answerFormValues.service_provider_details[0] == null) {\r\n delete answerFormValues['service_provider_details'];\r\n }\r\n\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.clientInfoForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 3) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n spCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n spCounter: any = [];\r\n checkCard(e, flag, index) {\r\n\r\n if (flag == 3 && e == 3) {\r\n this.spCounter[index] = 1;\r\n }\r\n else if (flag == 3 && e != 3) {\r\n this.spCounter[index] = 0;\r\n }\r\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\r\n this.spCreditCardFlag = SP > 0 ? true : false;\r\n\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams ,AlertController} from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\r\nimport {PdQuestionAssessedSummaryPage} from '../pd-question-assessed-summary/pd-question-assessed-summary'\r\nimport {PdQuestionAssessedImagesPage} from '../../pd-question/pd-question-assessed-images/pd-question-assessed-images'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDashPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-dash',\r\n templateUrl: 'pd-question-assessed-dash.html',\r\n})\r\nexport class PdQuestionAssessedDashPage {\r\n\r\n businessIncome: boolean;\r\n grossAccess: boolean;\r\n finalAccess: boolean;\r\n finalExpense: any;\r\n finalIncome: any;\r\n finalData: any;\r\n houseExpenseData: boolean;\r\n businessData: boolean;\r\n salesData: boolean;\r\n purchaseData: boolean;\r\n grossprofit: any;\r\n assessedProcess: boolean;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n alertShown: boolean;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public alertCtrl:AlertController) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n calc_type_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n // radio_for_mode:[null,Validators.compose([Validators.required])],\r\n mode:[null],\r\n margin:[null],\r\n purchase_type:[null,Validators.compose([Validators.required])],\r\n fk_createdby:[null],\r\n fk_updatedby:[null],\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getassessedIncome(); \r\n }\r\n getViewPage(pageId)\r\n {\r\nif(pageId == 11){//Summary\r\n this.navCtrl.push(PdQuestionAssessedSummaryPage,{'pdDetails':this.pdDetails,'pageId':pageId})\r\n}\r\nelse if(pageId == 12){//IMAGES\r\n this.navCtrl.push(PdQuestionAssessedImagesPage,{'pdDetails':this.pdDetails,'pageId':pageId})\r\n}\r\nelse{\r\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\r\n}\r\n }\r\n\r\n saveAssessedForm(answerData)\r\n {\r\n \r\n \r\n if(this.assessedForm.valid)\r\n {\r\n console.log(\"mode\",answerData.purchase_type.value)\r\n if(this.assessedForm.controls['purchase_type'].value == 1 ){\r\n this.assessedForm.controls['mode'].setValue(1)\r\n this.assessedForm.controls['margin'].setValue(null)\r\n \r\n }\r\n else if(this.assessedForm.controls['purchase_type'].value == 2){\r\n this.assessedForm.controls['mode'].setValue(1)\r\n this.assessedForm.controls['margin'].setValue(null)\r\n \r\n }\r\n else if(this.assessedForm.controls['purchase_type'].value == 0){\r\n this.assessedForm.controls['mode'].setValue(2)\r\n this.assessedForm.controls['margin'].setValue(2)\r\n this.assessedForm.controls['purchase_type'].setValue(null)\r\n }\r\n if(this.assessedForm.controls['calc_type_id'].value != null){\r\n this.assessedForm.controls['fk_updatedby'].setValue(this.users)\r\n }\r\n if(this.assessedForm.controls['fk_createdby'].value == null){\r\n this.assessedForm.controls['fk_createdby'].setValue(this.users);\r\n }\r\n console.log(this.assessedForm.value);\r\n let tempRec=this.assessedForm.value\r\n tempRec.company_id=this.pdDetails.company_id;\r\n console.log(\"tempRec\",tempRec)\r\n let records = {'records':tempRec};\r\n // delete records.records.radio_for_mode\r\n\r\n // console.log(\"after\",records);\r\n \r\n \r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage(\"Saved Successfully..!\")\r\n setTimeout(()=>{\r\n this.getassessedIncome();\r\n })\r\n \r\n }else\r\n {\r\n\r\n }\r\n })\r\n \r\n }\r\n \r\n }\r\n\r\n getassessedIncome()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'company_id':this.pdDetails.company_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.assessedProcess = true;\r\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\r\n if(res['records'].purchase_details.length !=0)\r\n {\r\n this.purchaseData = true;\r\n }\r\n if(res['records'].sales_items_by_monthwise.length !=0 || res['records'].sales_declared_by_customer.length !=0 || res['records'].sales_calculated_by_itemwise.length !=0)\r\n {\r\n this.salesData = true;\r\n }\r\n if(res['records'].business_expenses.length !=0)\r\n {\r\n this.businessData = true;\r\n }\r\n if(res['records'].house_hold_expenses.length !=0)\r\n {\r\n this.houseExpenseData = true;\r\n }\r\n if(res['records'].othre_business_income.length !=0)\r\n {\r\n this.businessIncome = true;\r\n }\r\n \r\n if(res['records'].final_data.length !=0){\r\n this.finalAccess = true;\r\n this.finalData = res['records'].final_data[0]; \r\n this.finalIncome = this.finalData.income;\r\n this.finalExpense = this.finalData.expense; \r\n }\r\n \r\n if(this.grossprofit !==undefined && this.grossprofit.length !=0)\r\n {\r\n this.grossAccess = true;\r\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\r\n if(this.grossprofit.purchase_type == null ){\r\n this.assessedForm.controls['purchase_type'].setValue(0);\r\n }\r\n else{\r\n this.assessedForm.controls['purchase_type'].setValue(this.grossprofit.purchase_type);\r\n }\r\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\r\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\r\n this.assessedForm.controls['fk_createdby'].setValue(this.grossprofit.fk_createdby);\r\n }\r\n \r\n \r\n }else\r\n {\r\n this.assessedProcess = false;\r\n }\r\n });\r\n }\r\n completeAI(){\r\n let updateStatus={\r\n \"fk_pd_id\":this.pdDetails.pd_id,\r\n \"company_id\":this.pdDetails.company_id,\r\n \"calc_type_id\":this.grossprofit.calc_type_id,\r\n \"is_completed\":1\r\n }\r\n let records:any={'records':updateStatus}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Assessed Income Completed Successfully\")\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1000)\r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Error\")\r\n }\r\n })\r\n }\r\n presentConfirm(){\r\n let alert=this.alertCtrl.create({\r\n title:'Complete Assessed Income',\r\n message:'Please confirm you are completing the Assessed Income details?',\r\n buttons:[\r\n {\r\n text:'No',\r\n role:'no',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n //this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.completeAI()\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n // this.alertShown=true;\r\n }\r\n\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Camera } from '@ionic-native/camera';\r\n/*\r\n Generated class for the CameraProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class CameraProvider {\r\n\r\n constructor(public http: HttpClient,public camera:Camera) {\r\n console.log('Hello CameraProvider Provider');\r\n }\r\n getpicture() \r\n {\r\n const options = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 500,\r\n correctOrientation: true\r\n };\r\n\r\n // If set to crop, restricts the image to a square of 600 by 600\r\n \r\n\r\n return this.camera.getPicture(options).then(imageData => {\r\n const base64Image = 'data:image/png;base64,' + imageData;\r\n console.log(\"base 64\",base64Image);\r\n return base64Image;\r\n }, error => {\r\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\r\n return \"error\"\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 251;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 251\n// module chunks = 0","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadingController } from 'ionic-angular';\r\nimport { async } from 'rxjs/internal/scheduler/async';\r\n/*\r\n Generated class for the LoadingProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class LoadingProvider {\r\n\r\n loading: any;\r\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\r\n console.log('Hello LoadingProvider Provider');\r\n }\r\n\r\n pdloader(content)\r\n {\r\n this.loading = this.loadingCtrl.create({\r\n content: content\r\n });\r\n\r\n this.loading.present();\r\n }\r\n loaderForSendImage(){\r\n const loading=this.loadingCtrl.create({\r\n content:'Sending...',\r\n duration:2000,\r\n })\r\n return loading.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 294;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 294\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\nimport { AlertController } from 'ionic-angular';\r\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\r\n// import { GridPage } from '../grid/grid';\r\n\r\n\r\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\r\nimport { Camera } from '@ionic-native/camera';\r\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n// import { CustomValidators } from 'ng2-validation';\r\n\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PasswordPage } from '../password/password';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage {\r\n users: any;\r\nchangepass: FormGroup;\r\nemail: string;\r\npassword: string;\r\nnewpassword: any;\r\nconfirmPassword: any;\r\nchangePassword: any;\r\nstatus: Boolean = false;\r\nconfig: MatDialogConfig = {\r\n disableClose: false,\r\n width: '',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n};\r\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\r\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\r\n,public toast:ToastProvider) {\r\n \r\n}\r\nngOnInit(){\r\n //this.loggedInCheck();\r\n \r\n}\r\nionViewDidEnter(){\r\n this.Menu.enable(false);\r\n}\r\nionViewWillLeave(){\r\n this.Menu.enable(true);\r\n}\r\n/**\r\n* @param email\r\n* @param password\r\n* AWS login service\r\n*/\r\nlogin() {\r\n // console.log(this.email);\r\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\r\n let auth = { 'Username': this.email, 'Password': this.password };\r\n this.aws.dologin(auth).subscribe(awsres => {\r\n let userid = this.aws.getlocale();\r\n \r\n this.aws.getuserprofile(userid).subscribe(usersres=>\r\n {\r\n this.users = usersres; \r\n \r\n if (this.users.dataStatus == true) {\r\n \r\n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\r\n this.navCtrl.setRoot(PdListPage);\r\n \r\n }else\r\n {\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n\r\n \r\n }\r\n });\r\n }, err => {\r\n console.log(JSON.stringify(err.message));\r\n if (err.message == \"New password is required.\") {\r\n //console.log(\"if\");\r\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\r\n } else {\r\n console.log(JSON.stringify(err.message));\r\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\r\n\r\n }\r\n //alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter Email or Password');\r\n }\r\n}\r\n/**\r\n * New password set\r\n * Defalut aws function \r\n * @param email password,newpassword\r\n */\r\n// newpassopen() {\r\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result !== undefined) {\r\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\r\n// console.log(auth);\r\n// this.aws.dologin(auth).subscribe(res => {\r\n// console.log(res);\r\n// // this.router.navigate(['/home']);\r\n// }, err => {\r\n// // alert(err.message);\r\n\r\n// })\r\n// }\r\n// });\r\n// }\r\n\r\nforgotopen() {\r\n this.status = true;\r\n}\r\n\r\n\r\nforgotpassword() {\r\n\r\n let auth = { 'Username': this.email };\r\n console.log(auth);\r\n // this.aws.userforgotpass(auth).subscribe(res => {\r\n // console.log(res);\r\n\r\n // })\r\n}\r\nloggedInCheck(){\r\n //alert(this.shared.isLoggedIn);\r\n if(this.shared.isLoggedIn){\r\n alert(\"if\");\r\n // this.router.navigate(['/home']);\r\n return false;\r\n }else{\r\n alert(\"else\");\r\n \r\n return true;\r\n }\r\n}\r\n\r\n}\r\n\r\n// ======================= END ==============================\r\n/**\r\n* New password Dialog\r\n*/\r\n\r\n// const newpassword = new FormControl('', Validators.required);\r\n// const confirmPassword = new FormControl('');\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
New Password Change.
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n//
\r\n// \r\n// \r\n// \r\n\r\n// Passwords do not math.\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class NewPasswordDialog {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
Forgot Password
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class ForgotPass {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n// }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component, ElementRef,ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \r\nimport { AuthPage } from '../auth/auth';\r\n\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { OtpPage } from '../otp/otp';\r\n\r\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\r\nimport {DatePipe } from '@angular/common';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\nimport {BouncedRejectPage} from '../../pages/input/bounced-reject/bounced-reject'\r\n\r\n\r\n/**\r\n * Generated class for the InputPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19);\r\n\r\n\r\n@Component({\r\n selector: 'page-input',\r\n templateUrl: 'input.html',\r\n})\r\n\r\n\r\nexport class InputPage {\r\n enableStartPD: boolean;\r\n diffInHours: number;\r\n updatestarted: any;\r\n updateinitiated: any;\r\n appdata: any;\r\n users: any;\r\n initiatedAccess: boolean = false;\r\n scheduleAccess: boolean = false;\r\napplicatentDetails:any;\r\nmaxdate :any;\r\npipe = new DatePipe('en-US');\r\nupdateStatus:any;\r\nscheduleDate:any;\r\nupdateSchedule:any;\r\nacceptedAccess:boolean = false;\r\nstartedAccess:boolean = false;\r\ntimeOut:any = 15*1000;\r\ntimeInterval:any;\r\ncurrentPosPDofficer:any;\r\nother_applicant:any;\r\n@ViewChild('focusinp') input_focus ;\r\n@ViewChild('scroll') scrolltop : Content;\r\n addresses: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,\r\n public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,\r\n public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,\r\n public constant:ConstantsProvider,public androidPermissions:AndroidPermissions, ) {\r\n\r\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddTHH:mm').toString();\r\n // this.maxdate=new Date().toLocaleString();\r\n \r\n var date=new Date('dd');\r\n //console.log(date)\r\n var curr=date.getDate()+date.getMonth()+date.getFullYear();\r\n console.log(\"today\",curr)\r\n /***Header value pass */\r\n this.statusBar.styleDefault();\r\n \r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\r\n \r\n \r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n \r\n this.getFullPD();\r\n \r\n \r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n \r\n this.initiatedAccess = true;\r\n }\r\n //console.log(this.initiatedAccess);\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.getenableAccuracy();\r\n \r\n }\r\n this.users = this.aws.getlocale();\r\n \r\n }\r\n\r\n \r\n ionViewDidLoad() {\r\n this.setPermission();\r\n \r\n }\r\n ionViewCanLeave()\r\n {\r\n clearInterval(this.timeInterval);\r\n }\r\n locationnavicate(index)\r\n {\r\n // var address_full:string=address+' ' +this.applicatentDetails.city_name+' ' +this.applicatentDetails.state_name+' '+ (this.applicatentDetails.pincode != 'Others' ? this.applicatentDetails.pincode : this.applicatentDetails.other_pincode)\r\n let data=this.addresses[index]\r\n var address_full:string= data.addressline1+' ' +data.city_name+' ' +data.state_name+'-'+(data.pincode != 'Others' ? data.pincode : data.other_pincode)\r\n //console.log(\"add\",address_full)\r\n this.launchNavigator.navigate(address_full);\r\n }\r\n\r\n setPermission()\r\n {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n\r\n getFullPD()\r\n {\r\n let records = {'pdid':this.applicatentDetails.pd_id};\r\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.other_applicant=res['records'].applicants_details\r\n this.addresses=res['records'].pd_address\r\n console.log(this.other_applicant);\r\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \r\n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\r\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\r\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\r\n console.log(diffInHours);\r\n \r\n if(diffInHours <-4){\r\n this.enableStartPD=true;\r\n }\r\n else\r\n {\r\n this.enableStartPD = false;\r\n }\r\n } \r\n })\r\n \r\n }\r\n pdStatus(status,appdetails)\r\n {\r\n let data :any;\r\n \r\n if(status == 'BOUNCED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.navCtrl.push(BouncedRejectPage,{'details':data})\r\n // this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n // {\r\n // this.updateStatus = res;\r\n // if(this.updateStatus.dataStatus == true)\r\n // {\r\n // this.navCtrl.setRoot(PdListPage); \r\n // }\r\n // })\r\n }else if(status == 'ACCEPTED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.scheduleAccess = true;\r\n \r\n }else\r\n {\r\n this.scheduleAccess = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n pdschedule(scheduledate,appdetails)\r\n {\r\n \r\n let data :any;\r\n console.log(scheduledate);\r\n if(scheduledate != undefined){\r\n let schDate = scheduledate.slice(0,19).replace('T',' ');\r\n console.log(schDate);\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateSchedule = res;\r\n if(this.updateSchedule.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.initiatedAccess = true;\r\n }\r\n });\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Please Choose the Schedule Date\");\r\n this.input_focus.setFocus();\r\n //this.input_focus.scrollToTop();\r\n this.scrolltop.scrollTop;\r\n }\r\n}\r\n\r\n getenableAccuracy()\r\n {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.getcurrentLocation();\r\n },\r\n error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n getcurrentLocation() \r\n {\r\n let data:any;\r\n let options = {\r\n frequency: 3000, \r\n enableHighAccuracy: true,\r\n timeOut:1000,\r\n };\r\n \r\n this.timeInterval = setInterval(()=>{\r\n this.currentPosPDofficer = '';\r\n this.geolocation.getCurrentPosition(options).then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n if((resp as Geoposition).coords !=undefined){\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\r\n console.log(this.currentPosPDofficer);\r\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\r\n {\r\n // this.updateinitiated = res;\r\n // if(this.updateinitiated.dataStatus == true)\r\n // { \r\n // // this.getNewpdupdate();\r\n // // this.startedAccess = true;\r\n // }else\r\n // {\r\n // this.startedAccess = false;\r\n // }\r\n })\r\n }\r\n }).catch((error)=>{\r\n this.toast.pdTriggerappmessage(error.message);\r\n })\r\n \r\n },this.timeOut);\r\n }\r\n pdreschedule()\r\n {\r\n this.scheduleAccess = true;\r\n this.initiatedAccess = false;\r\n }\r\n pdinitiated(appdetails)\r\n { let data:any;\r\n\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n \r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'INITIATED','mobile_no':appdetails.applicat_details[0].mobile_no,'officerName':appdetails.pd_allocated_to,'firstName':appdetails.applicat_details[0].applicant_name,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateinitiated = res;\r\n if(this.updateinitiated.dataStatus == true)\r\n { \r\n this.getNewpdupdate();\r\n this.getcurrentLocation();\r\n this.startedAccess = true;\r\n }else\r\n {\r\n this.startedAccess = false;\r\n }\r\n })\r\n }).catch((error) => {\r\n console.log('Error getting location', error);\r\n });\r\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n\r\n startPdDiscussion(appdetails)\r\n {\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'Start Discussion',\r\n message: 'Are you starting the Discussion',\r\n buttons: [\r\n {\r\n text: 'No',\r\n role: 'cancel',\r\n handler: () => {\r\n \r\n // console.log('Cancel clicked');\r\n // this.toast.pdTriggerappmessage('')\r\n }\r\n },\r\n {\r\n text: 'YES',\r\n handler: () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n \r\n data = {'pd_id':appdetails.pd_id,'pd_status':'STARTED','mobile_no':appdetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\r\n console.log(data);\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {this.updatestarted = res;\r\n if(this.updatestarted.dataStatus == true)\r\n {\r\n clearInterval(this.timeInterval);\r\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\r\n }\r\n \r\n })\r\n // console.log('Buy clicked');\r\n })\r\n } \r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n getNewpdupdate()\r\n {\r\n this.acceptedAccess = false;\r\n this.initiatedAccess = false;\r\n this.scheduleAccess = false;\r\n this.startedAccess = false;\r\n this.pdDetails.getpddetails(this.users).subscribe(res=>\r\n {\r\n this.appdata = res;\r\n if(this.appdata.dataStatus == true)\r\n {\r\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n this.toast.pdTriggerappmessage(\"Accepted Successfully\")\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n this.initiatedAccess = true;\r\n this.getFullPD();\r\n this.toast.pdTriggerappmessage(\"Scheduled Successfully\")\r\n }\r\n\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.toast.pdTriggerappmessage(\"Initiated Successfully\")\r\n }\r\n }\r\n })\r\n }\r\n\r\n camerasetup()\r\n {\r\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\n\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question',\r\n templateUrl: 'pd-question.html',\r\n})\r\nexport class PdQuestionPage {\r\n \r\n docqustid: any;\r\n docName: any = [];\r\n docArray: any = [];\r\n imageArray:any = [];\r\n questionCate: any;\r\n qustCate: any;\r\n pdinfo: any;\r\n items: FormArray;\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= false;\r\n isLeft:boolean= false;\r\n tabs:any=[];\r\n \r\n questionDetails: any;\r\n questionAnswer:FormGroup;\r\n questionanotherData:FormGroup;\r\n userid:any;\r\n questionId:any;\r\n qustType:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform,public fb:FormBuilder,public qstDetails:QuestionCategoryProvider,public aws:AwsServiceProvider,public camera:CameraProvider,public toast:ToastProvider) {\r\n \r\n this.screenWidth_px=platform.width();\r\n\r\n \r\n this.questionAnswer = this.fb.group(\r\n {\r\n answerDetails:[null],\r\n items:this.fb.array([]),\r\n })\r\n this.questionanotherData = this.fb.group(\r\n {\r\n questionRemarks:[null]\r\n })\r\n this.getpdQuestionDetails();\r\n this.userid = this.aws.getlocale();\r\n}\r\n\r\n ionViewDidLoad() {\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n ionViewWillLeave() {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n // let answerDetails = this.questionAnswer.value;\r\n // let remarks = this.questionanotherData.value;\r\n if(this.isLeft)\r\n {\r\n //this.prev(answerDetails,remarks,this.questionDetails);\r\n }\r\n if(this.isRight)\r\n {\r\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\r\n }\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n \r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n \r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n \r\n this.isLeft=false;\r\n this.isRight=false;\r\n \r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n \r\n \r\n }\r\n /**\r\n * Pd Discussion Qustion Load\r\n */\r\n getpdQuestionDetails()\r\n {\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdinfo = this.navParams.get('pdDetails');\r\n for(let qustimage of this.questionDetails.questions)\r\n { \r\n if(qustimage.images !==undefined){\r\n for(let image of qustimage.images)\r\n {\r\n image.questionId = qustimage.fk_question_id; \r\n this.docArray.push(image);\r\n }\r\n for(let answers of qustimage.answers)\r\n {\r\n if(qustimage.fk_question_answertype == 3)\r\n {\r\n this.items = this.questionAnswer.get('items') as FormArray;\r\n \r\n this.items.push(this.getquestionAnswer(answers));\r\n \r\n \r\n }\r\n }\r\n }\r\n }\r\n for(let i=1;i<=this.questionDetails.questions_count;i++){\r\n let j = i.toString();\r\n this.tabs.push(j);\r\n }\r\n }\r\n\r\ngetquestionAnswer(answers)\r\n{\r\n return this.fb.group(\r\n {\r\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\r\n \"pd_answer_id\":answers.question_answer_id,\r\n \"pd_answer\": answers.answer,\r\n \"pd_answer_weightage\": answers.template_answer_weightage,\r\n \"fk_pd_id\":this.pdinfo.pd_id,\r\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\r\n \"checkbox\":(answers.isactive == null?false:true)\r\n \r\n \r\n })\r\n}\r\n // count = 0;\r\n getDocUpload(qustid)\r\n {\r\n // this.docqustid = qustId;\r\n this.camera.getpicture().then(res=>\r\n {\r\n if(res !== undefined){\r\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\r\n }\r\n });\r\n // this.count++;\r\n }\r\n docnames(name,id,image,qustid)\r\n {\r\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\r\n }\r\n removeimage(index){\r\n //for(let i=0;i<=this.igrimage.length;i++){\r\n //if(this.igrimage[i]== this.igrimage[index]){\r\n this.docArray.splice(index,1);\r\n //}\r\n //}\r\n }\r\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\r\n {\r\n \r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n\t\t\"fk_pd_id\": pd_id,\r\n\t\t\"fk_category_id\": catid,\r\n\t\t\"fk_question_id\": qut_id,\r\n\t\t\"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n\t\t\"pd_answer\": pd_answer,\r\n\t\t\"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n\t\t\r\n\t\t\"fk_createdon\": createon,\r\n\t\t\"createdby\": createdby,\r\n\t\t\"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n // {\r\n // this.qustCate = res;\r\n // if(this.qustCate.dataStatus == true){\r\n // this.SwipedTabsSlider.slideNext();\r\n // this.docArray = [];\r\n // this.getcategoryList(qt_id,pd_id);\r\n // }\r\n // })\r\n // }else\r\n // {\r\n \r\n // this.SwipedTabsSlider.slideNext(); \r\n }\r\n } \r\n\r\n getcategoryList(qustinfo,pdId)\r\n {\r\n let qustDetails = {\"question_id\":qustinfo.fk_question_id, \"pd_id\":pdId, \"template_id\":qustinfo.fk_template_id, \"category_id\":qustinfo.fk_template_question_category_id\r\n };\r\n let answerData:any;\r\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\r\n {\r\n answerData = res;\r\n if(answerData.dataStatus == true)\r\n {\r\n \r\n // answerData = answerData.records;\r\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\r\n // eachquestion['answers'] = answerData.answers; \r\n \r\n // this.questionDetails =\r\n // this.imageArray = answerData.images;\r\n // for(let docs of this.imageArray)\r\n // {\r\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\r\n // }\r\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\r\n }\r\n });\r\n }\r\n prev(answerDetails,questionRemarks,questionDetails) {\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n \"fk_pd_id\": pd_id,\r\n \"fk_category_id\": catid,\r\n \"fk_question_id\": qut_id,\r\n \"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n \"pd_answer\": pd_answer,\r\n \"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n \r\n \"fk_createdon\": createon,\r\n \"createdby\": createdby,\r\n \"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n {\r\n this.qustCate = res;\r\n if(this.qustCate.dataStatus == true){\r\n this.SwipedTabsSlider.slidePrev();\r\n this.docArray = [];\r\n this.getcategoryList(qt_id,pd_id);\r\n }\r\n })\r\n }else{\r\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\r\n this.SwipedTabsSlider.slidePrev();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { Observable, Subject, ReplaySubject, from } from 'rxjs';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport {Camera} from '@ionic-native/camera'\r\n\r\nimport {searchValue} from '../search'\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport{LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionAddressPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-address',\r\n templateUrl: 'pd-question-address.html',\r\n})\r\nexport class PdQuestionAddressPage {\r\n\r\n // additional_premises: any=[];\r\n // bussiness_address_type: any=[];\r\n // formPremisesCityArray: any=[];\r\n // tempArr: any[];\r\n // cityData: any = [];\r\n // PremisesLabel: any=[];\r\n // formPremisesArray: any=[];\r\n // z:number = 0;\r\n \r\n // PremisesOtherFlag: boolean;\r\n CITY: any;\r\n residence: any;\r\n FormId: any;\r\n getaddressDetails: any;\r\n users: any;\r\n address: string;\r\n custBehaviour: any;\r\n cmtlocality: any;\r\n\r\n //placeholderName : any = 'Estimated area of the (Address Type)';\r\n placeholderName:any=[];\r\n premisesRentAmtInwords:any=[];\r\n rentAmtInwords : any ;\r\n\r\n locality: any = [];\r\n pdlocation: any = [];\r\n pdDetails: any;\r\n questionDetails: any;\r\n pdQuestionAddress:FormGroup;\r\n addressTypes:any=[];\r\n addressRemarksAccess:boolean = false;\r\n items:FormArray;\r\n pdState: any;\r\n pdCity: any;\r\n pdPincode: any;\r\n pdOtherPincode: any;\r\n cityData: any=[];\r\n pincodeData: any=[];\r\n stateData: any=[];\r\n uomData: any=[];\r\n addressesList: any;\r\n pincodeValue:any=[]\r\n cityDataValue:any=[]\r\n // counts:number = 1;\r\n private search:searchValue[]\r\n protected _onDestroy = new Subject();\r\n public filteredCity: ReplaySubject = new ReplaySubject(1);\r\n public filteredState:ReplaySubject=new ReplaySubject(1)\r\n pincodeDataValue: any=[];\r\n base64: string;\r\n imageBucket: any=[];\r\n tab:string='0';\r\n imageDisplay: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider,\r\n public camera:Camera,private loading:LoadingProvider) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n \r\n this.FormId = this.navParams.get('FormId');\r\n\r\n this.users = this.aws.getlocale();\r\n\r\n // if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\r\n // this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\r\n // }else{\r\n // this.address = this.pdDetails.addressline1+', - , -'; \r\n // }\r\n // this.pdState = this.pdDetails.fk_state;\r\n // this.getCityAndPincodeDetails(this.pdState);\r\n // this.pdCity = this.pdDetails.fk_city;\r\n // this.pdPincode = this.pdDetails.pincode_id;\r\n \r\n // this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\r\n \r\n this.getdropdownlist();\r\n \r\n //const control=this.pdQuestionAddress.controls['addresses']\r\n // console.log(\"co\",control)\r\n\r\n this.pdQuestionAddress = this.fb.group(\r\n {\r\n addresses:this.fb.array([]),\r\n address_form_remark:['']\r\n // address_ownership:[null],\r\n // other_ownership:[null],\r\n // rent_amt:[null],\r\n // other_premises_bussiness_activity : [null],\r\n // bussiness_activity_remark:[null],\r\n // bussiness_activity:[null],\r\n // bussiness_address_type:[null],\r\n // bussiness_address_type_others:[null], \r\n // business_years:[null],\r\n // business_month:[null],\r\n // additional_address_units: this.fb.array([]),\r\n \r\n });\r\n \r\n //this.loadPD()\r\n // let con=this.pdQuestionAddress.controls['addresses']['controls']\r\n \r\n // this.pdQuestionAddress.controls['addresses']['controls'][0].controls['citySearch'].valueChanges\r\n // .pipe(takeUntil(this._onDestroy))\r\n // .subscribe(()=>{\r\n // this.SearchCity(0);\r\n // })\r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n //this.addUnits();\r\n console.log(\"ionViewDidLoad PdQuestionAddressPage\")\r\n this.getaddressForm(); \r\n this.getPDImages();\r\n \r\n }\r\n\r\n \r\n searchFun(control:any,i:number,option){\r\n// console.log(control,i)\r\n if (option == 'city') {\r\n control.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.SearchCity(control.controls['citySearch'].value, i);\r\n })\r\n }\r\n if (option == 'state') {\r\n console.log(\"state\")\r\n control.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchState(control.controls['stateSearch'].value)\r\n })\r\n }\r\n if (option == 'pin') {\r\n console.log(\"Pin\")\r\n control.controls['pinSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchPin(control.controls['pinSearch'].value,i)\r\n })\r\n }\r\n }\r\n searchPin(val:any,index:number){\r\n if(!this.pincodeData[index]){\r\n return\r\n }\r\n let searchValue=val\r\n if(!searchValue){\r\n this.pincodeDataValue[index]=this.pincodeData[index].slice()\r\n return\r\n }else{\r\n searchValue=searchValue.toLowerCase()\r\n }\r\n this.pincodeDataValue[index]=this.pincodeData[index].filter(value=>value.pincode.toLowerCase().indexOf(searchValue) > -1)\r\n }\r\n SearchCity(val: any, i: number) {\r\n if (!this.cityData[i]) {\r\n return\r\n }\r\n let searchValue = val\r\n if (!searchValue) {\r\n // this.filteredCity.next(this.cityData[i].slice())\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n return\r\n } else {\r\n searchValue = searchValue.toLowerCase()\r\n }\r\n this.cityDataValue[i]=this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // this.filteredCity.next(\r\n // this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // )\r\n\r\n }\r\n searchState(val: any) {\r\n console.log(\"statedata\")\r\n if (!this.stateData) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n this.filteredState.next(this.stateData.slice())\r\n return\r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n this.filteredState.next(\r\n this.stateData.filter(res => res.name.toLowerCase().indexOf(searchVal) > -1)\r\n )\r\n }\r\n\r\ncountRowsForTextarea(text){\r\n \r\n // console.log('text.length%100',text.length%190);\r\n // console.log('text.length/100',text.length/100);\r\n if(text !='' && text != undefined){\r\n if(text.length%100 > 5)\r\n return 5;\r\n else if(text.length%100 <= 3)\r\n return 3;\r\n else return Math.floor(text.length%100);\r\n\r\n }\r\n}\r\n\r\n ionViewWillLeave()\r\n {\r\n \r\n\r\n // let method = this.alerCtrl.create({\t\t\t\r\n // message: 'Do You Want Save',\r\n // buttons: [\r\n // {\r\n // text: 'Save',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // }\r\n // },\r\n // {\r\n // text: 'Cancel',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // this.navCtrl.pop(); \r\n // }\r\n // }\r\n // ]\r\n // });\r\n // method.present()\r\n \r\n \r\n \r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.pdQuestionAddress.dirty);\r\n if(this.pdQuestionAddress.dirty){\r\n // console.log(\"dirty\",this.AssetsDetailsForm.dirty)\r\n //return false;\r\n // let val=this.toast.setAlert('Form is Modified','Are you sure want to Go Back');\r\n // console.log(\"v\",val)\r\n // if(val==1){\r\n\r\n // }\r\n // if(val.__zone_symbol__state)\r\n // return new Promise((resolve, reject) => {\r\n // let alert=this.alerCtrl.create({\r\n // title:'Form is Modified',\r\n // message:'Are you sure want to Go Back',\r\n // cssClass:'buttoncss',\r\n // buttons:[{\r\n // text:'Yes',\r\n // cssClass:'btnYes',\r\n // handler:()=>{\r\n // resolve();\r\n // }\r\n // },\r\n // {\r\n // text:'No',\r\n // cssClass:'btnNo',\r\n // handler:()=>{\r\n // reject();\r\n // }\r\n // }]\r\n // });\r\n // alert.present()\r\n // })\r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n /** To Get City And Pincode Data For Address Form \r\n * Param 'stateID' -> selected StateId\r\n */\r\n getCityAndPincodeDetails(stateID: string,i,pincode) {\r\n // console.log(this.pdQuestionAddress.controls['addresses']['controls'][0].controls['citySearch'])\r\n console.log(this.pdQuestionAddress)\r\n //this.pdQuestionAddress.controls['addresses']['controls'].controls\r\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData[i] = data.records.cities;\r\n this.search=this.cityData[i]\r\n console.log(\"Slice\",this.cityData[i].slice);\r\n //this.filteredCity.next(this.cityData[i].slice())\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n this.pincodeData[i] = data.records.pincode;\r\n this.pincodeDataValue[i]=this.pincodeData[i].slice()\r\n }\r\n //FOR PINCODE FREE TEXT\r\n // let pin\r\n // if(pincode != ''){\r\n // if(pincode != 1){\r\n // this.pincodeValue[i]=this.pincodeData[i].filter(res=>res.pincode_id == pincode).map(val=>val.pincode)[0]\r\n // //this.pincodeValue[i]=[].concat.apply([],this.pincodeValue[i])\r\n // console.log(this.pincodeValue[i])\r\n // console.log(this.pdQuestionAddress)\r\n\r\n // }\r\n // }\r\n });\r\n }\r\n\r\n\r\n\r\n getdropdownlist()\r\n {\r\n // this.addressTypes = [\r\n \r\n // {'id':'Office','Name':'Office'},\r\n // {'id':'Clinic','Name':'Clinic'},\r\n // {'id':'Factory','Name':'Factory'},\r\n // {'id':'Warehouse','Name':'Warehouse'},\r\n // {'id':'Shop','Name':'Shop'},\r\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\r\n // {'id':'Residence','Name':'Residence'},\r\n // {'id':'OTHERS','Name':'OTHERS'}\r\n // ];\r\n\r\n \r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \r\n }\r\n \r\n })\r\n \r\n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\r\n {\r\n this.pdlocation = res;\r\n if(this.pdlocation.dataStatus == true)\r\n {\r\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\r\n {\r\n this.cmtlocality = res;\r\n if(this.cmtlocality.dataStatus ==true)\r\n {\r\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\r\n }\r\n });\r\n\r\n \r\n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\r\n // {\r\n // this.custBehaviour = res;\r\n // if(this.custBehaviour.dataStatus == true)\r\n // {\r\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\r\n // }\r\n // })\r\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.locality = res['records'].filter(loc=>loc.isactive==1);\r\n }\r\n })\r\n\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.residence = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('CITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.CITY = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\r\n this.stateData=res['records'].filter(val=>val.isactive == 1);\r\n this.filteredState.next(this.stateData.slice())\r\n\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\r\n this.uomData=res['records'].filter(val=>val.isactive == 1 && val.is_land_uom != 0)\r\n })\r\n \r\n }\r\n\r\n // checkaddress(value)\r\n // {\r\n // \r\n // if(value==\"OTHERS\")\r\n // {\r\n // this.addressRemarksAccess = true;\r\n // }else\r\n // {\r\n // this.addressRemarksAccess = false;\r\n // }\r\n // }\r\n\r\n // createItem(): FormGroup {\r\n // return this.fb.group({\r\n // name: [null],\r\n // do_you_know: [null],\r\n // how_long: [null],\r\n // is_owner: [null],\r\n // });\r\n // };\r\n \r\n createUnits(val): FormGroup {\r\n if(val==null){\r\n return this.fb.group({\r\n no_of_additional_units: [''],\r\n premises_type: [''],\r\n premises_type_others: [''],\r\n premises_city: [''],\r\n // premises_ownership: [''],\r\n //premises_ownership_others: [''],\r\n //premises_rent_amt:[''],\r\n premises_remarks: [''],\r\n });\r\n }\r\n else{\r\n \r\n return this.fb.group({\r\n no_of_additional_units: [val.no_of_additional_units],\r\n premises_type: [val.premises_type],\r\n premises_type_others: [val.premises_type_others],\r\n premises_city: [val.premises_city],\r\n // premises_ownership: [val.premises_ownership],\r\n // premises_ownership_others: [val.other_ownership],\r\n // premises_rent_amt:[val.rent_amt],\r\n premises_remarks: [val.premises_remarks],\r\n });\r\n \r\n }\r\n }\r\n\r\n addUnits() {\r\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n this.items.push(this.createUnits(null));\r\n}\r\n\r\n\r\n removeUnits(i){\r\n this.items.removeAt(i);\r\n }\r\n\r\n ConvertMonthintoYear(e){\r\n \r\n let business_year = this.pdQuestionAddress.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n }\r\n initAddress(AddressDetails){\r\n console.log(\"pin init\", this.pincodeValue[0])\r\n if(AddressDetails != null){\r\n return this.fb.group({\r\n address: [AddressDetails.address],\r\n address_type: [AddressDetails.address_type, Validators.compose([Validators.required])],\r\n address_type_others: [AddressDetails.address_type_others],\r\n state: [AddressDetails.state],\r\n city: [AddressDetails.city],\r\n citySearch:[''],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n pincode: [AddressDetails.pincode],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */\r\n pincode_others: [AddressDetails.pincode_others, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n locality: [AddressDetails.locality, Validators.compose([Validators.required])],\r\n locality_others: [AddressDetails.locality_others],\r\n // locality_mixuse: [AddressDetails.locality_mixuse],\r\n pd_location: [AddressDetails.pd_location, Validators.compose([Validators.required])],\r\n comment_locality: [AddressDetails.comment_locality, Validators.compose([Validators.required])],\r\n estimated_area: [AddressDetails.estimated_area],\r\n uom: [AddressDetails.uom],\r\n uom_others: [AddressDetails.uom_others] \r\n })\r\n }\r\n else{\r\n return this.fb.group({\r\n address: ['' ],\r\n address_type: ['', Validators.compose([Validators.required])],\r\n address_type_others: [''],\r\n state: [''],\r\n city: [''],\r\n citySearch:[''],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n pincode: [''],\r\n pincode_others: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n locality: ['', Validators.compose([Validators.required])],\r\n locality_others: [''],\r\n // locality_mixuse: [''],\r\n pd_location: ['', Validators.compose([Validators.required])],\r\n comment_locality: ['', Validators.compose([Validators.required])],\r\n estimated_area: [''],\r\n uom: [''],\r\n uom_others: [''] \r\n });\r\n }\r\n \r\n }\r\n /** On Key Press Event For Numbers */\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n \r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i){ \r\n \r\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n \r\n }\r\n\r\n inWordsForRent(e){\r\n \r\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\r\n }\r\n\r\n selectedAddressType(e: any,i){\r\n this.placeholderName[i] = 'Estimated area of the ' + e;\r\n }\r\n\r\n\r\n savepdQuestion(answerData)\r\n {\r\n let records: any = {};\r\n // records.address = answerData.address;\r\n // if(answerData.address_type_others != null){\r\n // records.address_type_others = answerData.address_type_others;\r\n // }\r\n // // records.state =answerData.state\r\n // records.city = answerData.city\r\n\r\n // records.pincode = answerData.pincode\r\n // records.pincode_others = answerData.pincode== 1 ?\r\n // this.pdQuestionAddress.controls.pincode_others.value : '';\r\n\r\n // records.address_type = answerData.address_type;\r\n // records.locality = answerData.locality;\r\n \r\n // records.locality_others = answerData.locality == 1 ?\r\n // this.pdQuestionAddress.controls.locality_others.value : '';\r\n\r\n // records.locality_mixuse = answerData.locality == 5 ?\r\n // this.pdQuestionAddress.controls.locality_mixuse.value : '';\r\n\r\n // records.pd_location = answerData.pd_location;\r\n // records.comment_locality = answerData.comment_locality;\r\n // records.other_comment_locality = answerData.other_comment_locality;\r\n // records.estimated_area = answerData.estimated_area;\r\n\r\n // records.uom = answerData.uom;\r\n // records.uom_others = answerData.uom == 1 ?\r\n // this.pdQuestionAddress.controls.uom_others.value : '';\r\n // records.customer_behaviour = answerData.customer_behaviour;\r\n // records.neighbourhood = answerData.neighbourhood;\r\n \r\n // answerData.addresses.forEach(element=>{\r\n // let temp=element.pincode\r\n // element.pincode=1\r\n // element.pincode_others=temp\r\n // })\r\n if(this.pdQuestionAddress.invalid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Mandatory Fields marked with ' * '\")\r\n return\r\n }\r\n console.log(\"Answer DAta\",answerData)\r\n records.addresses=answerData.addresses\r\n // records.addressess\r\n records.address_form_remark=answerData.address_form_remark\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.address_form_remark = answerData.address_form_remark;\r\n // records.address_ownership = answerData.address_ownership;\r\n // records.other_ownership = answerData.other_ownership;\r\n // records.rent_amt = answerData.rent_amt;\r\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\r\n // records.bussiness_activity = answerData.bussiness_activity;\r\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\r\n // records.business_years = answerData.business_years;\r\n // records.business_month = answerData.business_month;\r\n \r\n // records.additional_address_units = answerData.additional_address_units;\r\n \r\n \r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n // let params: any = {};\r\n // params.pd_id = '250';\r\n // params.pd_form_id = '250';\r\n \r\n // setTimeout(function(){\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // },5000)\r\n if(data['dataStatus']==true){\r\n //TO CHANGE THE FORM STATE \r\n this.pdQuestionAddress.reset(this.pdQuestionAddress.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000); \r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage('Something went wrong ');\r\n });\r\n }\r\n\r\n getaddressForm()\r\n {\r\n \r\n let res:any;\r\n\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.getaddressDetails = res;\r\n \r\n if(this.getaddressDetails.dataStatus ==true){\r\n if(this.getaddressDetails.records.addresses ){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records.addresses;\r\n\r\n if(this.getaddressDetails.length == 0 ){\r\n control.push(this.initAddress(''));\r\n }\r\n else{\r\n this.getaddressDetails.forEach((datas,index)=>{\r\n \r\n this.getCityAndPincodeDetails(datas.state,index,datas.pincode)\r\n if(datas.pincode == 1){\r\n this.pincodeValue[index]=datas.pincode_others\r\n }//if(val==true){\r\n console.log( \"Pin\" ,this.pincodeValue[index]);\r\n let val={\r\n 'address': datas.address,\r\n 'address_type': datas.address_type,\r\n 'address_type_others': datas.address_type_others,\r\n 'state': datas.state,\r\n 'city': datas.city,\r\n 'pincode':datas.pincode,\r\n 'pincode_others':datas.pincode_others,\r\n 'locality': datas.locality,\r\n 'locality_others': datas.locality_others,\r\n // 'locality_mixuse': datas.locality_mixuse,\r\n 'pd_location': datas.pd_location,\r\n 'comment_locality': datas.comment_locality,\r\n 'estimated_area': datas.estimated_area,\r\n 'uom': datas.uom,\r\n 'uom_others': datas.uom_others\r\n }\r\n \r\n let selectedAddressType = this.addressTypes.filter(element => element.address_type_id == datas.address_type)[0];\r\n this.selectedAddressType(selectedAddressType.address_type,index);\r\n if (datas.address_type == 1) {\r\n this.selectedAddressType(datas.address_type_others,index);\r\n }\r\n control.push(this.initAddress(val))\r\n })\r\n this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark);\r\n }\r\n // if(this.getaddressDetails.additional_address_units != null){\r\n // var result = Object.keys(res['records'].additional_address_units).map(function(key) {\r\n // // return res['records'].additional_address_units[key];\r\n // //for slicing the automatically created\r\n \r\n // });\r\n // //this.removeUnits(0);\r\n // }\r\n\r\n // let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n\r\n // this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\r\n // this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\r\n\r\n // if (this.getaddressDetails.state != '') {\r\n // this.getCityAndPincodeDetails(this.getaddressDetails.state);\r\n // this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\r\n // this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\r\n // if (this.getaddressDetails.pincode == 1) {\r\n // this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\r\n // this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\r\n // this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\r\n // }\r\n // }\r\n // this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\r\n // this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\r\n // let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\r\n // this.selectedAddressType(selectedAddressType);\r\n\r\n // if(this.getaddressDetails.address_type != null) {\r\n // this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\r\n // this.selectedAddressType(this.getaddressDetails.address_type_others);\r\n // }\r\n\r\n // this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\r\n\r\n // if(this.getaddressDetails.comment_locality != null){\r\n // this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\r\n // }\r\n // // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\r\n // this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\r\n // if(this.getaddressDetails.locality == 1 ){\r\n // this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\r\n // }\r\n // if(this.getaddressDetails.locality == 5){\r\n // this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\r\n // }\r\n \r\n // this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\r\n // this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\r\n // if (this.getaddressDetails.uom == 1) {\r\n // this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\r\n // this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\r\n // this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\r\n // }\r\n // this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\r\n // // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\r\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\r\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\r\n // if(this.getaddressDetails.rent_amt != null){\r\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\r\n // }\r\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // } \r\n // else{\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\r\n // }\r\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\r\n\r\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\r\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\r\n \r\n \r\n \r\n\r\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\r\n \r\n if (result.length == 0) {\r\n \r\n control.push(this.createUnits(null));\r\n } else {*/\r\n \r\n //for(let val of this.getaddressDetails.additional_address_units){\r\n //control.push(this.createUnits(val));\r\n //}\r\n //result.forEach((datas,index) => {\r\n \r\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\r\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\r\n \r\n //});\r\n \r\n //}\r\n \r\n // }\r\n\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else\r\n this.loadPD();\r\n });\r\n \r\n }\r\n loadPD(){\r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.qustCat.getAddressDetails(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n this.addressesList = res.records.filter(item => item.isactive == 1);\r\n console.log('this.addressesList',this.addressesList);\r\n if(this.addressesList.length > 0){\r\n this.addressesList.forEach((datas,index)=>{\r\n this.getCityAndPincodeDetails(datas.fk_state,index,datas.pincode)\r\n \r\n let obj ={\r\n 'address': datas.addressline1,\r\n 'address_type': '',\r\n 'address_type_others': '',\r\n 'state': datas.fk_state,\r\n 'city': datas.fk_city,\r\n 'pincode':datas.pincode_id,\r\n 'pincode_others': datas.other_pincode,\r\n 'locality': '',\r\n 'locality_others': '',\r\n // 'locality_mixuse':'',\r\n 'pd_location': '',\r\n 'comment_locality': '',\r\n 'estimated_area': '',\r\n 'uom': '',\r\n 'uom_others': ''\r\n }\r\n \r\n control.push(this.initAddress(obj))\r\n })\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n })\r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n savePhoto(){\r\n this.camera.getPicture({\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 600,\r\n correctOrientation: true\r\n }).then((imageData)=>{\r\n this.base64='data:image/png;base64,'+imageData\r\n this.imageBucket.push({'image':this.base64,'Name':''});\r\n // this.imageDisplay.push({'image':this.base64,'Name':''})\r\n this. getImageName(this.imageBucket.length-1)\r\n \r\n },(err)=>{\r\n //alert(\"error\");\r\n })\r\n this.tab='1';\r\n // this.content.scrollToBottom();\r\n // let dimensions = this.content.getContentDimensions();\r\n // this.content.scrollTo(0, dimensions.contentHeight+100, 100);\r\n // this.inputFocus.setFocus();\r\n }\r\n getImageName(index){\r\n console.log(\"index\",index);\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n \r\n alert.onDidDismiss(value=>{\r\n console.log(value.Name)\r\n this.imageBucket[index].Name=value.Name\r\n })\r\n \r\n \r\n // let alert=this.alerCtrl.create({\r\n // title:'Document Name',\r\n // message: 'Please Enter the Document Name',\r\n // cssClass:'prompt_alert',\r\n // inputs:[\r\n // {\r\n // name:'Name',\r\n // //value:this.imageBucket[index].Name\r\n // placeholder:'Document Name'\r\n // }\r\n // ],\r\n // buttons:[\r\n // {\r\n // text:'Submit',\r\n // handler:data=>{\r\n // console.log(data.Name)\r\n // this.imageBucket[index].Name=data.Name\r\n // alert.dismiss\r\n // }\r\n // }\r\n // ]\r\n // })\r\n // alert.present();\r\n //this.inputFocus.setFocus();\r\n \r\n }\r\n // al(){\r\n // this.toast.pdTriggerappmessage(\"touched\");\r\n // }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport { max } from 'rxjs/operators';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionEmpInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-emp-info',\r\n templateUrl: 'pd-question-emp-info.html',\r\n})\r\nexport class PdQuestionEmpInfoPage {\r\n questionDetails: any;\r\n pdDetails: any;\r\n employmentForm:FormGroup;\r\n FormId: any;\r\n pd_cus_segment: string;\r\n customer_segment_abbr: string;\r\n users: any;\r\n pdid: any;\r\n frequency_data: any[];\r\n company_list: any[];\r\n person_met_list: any[];\r\n company_related_applicants_list: any[];\r\n company_relationship_list: any[];\r\n filtered_company_relationship_list: any[];\r\n \r\n mthlySlryAmtInWords\r\n grossMthlySlryAmtInWords\r\n netMthlySlryAmtInWords\r\n bonusIncentiveAmtInWords\r\n bankAmtInWords\r\n cashAmtInWords\r\n\r\n workExperienceFlag: boolean = false;\r\n workExperienceErrorFlag:boolean = false;\r\n generalExistBusinessYear:any;\r\n generalExistBusinessMonth:any;\r\n tab:any='0'\r\n imageBucket:any=[]\r\n imageDisplay:any=[]\r\n\r\n public dateonly: any = [{date:1,isdisabled:false},{date:2,isdisabled:false},{date:3,isdisabled:false},{date:4,isdisabled:false},{date:5,isdisabled:false},{date:6,isdisabled:false},{date:7,isdisabled:false},{date:8,isdisabled:false},{date:9,isdisabled:false},{date:10,isdisabled:false},{date:11,isdisabled:false},{date:12,isdisabled:false},{date:13,isdisabled:false},{date:14,isdisabled:false},{date:15,isdisabled:false},{date:16,isdisabled:false},{date:17,isdisabled:false},{date:18,isdisabled:false},{date:19,isdisabled:false},{date:20,isdisabled:false},{date:21,isdisabled:false},{date:22,isdisabled:false},{date:23,isdisabled:false},{date:24,isdisabled:false},{date:25,isdisabled:false},{date:26,isdisabled:false},{date:27,isdisabled:false},{date:28,isdisabled:false},{date:29,isdisabled:false},{date:30,isdisabled:false},{date:31,isdisabled:false}];\r\n public todate: any[] = this.dateonly;\r\n @ViewChild('workExp') expFocus: ElementRef\r\n @ViewChild('cashPaidFocus') inputCashPaidFocus :ElementRef\r\n @ViewChild('yearFocus') inputYearFocus :ElementRef\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws: AwsServiceProvider, \r\n public toast: ToastProvider,public constant:ConstantsProvider,\r\n private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n this.pd_cus_segment = this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.generalExistBusinessYear=100;\r\n this.generalExistBusinessMonth=12;\r\n this.getDropDownList();\r\n this.getCompanyFromGeneralDetails();\r\n this.getEmploymentDetails();\r\n this.employmentForm = this.fb.group(\r\n {\r\n employer_name: [''],\r\n employer_in_brief:[''],\r\n \r\n // members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\r\n // members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\r\n \r\n how_long_year: ['',Validators.max(this.generalExistBusinessYear)],\r\n how_long_month: [''],\r\n total_business_experience: [''],\r\n total_business_previous_experience: [''],\r\n was_met: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n name_person_met: [''],\r\n designation_person_met: [''],\r\n confirm_salary: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n confirm_salary_amount: [''],\r\n attendance_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n sal_reg_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n from_date_the_salary_is_rcv: [''],\r\n to_date_the_salary_is_rcv: [''],\r\n gross_monthly_salary: [''],\r\n net_monthly_salary: [''],\r\n amount_paid_in_cash: [''],\r\n amount_paid_through_bank: [''],\r\n check_validated:[''],\r\n how_was_it_validated: [''],\r\n why_was_it_not_validated: [''],\r\n bonus_incentive: [''],\r\n bonus_frequency: [''],\r\n bonus_type: [''],\r\n bonus_type_other: [''],\r\n any_delays: [''],\r\n employment_remarks: [''],\r\n // nameOfEmp:[null],\r\n // yearWithEmp:[null],\r\n // empMet:[null],\r\n // designationOfEmp:[null],\r\n // salaryConfirm:[null],\r\n // actualSalary:[null],\r\n // attRegisterSeen:[null],\r\n // salaryRegisterSeen:[null]\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.employmentForm.dirty);\r\n if(this.employmentForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n getDropDownList()\r\n {\r\n\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.frequency_data = data['records'];\r\n this.frequency_data = this.frequency_data.filter(freq => freq.isactive == 1);\r\n }\r\n });\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.company_relationship_list = data['records'].filter(item => item.isactive == 1);\r\n this.company_relationship_list = data['records'].filter(item => item.name != 'Others');\r\n this.company_relationship_list.push({ 'company_relationship_id': 0, 'name': 'Not Applicable' });\r\n }\r\n });\r\n }\r\n\r\n getCompanyFromGeneralDetails(){\r\n \r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': '18' };\r\n \r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n this.company_list = value['records'].companies.filter(com => com.is_active == true);\r\n this.person_met_list = value['records'].individuals.filter(app => app.is_person_met == true && app.is_active == true);\r\n this.company_related_applicants_list = value['records'].company_with_relationships;\r\n } \r\n else {\r\n\r\n }\r\n })\r\n \r\n }\r\n \r\n ValidateNetSalary(){\r\n let salary = this.employmentForm.controls['net_monthly_salary'].value; \r\n console.log('this.employmentForm.controls[amount_paid_in_cash].value',this.employmentForm.controls['amount_paid_in_cash'].value);\r\n \r\n if(salary != ''){\r\n let cash_amount = this.employmentForm.controls['amount_paid_in_cash'].value;\r\n // let Bank_amount = this.employmentForm.controls['amount_paid_through_bank'].value;\r\n\r\n this.employmentForm.controls['amount_paid_in_cash'].setValidators([Validators.max(salary)]); \r\n this.employmentForm.controls['amount_paid_in_cash'].updateValueAndValidity();\r\n let maxamt = salary-cash_amount\r\n if(maxamt >= 0 ){\r\n this.employmentForm.controls['amount_paid_through_bank'].setValidators([Validators.max(salary-cash_amount)]); \r\n }\r\n else{\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue('0');\r\n this.employmentForm.controls['amount_paid_through_bank'].setValidators([Validators.max(0)]); \r\n }\r\n this.employmentForm.controls['amount_paid_through_bank'].updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Net Monthly Salary Is Empty.!');\r\n this.employmentForm.controls['amount_paid_in_cash'].setValue(''); \r\n this.employmentForm.controls['amount_paid_in_cash'].updateValueAndValidity();\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue(''); \r\n this.employmentForm.controls['amount_paid_through_bank'].updateValueAndValidity();\r\n return;\r\n }\r\n \r\n \r\n }\r\n\r\n saveEmpInfo(){\r\n // console.log(\"has Error\",this.employmentForm.controls['how_long_year'].hasError('max'))\r\n if(this.employmentForm.controls['how_long_year'].hasError('max') || this.employmentForm.controls['how_long_month'].hasError('max')){\r\n this.toast.pdTriggerappmessage(\"Higher than business Vintage\")\r\n this.inputYearFocus.nativeElement.focus();\r\n return\r\n }\r\n \r\n if(this.employmentForm.controls['total_business_experience'].hasError('min') ){\r\n this.toast.pdTriggerappmessage('Total working Experience is Lower');\r\n this.expFocus.nativeElement.focus();\r\n return\r\n }\r\n // console.log(\"this.em\",this.employmentForm.controls['amount_paid_in_cash'].errors)\r\n if(this.employmentForm.controls['amount_paid_in_cash'].hasError('max') || this.employmentForm.controls['amount_paid_through_bank'].hasError('max')){\r\n this.toast.pdTriggerappmessage(\"Given Value is Maximum of Net Salary\")\r\n this.inputCashPaidFocus.nativeElement.focus();\r\n return\r\n }\r\n \r\n if (!this.employmentForm.valid) {\r\n this.toast.pdTriggerappmessage('Form Invalid Try Again.!');\r\n return;\r\n }\r\n \r\n\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.employer_name = this.employmentForm.controls['employer_name'].value;\r\n records.employer_in_brief = this.employmentForm.controls['employer_in_brief'].value;\r\n records.how_long_year = this.employmentForm.controls['how_long_year'].value;\r\n records.how_long_month = this.employmentForm.controls['how_long_month'].value;\r\n records.total_business_experience = this.employmentForm.controls['total_business_experience'].value;\r\n records.total_business_previous_experience = this.employmentForm.controls['total_business_previous_experience'].value;\r\n records.was_met = this.employmentForm.controls['was_met'].value;\r\n if (this.employmentForm.controls['was_met'].value == 'yes') {\r\n records.name_person_met = this.employmentForm.controls['name_person_met'].value;\r\n records.designation_person_met = this.employmentForm.controls['designation_person_met'].value;\r\n }else{\r\n records.name_person_met = '';\r\n records.designation_person_met = '';\r\n }\r\n records.confirm_salary = this.employmentForm.controls['confirm_salary'].value;\r\n records.confirm_salary_amount = this.employmentForm.controls['confirm_salary'].value == 'yes' ? this.employmentForm.controls['confirm_salary_amount'].value : '';\r\n records.attendance_seen = this.employmentForm.controls['attendance_seen'].value;\r\n records.sal_reg_seen = this.employmentForm.controls['sal_reg_seen'].value;\r\n records.from_date_the_salary_is_rcv = this.employmentForm.controls['from_date_the_salary_is_rcv'].value;\r\n records.to_date_the_salary_is_rcv = this.employmentForm.controls['to_date_the_salary_is_rcv'].value;\r\n records.gross_monthly_salary = this.employmentForm.controls['gross_monthly_salary'].value;\r\n records.net_monthly_salary = this.employmentForm.controls['net_monthly_salary'].value;\r\n \r\n records.amount_paid_in_cash = this.employmentForm.controls['amount_paid_in_cash'].value;\r\n records.amount_paid_through_bank = this.employmentForm.controls['amount_paid_through_bank'].value;\r\n records.check_validated = this.employmentForm.controls['check_validated'].value;\r\n records.how_was_it_validated = this.employmentForm.controls['check_validated'].value == 'validated' ? this.employmentForm.controls['how_was_it_validated'].value : '';\r\n records.why_was_it_not_validated = this.employmentForm.controls['check_validated'].value != 'validated' ? this.employmentForm.controls['why_was_it_not_validated'].value : '';\r\n \r\n records.any_delays = this.employmentForm.controls['any_delays'].value;\r\n\r\n records.bonus_incentive = this.employmentForm.controls['bonus_incentive'].value;\r\n records.bonus_frequency = this.employmentForm.controls['bonus_frequency'].value;\r\n records.bonus_type = this.employmentForm.controls['bonus_type'].value;\r\n records.bonus_type_other = this.employmentForm.controls['bonus_type_other'].value;\r\n\r\n records.employment_remarks = this.employmentForm.controls['employment_remarks'].value;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n\r\n\r\n if(data['dataStatus']== true){\r\n //TO CHANGE THE FORM STATE \r\n // this.employmentForm.markAsUntouched();\r\n this.employmentForm.reset(this.employmentForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n })\r\n }\r\n \r\n\r\n filtercompanyrelationship(companyid, applicantid) {\r\n var array = companyid.split(\"-\");\r\n let data = this.company_related_applicants_list.filter(cmpy => cmpy.relation_to_company == array[0] && cmpy.applicant_name == applicantid);\r\n if (data.length > 0) {\r\n this.filtered_company_relationship_list = this.company_relationship_list.filter(freq => freq.company_relationship_id == data[0].company_relationship);\r\n this.employmentForm.controls['designation_person_met'].setValue(this.filtered_company_relationship_list[0]['name'] + ' ' + array[1]);\r\n }\r\n else {\r\n this.employmentForm.controls['designation_person_met'].setValue('');\r\n }\r\n }\r\n\r\n formDate(value){\r\n // console.log('to',this.todate)\r\n // console.log(value);\r\n // console.log('to length',this.todate.length);\r\n // console.log('index',value-1);\r\n // console.log('this.todate',this.todate[11]);\r\n // console.log('this.todate',this.todate[11].isdisabled);\r\n this.employmentForm.controls['to_date_the_salary_is_rcv'].setValue('');\r\n this.todate = [{date:1,isdisabled:false},{date:2,isdisabled:false},{date:3,isdisabled:false},{date:4,isdisabled:false},{date:5,isdisabled:false},{date:6,isdisabled:false},{date:7,isdisabled:false},{date:8,isdisabled:false},{date:9,isdisabled:false},{date:10,isdisabled:false},{date:11,isdisabled:false},{date:12,isdisabled:false},{date:13,isdisabled:false},{date:14,isdisabled:false},{date:15,isdisabled:false},{date:16,isdisabled:false},{date:17,isdisabled:false},{date:18,isdisabled:false},{date:19,isdisabled:false},{date:20,isdisabled:false},{date:21,isdisabled:false},{date:22,isdisabled:false},{date:23,isdisabled:false},{date:24,isdisabled:false},{date:25,isdisabled:false},{date:26,isdisabled:false},{date:27,isdisabled:false},{date:28,isdisabled:false},{date:29,isdisabled:false},{date:30,isdisabled:false},{date:31,isdisabled:false}];\r\n var i ;\r\n \r\n if(value != 0 && value != '')\r\n for(i=0;i<=value-1;i++){\r\n this.todate[i].isdisabled = true;\r\n if(value == 31){\r\n this.todate[30].isdisabled = false;\r\n }\r\n }\r\n \r\n }\r\n checkWithExistYear(e) {\r\n \r\n let data1 = this.company_list.filter(c => c.company_name == e.split('-')[1])[0];\r\n \r\n console.log('this.generalExistBusinessMonth',this.generalExistBusinessMonth);\r\n console.log('this.generalExistBusinessYear',this.generalExistBusinessYear);\r\n if(data1.business_month != null && data1.business_month != '' && data1.business_month != undefined){\r\n this.generalExistBusinessMonth = data1.business_month\r\n }\r\n if(data1.business_years){\r\n this.generalExistBusinessYear = data1.business_years\r\n }\r\n this.employmentForm.controls['how_long_year'].setValidators([Validators.max(this.generalExistBusinessYear)]); \r\n this.employmentForm.controls['how_long_year'].updateValueAndValidity();\r\n \r\n }\r\n\r\n \r\nConvertMonthintoYear(e) {\r\n\r\n let how_long_year = this.employmentForm.controls.how_long_year.value;\r\n\r\n let converted_month: number = e % 12;\r\n let converted_year: number = e / 12;\r\n\r\n if (how_long_year > this.generalExistBusinessYear) {\r\n this.employmentForm.controls['how_long_year'].setValidators([Validators.max(this.generalExistBusinessYear)]); \r\n this.employmentForm.controls['how_long_year'].updateValueAndValidity();\r\n this.employmentForm.controls['how_long_year'].setValue('');\r\n this.employmentForm.controls['how_long_month'].setValue('');\r\n }\r\n else {\r\n if (how_long_year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {\r\n \r\n this.employmentForm.controls['how_long_year'].setValidators([Validators.max(this.generalExistBusinessYear)]); \r\n this.employmentForm.controls['how_long_year'].updateValueAndValidity(); \r\n\r\n this.employmentForm.controls['how_long_month'].setValidators([Validators.max(this.generalExistBusinessMonth)]); \r\n this.employmentForm.controls['how_long_month'].updateValueAndValidity(); \r\n\r\n } else { \r\n\r\n this.employmentForm.controls.how_long_year.setValue(+how_long_year + +Math.floor(converted_year));\r\n this.employmentForm.controls.how_long_month.setValue(Math.floor(converted_month));\r\n\r\n }\r\n }\r\n}\r\n\r\n\r\ncheckWorkingExperiences(){\r\n // this.workExperienceErrorFlag = (+this.employmentForm.controls.total_business_experience.value ) <= (+this.employmentForm.controls.how_long_year.value) ? true : false;\r\n // this.workExperienceFlag = (+this.employmentForm.controls.total_business_experience.value ) < (+this.employmentForm.controls.how_long_year.value) ? false : true;\r\n\r\n this.employmentForm.controls['total_business_experience'].setValidators([Validators.min(+this.employmentForm.controls.how_long_year.value)]); \r\n this.employmentForm.controls['total_business_experience'].updateValueAndValidity(); \r\n \r\n if(!this.employmentForm.controls['total_business_experience'].valid){\r\n this.expFocus.nativeElement.focus();\r\n }\r\n\r\n this.workExperienceFlag = +this.employmentForm.controls.total_business_experience.value > +this.employmentForm.controls.how_long_year.value ? true : false;\r\n\r\n if(!this.workExperienceFlag){\r\n this.employmentForm.controls['total_business_previous_experience'].setValue('');\r\n this.employmentForm.controls['total_business_previous_experience'].updateValueAndValidity(); \r\n }\r\n\r\n}\r\n\r\ninWords(val,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.mthlySlryAmtInWords= this.constant.convertNumberToWords(val); \r\n break;\r\n case 2 : \r\n this.grossMthlySlryAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 3 :\r\n this.netMthlySlryAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 4 :\r\n this.bonusIncentiveAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 5 :\r\n this.bankAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 6 :\r\n this.cashAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n }\r\n }\r\n\r\n\r\n getEmploymentDetails(){\r\n \r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n let Emp = value['records'];\r\n console.log('emp',Emp);\r\n this.employmentForm.controls['employer_name'].setValue(Emp.employer_name);\r\n this.employmentForm.controls['how_long_year'].setValue(Emp.how_long_year);\r\n this.employmentForm.controls['how_long_month'].setValue(Emp.how_long_month);\r\n this.employmentForm.controls['was_met'].setValue(Emp.was_met);\r\n this.employmentForm.controls['total_business_experience'].setValue(Emp.total_business_experience);\r\n this.employmentForm.controls['total_business_previous_experience'].setValue(Emp.total_business_previous_experience);\r\n if(this.employmentForm.controls['total_business_experience'] != null && this.employmentForm.controls['total_business_previous_experience'] != null){\r\n //this.checkWorkingExperiences();\r\n }\r\n\r\n if (Emp.name_person_met) {\r\n this.employmentForm.controls['name_person_met'].setValue(Emp.name_person_met);\r\n }\r\n if (Emp.designation_person_met) {\r\n this.employmentForm.controls['designation_person_met'].setValue(Emp.designation_person_met);\r\n }\r\n this.employmentForm.controls['confirm_salary'].setValue(Emp.confirm_salary);\r\n console.log('Emp.confirm_salary_amount',Emp.confirm_salary_amount,Emp.confirm_salary);\r\n if (Emp.confirm_salary) {\r\n this.employmentForm.controls['confirm_salary_amount'].setValue(Emp.confirm_salary_amount);\r\n this.inWords(Emp.confirm_salary_amount,1);\r\n \r\n }\r\n this.employmentForm.controls['attendance_seen'].setValue(Emp.attendance_seen);\r\n this.employmentForm.controls['sal_reg_seen'].setValue(Emp.sal_reg_seen);\r\n this.employmentForm.controls['from_date_the_salary_is_rcv'].setValue(Emp.from_date_the_salary_is_rcv);\r\n this.employmentForm.controls['to_date_the_salary_is_rcv'].setValue(Emp.to_date_the_salary_is_rcv);\r\n this.employmentForm.controls['gross_monthly_salary'].setValue(Emp.gross_monthly_salary);\r\n this.employmentForm.controls['net_monthly_salary'].setValue(Emp.net_monthly_salary);\r\n this.employmentForm.controls['amount_paid_in_cash'].setValue(Emp.amount_paid_in_cash);\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue(Emp.amount_paid_through_bank);\r\n this.employmentForm.controls['check_validated'].setValue(Emp.check_validated);\r\n this.employmentForm.controls['how_was_it_validated'].setValue(Emp.how_was_it_validated);\r\n this.employmentForm.controls['why_was_it_not_validated'].setValue(Emp.why_was_it_not_validated);\r\n this.employmentForm.controls['bonus_incentive'].setValue(Emp.bonus_incentive);\r\n this.employmentForm.controls['bonus_frequency'].setValue(Emp.bonus_frequency);\r\n this.employmentForm.controls['bonus_type'].setValue(Emp.bonus_type);\r\n this.employmentForm.controls['bonus_type_other'].setValue(Emp.bonus_type_other);\r\n this.employmentForm.controls['any_delays'].setValue(Emp.any_delays);\r\n this.employmentForm.controls['employment_remarks'].setValue(Emp.employment_remarks);\r\n \r\n this.inWords(Emp.gross_monthly_salary,2);\r\n this.inWords(Emp.net_monthly_salary,3);\r\n this.inWords(Emp.bonus_incentive,4);\r\n this.inWords(Emp.amount_paid_in_cash,5);\r\n this.inWords(Emp.amount_paid_through_bank,6);\r\n if(Emp.total_business_experience != ''){\r\n this.checkWorkingExperiences();\r\n}\r\n\r\n } \r\n })\r\n \r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component, ApplicationInitStatus, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormArray,FormBuilder,Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionCurrentLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-current-loans',\r\n templateUrl: 'pd-question-current-loans.html',\r\n})\r\n\r\nexport class PdQuestionCurrentLoansPage {\r\napplicants: any;\r\n placeholderName: any = [];\r\n lenderData: any;\r\n frequencyData: any;\r\n loanTypeData:any;\r\n FormId: any;\r\n users: any;\r\n pdDetails: any;\r\n questionDetails: any;\r\n currentLoans:FormGroup;\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n pdid:number;\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n dataFromAssets : any = [];\r\n labelArr : any = [];\r\n investmentTypeData: any=[];\r\n addressTypeData: any;\r\n propertyTypeData: any;\r\n tentureErrorFlag:boolean=false\r\n @ViewChild('balanceTenure') TenureFocus : ElementRef\r\n lenderDataValue: any;\r\n protected _onDestroy = new Subject();\r\n base64: any;\r\n imageBucket: any=[];\r\n tab: any='0';\r\n imageDisplay: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public toast:ToastProvider, \r\n public aws:AwsServiceProvider,public constant:ConstantsProvider,\r\n public cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0);\r\n \r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n \r\n\r\n this.getdropdown();\r\n \r\n this.users = this.aws.getlocale();\r\n this.currentLoans = this.fb.group(\r\n {\r\n existing_loan: [null],\r\n currentloan_remarks:[null],\r\n loan_details: this.fb.array([])\r\n });\r\n \r\n \r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\r\n console.log('{{FormId.form_name}}',this.FormId.form_name,this.FormId);\r\n this.getcurrentLoans()\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.currentLoans.dirty);\r\n if(this.currentLoans.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(res=>\r\n {\r\n this.lenderData = res['records'].filter(len=>len.isactive==1);\r\n this.lenderDataValue=this.lenderData.slice();\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n this.frequencyData = res['records'].filter(frq=>frq.isactive==1);\r\n });\r\n this.qustCat.getcommondrop('EXISTINGLOANTYPES').subscribe(val=>{\r\n this.loanTypeData=val['records'].filter(loan=>loan.isactive == 1 );\r\n });\r\n\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true )// && val.is_company_applicant===true\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n //modifyCompanyList.push({'id':\"0\",'name':'Others','group_id':1})\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n // this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n // modifyApplicantList.push()\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n\r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(data => {\r\n this.investmentTypeData=data['records'].filter(val=>val.isactive == 1);\r\n \r\n \r\n });\r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.addressTypeData=data['records'].filter(val=>val.isactive ==1 );\r\n })\r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.propertyTypeData=data['records'].filter(val=>val.isactive ==1);\r\n })\r\n }\r\n \r\n exitsCheck(val)\r\n { \r\n \r\n if(val ==\"Yes\")\r\n {\r\n this.addLoanDetails();\r\n }\r\n\r\n }\r\n createLoanDetail(data) {\r\n return this.fb.group({\r\n label: data == null ? [''] : [data.label],\r\n loan_amount: data == null ? [''] : [data.loan_amount],\r\n frequency: data == null ? [''] : [data.frequency],\r\n other_frequency: data == null ? [''] : [data.other_frequency],\r\n emi: data == null ? [''] : [data.emi],\r\n loan_type: data == null ? [''] : [data.loan_type],\r\n others_loan_type: data == null ? [''] : [data.others_loan_type],\r\n loan_taken_by: data == null ? [''] : [data.loan_taken_by],\r\n others_loan_taken: data == null ? [''] : [data.others_loan_taken],\r\n lender: data == null ? [''] : [data.lender],\r\n bankSearch:[''],\r\n others_lender: data == null ? [''] : [data.others_lender],\r\n original_tenure: data == null ? [''] : [data.original_tenure],\r\n current_balance_tenure: data == null ? [''] : [data.current_balance_tenure],\r\n elapsed_tenure: data == null ? [''] : [data.elapsed_tenure]\r\n // other_frequency:[''],\r\n // loan_amount: [''],\r\n // frequency:[''],\r\n // emi: [''],\r\n // loan_type: [''],\r\n // others_loan_type:[''],\r\n // loan_taken_by:[''],\r\n // others_loan_taken:[''],\r\n // lender: [''],\r\n // others_lender:[''],\r\n // original_tenure: [''],\r\n // current_balance_tenure: [''],\r\n // elapsed_tenure:[],\r\n });\r\n}\r\naddLoanDetails() {\r\n const control = this.currentLoans.controls['loan_details'];\r\n control.push(this.createLoanDetail(null));\r\n}\r\ndeleteLoanDetails(index) {\r\n const control = this.currentLoans.controls['loan_details'];\r\n if(control.length==1)\r\n {\r\n this.currentLoans.controls['loan_details'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\ncheckOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n}\r\ncheckTenure(details){\r\n let originalTenure = details.value.original_tenure;\r\n // alert(originalTenure);\r\n // if(originalTenure>=details.value.current_balance_tenure){\r\n // this.tentureErrorFlag=true\r\n details.controls.current_balance_tenure.setValidators([Validators.required, Validators.max(+originalTenure)]);\r\n details.controls.current_balance_tenure.updateValueAndValidity();\r\n //details.controls.current_balance_tenure.setValue\r\n // }\r\n // else{\r\n\r\n // this.toast.pdTriggerappmessage(\"Current Tenure \")\r\n \r\n \r\n \r\n // details.controls.current_balance_tenure.setValidators([Validators.max(+originalTenure)]);\r\n // details.controls.current_balance_tenure.updateValueAndValidity(); \r\n // let BalanceTenure = details.value.current_balance_tenure;\r\n // if( originalTenure < BalanceTenure){\r\n // alert('Greater');\r\n // details.controls.current_balance_tenure.setValue('');\r\n // alert('validation setted For');\r\n // details.controls.current_balance_tenure.setValidators([Validators.min(+originalTenure)]);\r\n // details.controls.current_balance_tenure.updateValueAndValidity(); \r\n \r\n \r\n // }\r\n}\r\ncalculateTenure(details)\r\n{\r\n let ElapsedValues;\r\n console.log(details)\r\n if(details.value.original_tenure != null && details.value.original_tenure != '' && details.value.current_balance_tenure != null && details.value.current_balance_tenure != '' ){\r\n console.log(\"not null\")\r\n if(details.value.current_balance_tenure <= details.value.original_tenure){\r\n console.log(\"validate\")\r\n this.tentureErrorFlag=false\r\n ElapsedValues = details.value.original_tenure - details.value.current_balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n else{\r\n //this.toast.pdTriggerappmessage(\"Oringinal Tenure Less than Current Balance Tenure\")\r\n this.tentureErrorFlag=true\r\n this.TenureFocus.nativeElement.focus();\r\n }\r\n \r\n}\r\nelse{\r\n this.tentureErrorFlag=false\r\n}\r\n\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n}\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n\r\nselectedfrequency(e,i){\r\n \r\n switch(+e){\r\n case 1: this.placeholderName[i] = 'Instalment Amount'; break;\r\n case 2: this.placeholderName[i] = 'Annual Instalment Amount'; break;\r\n case 3: this.placeholderName[i] = 'Halfyearly Instalment Amount'; break;\r\n case 4: this.placeholderName[i] = 'Fortnightly Instalment Amount'; break;\r\n case 5: this.placeholderName[i] = 'Daily Instalment Amount'; break;\r\n case 6: this.placeholderName[i] = 'Quarterly Instalment Amount'; break;\r\n case 7: this.placeholderName[i] = 'Monthly Instalment Amount'; break;\r\n default: this.placeholderName[i] = 'Instalment Amount'; break;\r\n}\r\n \r\n}\r\n\r\nsubmitCurrentloan(answerData) {\r\n console.log(answerData)\r\n console.log(\"true\",this.tentureErrorFlag);\r\n let inde=[]\r\n // answerData.loan_details.forEach((element,index)=>{\r\n \r\n // if(element.current_balance_tenure > element.original_tenure){\r\n // this.toast.pdTriggerappmessage(\"Oringinal Tenure Less than Current Balance Tenure\")\r\n // inde=index\r\n // }\r\n \r\n // })\r\n // console.log(\"index\",inde);\r\n // if(inde){\r\n // return\r\n // }\r\n if(this.tentureErrorFlag == true){\r\n this.toast.pdTriggerappmessage(\"Original Tenure Less than Current Balance Tenure\");\r\n this.TenureFocus.nativeElement.focus();\r\n return\r\n }\r\n \r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.existing_loan = answerData.existing_loan;\r\n records.loan_details = answerData.loan_details;\r\n records.currentloan_remarks = answerData.currentloan_remarks;\r\n records.loan_details.forEach(val=>{\r\n delete val.bankSearch\r\n })\r\n console.log(' final records when save',records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n // this.currentLoans.markAsUntouched();\r\n this.currentLoans.reset(this.currentLoans.value);\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n });\r\n}\r\n getcurrentLoans()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n const control = this.currentLoans.controls['loan_details'];\r\n if(res['dataStatus']==true )\r\n {\r\n let currentLoanDetails = res['records'];\r\n \r\n if(res['records'].loan_details !== undefined && res['records'].loan_details !=null && res['records'].loan_details !=''){\r\n currentLoanDetails.loan_details.forEach(val=>{\r\n val.bankSearch=''\r\n })\r\n var result = Object.keys(res['records'].loan_details).map(function(key) {\r\n \r\n return res['records'].loan_details[key];\r\n \r\n });\r\n console.log(\"resutl\",result);\r\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\r\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\r\n const control = this.currentLoans.controls['loan_details'];\r\n if(currentLoanDetails.existing_loan != 'No')\r\n {\r\n if(result.length ==0)\r\n {\r\n control.push(this.createLoanDetail(null));\r\n }else\r\n {\r\n \r\n result.forEach((datas,index)=>\r\n {\r\n //this.calculateTenure(res['records'])\r\n control.push(this.createLoanDetail(null));\r\n this.selectedfrequency(datas.frequency,index);\r\n if(datas.loan_amount!=''){\r\n this.amtInwords[index]=this.constant.convertNumberToWords(datas.loan_amount);\r\n }\r\n if(datas.emi!=''){\r\n this.emiAmtInwords[index]=this.constant.convertNumberToWords(datas.emi);\r\n }\r\n })\r\n\r\n this.currentLoans.controls['loan_details'].patchValue(result);\r\n \r\n }\r\n }\r\n }\r\n else\r\n {\r\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\r\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\r\n }\r\n\r\n }\r\n else {\r\n \r\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\r\n \r\n\r\n if(data.dataStatus == true){\r\n \r\n \r\n \r\n let AssetData = data.record;\r\n \r\n \r\n \r\n if(AssetData.business_address_asset.length > 0){\r\n AssetData.business_address_asset.map(element=>{\r\n this.dataFromAssets.push({mode:0,\r\n mode_name:element.address_label,\r\n details:[],\r\n owner_name:element.business_name_of_the_owner,\r\n other_owner: element.business_name_of_the_other_owner,\r\n form_type:'Data From Bussiness Address'})\r\n })\r\n }\r\n\r\n if(AssetData.business_assets.length>0){\r\n AssetData.business_assets.map(element => {\r\n this.dataFromAssets.push({mode:element.business_assets_mode,\r\n mode_name:element.business_assets_mode_name,\r\n details:element.business_details,\r\n owner_name:element.business_name_of_the_owner,\r\n other_owner: element.business_name_of_the_other_owner,\r\n form_type:'Data From Business Assets'})\r\n });\r\n }\r\n\r\n if(AssetData.other_assests.length > 0){\r\n AssetData.other_assests.map(element => {\r\n this.dataFromAssets.push({mode:element.assets_mode,\r\n mode_name:element.assets_mode_name,\r\n details:element.details,\r\n owner_name:element.name_of_the_owner,\r\n other_owner: element.other_owner,\r\n form_type:'Data From Other Asset'\r\n })\r\n })\r\n }\r\n \r\n \r\n // id: \"4\", name: \"Equipments and machinaries\", isactive: \"1\", flag: \"1\", is_others: \"0\"\r\n // id: \"7\", name: \"Investments\", isactive: \"1\", flag: \"0\", is_others: \"0\"\r\n // id: \"6\", name: \"Life Insurance Policy\", isactive: \"1\", flag: \"0\", is_others: \"0\"\r\n // id: \"2\", name: \"Property\", isactive: \"1\", flag: \"1\", is_others: \"0\"\r\n // id: \"3\", name: \"Vehicle\", isactsive: \"1\", flag: \"1\", is_others: \"0\"\r\n // id: \"1\", name: \"Others\", isactive: \"1\", flag: \"1\", is_others: \"1\"}\r\n \r\n if(this.dataFromAssets.length > 0){ \r\n let labelarray : any = [];\r\n \r\n this.dataFromAssets.forEach((val,index) => {\r\n if(val.mode == 0){\r\n \r\n let owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n \r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name;\r\n } \r\n if(val.mode == 1){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.any_other_assets;\r\n });\r\n if(val.owner_name.length>0 ){\r\n owner = val.owner_name.map((e => {\r\n // return e.name.split(',')\r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 2){\r\n \r\n let owner: any = \"Owner Not Mentioned\";\r\n let data;\r\n val.details.forEach((v,index) => {\r\n data = v.property_type_name;\r\n if(v.property_type != 1){\r\n if(val.form_type == 'Data From Business Assets'){\r\n data = this.addressTypeData.filter(item => item.address_type_id == v.property_type)[0].address_type;\r\n }\r\n else if(val.form_type == 'Data From Other Asset'){\r\n data = this.propertyTypeData.filter(item => item.id == v.property_type)[0].name;\r\n }\r\n else{\r\n data = '';\r\n }\r\n }else{\r\n data=v.other_property_type;\r\n }\r\n if(val.owner_name.length>0){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n });\r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 3){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.manufacturer_model_vehicle;\r\n });\r\n if(val.owner_name.length>0){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 4){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.equipment_manufacturing_description;\r\n });\r\n if(val.owner_name.length>0 ){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 6){\r\n \r\n let owner:any=\"Owner Not Mentioned\";\r\n if(val.owner_name.length>0)\r\n {\r\n owner=val.owner_name.map((e=>{\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n labelarray[index] = ' : '+owner+' - '+ val.mode_name;\r\n }\r\n if(val.mode == 7){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.investments_type != 1 \r\n ? this.investmentTypeData.filter(data => data.id == v.investments_type)[0].name \r\n : v.other_investments_type ;\r\n\r\n });\r\n if(val.owner_name.length>0){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : ' + owner + ' - '+ val.mode_name + description;\r\n var vals= owner + ' - '+ val.mode_name \r\n \r\n }\r\n });\r\n const control = this.currentLoans.controls['loan_details'];\r\n this.labelArr = labelarray;\r\n let arr : any = [];\r\n if(this.labelArr.length > 0){\r\n this.currentLoans.controls['existing_loan'].setValue('Yes');\r\n this.labelArr.forEach((v,index) => {\r\n \r\n arr = { \r\n 'label': v,\r\n 'loan_amount': '',\r\n 'frequency':'',\r\n 'other_frequency':'',\r\n 'emi': '',\r\n 'loan_type': '',\r\n 'others_loan_type': '',\r\n 'loan_taken_by':'',\r\n 'others_loan_taken':'',\r\n 'lender': '',\r\n 'others_lender':'',\r\n 'original_tenure': '',\r\n 'current_balance_tenure': '',\r\n 'elapsed_tenure':''\r\n }\r\n control.push(this.createLoanDetail(arr));\r\n });\r\n // this.currentLoanForm.controls['existing_loan'].setValue(arr);\r\n }\r\n }\r\n else{\r\n \r\n control.push(this.createLoanDetail(null));\r\n }\r\n \r\n }\r\n });\r\n }\r\n })\r\n \r\n \r\n }\r\n searchFun(control){\r\n console.log(control)\r\n let name:string=\"bank\"\r\n control.controls['bankSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.lenderDataValue=this.constant.searchData(this.lenderData,control.controls['bankSearch'].value,name)\r\n })\r\n \r\n }\r\n/*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n console.log(\"res\",res);\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n console.log(\"Fail\")\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n },ERR=>{\r\n console.log(JSON.stringify(ERR));\r\n this.toast.pdTriggerappmessage(JSON.stringify(ERR));\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormArray, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nexport interface Dbmaster{\r\n bt_lender_list_id: number;\r\n lender_name: string;\r\n // constant_name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'page-pd-question-loans',\r\n templateUrl: 'pd-question-loans.html',\r\n})\r\n\r\nexport class PdQuestionLoansPage {\r\n enduse: any = [];\r\n propertyType: any;\r\n mortagetypeAccess: boolean;\r\n mortageAccess: boolean = false;\r\n mortageCardAccess: boolean;\r\n topUpAmtInWords: any;\r\n ownContributionInWords: any;\r\n valAsPerAgmtInWords: any;\r\n balTxrfAmtInWords: any;\r\n loanAmtInWords: any;\r\n\r\n emiAmtInWords:any;\r\n emvAmtInWords:any;\r\n\r\n m_btLenderList: any;\r\n applicants: any;\r\n m_endUseofLoad: any;\r\n m_sourceofamount: any;\r\n m_mortageTypeProperty: any;\r\n m_statusofCunstruction: any;\r\n ownerNames: any=[];\r\n isOtherPurpose: boolean=false;\r\n endUserList: any=[];\r\n pdDetails: any;\r\n FormId: any;\r\n productAbbr:any;\r\n loanDetailsForm: FormGroup;\r\n users: any;\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any;\r\n m_endUseOFTopUpList:any=[]\r\n isContribution: boolean = false;\r\n\r\n \r\n isOtherSource: boolean = false;\r\n isPLSource: boolean = false;\r\n\r\n sourceList:any=[];\r\n pdid:number;\r\n m_endUseForLoan:any;\r\n subProductName : any;\r\n //public filterCtrl:FormControl=new FormControl\r\n private dbmasters: Dbmaster[];\r\n /** Subject that emits when the component has been destroyed. */\r\n protected _onDestroy = new Subject();\r\n public filteredBanks: ReplaySubject = new ReplaySubject(1);\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, \r\n public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, \r\n public toast: ToastProvider,public constant:ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(\"pd\",this.pdDetails);\r\n this.applicants = this.pdDetails.applicat_details\r\n this.applicants = this.applicants.filter(appt => appt.applicant_type != 2);\r\n this.productAbbr = this.pdDetails.product_abbr;\r\n this.subProductName = this.pdDetails.subproduct_name;\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.getDropdown();\r\n\r\n this.loanDetailsForm = this.fb.group({\r\n loan_amount: [''],\r\n loan_tenure:[''],\r\n sub_product:[''],\r\n end_use: ['', Validators.compose([Validators.required])],\r\n end_use_other: [''],\r\n is_transfer: ['', Validators.compose([Validators.required])],\r\n //is_topup: ['', Validators.compose([Validators.required])],\r\n // is_topup: [''],\r\n balance_transfer_amount: [''],\r\n topup_amount: [''],\r\n end_use_topup:[''],\r\n other_end_use_topup:[''],\r\n lender: [''],\r\n filterCtrl:[''],\r\n other_bt_lender : [''],\r\n own_contribution: ['', Validators.compose([Validators.required])],\r\n source: [''],\r\n //personal_loan_source:[''],\r\n other_source:[''],\r\n //lender_name_type: [''],\r\n emi_level: ['', Validators.compose([Validators.required])],\r\n property_type: ['', Validators.compose([Validators.required])],\r\n property_type_others:[''],\r\n owner_name: ['', Validators.compose([Validators.required])],\r\n construction_status: ['', Validators.compose([Validators.required])],\r\n //percentage_of_construction : [''],\r\n emv_per_customer: ['', Validators.compose([Validators.required])],\r\n //value_per_agreement: ['', Validators.compose([Validators.required])],\r\n loandetails_remarks: ['', Validators.compose([Validators.required])],\r\n });\r\n console.log(this.pdDetails)\r\n //Setting Initial value from PD Master\r\n if(this.loanDetailsForm.controls['loan_amount'] !=null){\r\n this.loanDetailsForm.controls['loan_amount'].setValue(this.pdDetails.loan_amount)\r\n this.loanAmtInWords=this.constant.convertNumberToWords(this.pdDetails.loan_amount);\r\n }\r\n if(this.pdDetails.fk_subproduct_id != null && this.pdDetails.fk_subproduct_id != ''){\r\n this.loanDetailsForm.controls['sub_product'].setValue(this.pdDetails.fk_subproduct_id)\r\n this.onChangeSubProduct(this.pdDetails.fk_subproduct_id);\r\n }\r\n \r\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\r\n {\r\n this.mortagetypeAccess = true;\r\n }else\r\n {\r\n this.mortagetypeAccess = false;\r\n }\r\n \r\n \r\n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\r\n this.isContribution = true;\r\n }\r\n this.loanDetailsForm.controls['filterCtrl'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.filterBank();\r\n })\r\n \r\n }\r\n ionViewDidLoad() {\r\n console .log('ionViewDidLoad PdQuestionLoansPage');\r\n \r\n this.getLoanDetails();\r\n this.getPDImages();\r\n }\r\n ngOnDestroy() {\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n \r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.loanDetailsForm.dirty);\r\n if(this.loanDetailsForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n \r\n }\r\n protected filterBank(){\r\n if(!this.dbmasters){\r\n return\r\n }\r\n let search=this.loanDetailsForm.controls['filterCtrl'].value \r\n if(!search){\r\n this.dbmasters=this.m_btLenderList\r\n // this.dbmasters=this.dbmasters.sort((a,b)=>{\r\n // if(a.lender_name>b.lender_name){\r\n // return 1;\r\n // }\r\n // if(a.lender_name{\r\n // if(a.lender_name>b.lender_name){\r\n // return 1;\r\n // }\r\n // if(a.lender_name master.lender_name.toLowerCase().indexOf(search) > -1)\r\n //this.dbmasters.filter(master => master.lender_name==search)\r\n )\r\n // console.log(\"mbtlender\",this.m_btLenderList)\r\n // console.log(\"Filtered banks\",this.filteredBanks)\r\n }\r\n\r\n\r\n \r\n\r\n\r\n getDropdown() {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n this.dbmasters=this.m_btLenderList\r\n this.dbmasters=this.dbmasters.sort((a,b)=>{\r\n if(a.lender_name>b.lender_name){\r\n return 1;\r\n }\r\n if(a.lender_name{\r\n \r\n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\r\n \r\n });\r\n\r\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\r\n data => {\r\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n console.log('data[records]',data['records']);\r\n let that = this;\r\n this.m_mortageTypeProperty = data['records'].filter(\r\n function (data) {\r\n if (that.pdDetails.product_abbr != \"LAP\") {\r\n if (data.group_name == that.pdDetails.product_abbr && data.isactive == 1) {\r\n return data;\r\n }\r\n }\r\n else if (that.pdDetails.product_abbr == \"LAP\") {\r\n if (data.group_name == that.productAbbr && data.sub_group_name == that.subProductName && data.isactive == 1) {\r\n return data;\r\n }\r\n else if (data.group_name == that.pdDetails.product_abbr && data.sub_group_name == null && data.isactive == 1) {\r\n return data;\r\n }\r\n }\r\n });\r\n // this.mortage_type(this.propertyType);\r\n }\r\n console.log('this.m_mortageTypeProperty',this.m_mortageTypeProperty);\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\r\n data => {\r\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\r\n });\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\r\n subdata => {\r\n if(subdata['dataStatus']==true){\r\n let that = this;\r\n this.m_endUseofLoad = subdata['records'].filter(\r\n function(data)\r\n {\r\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\r\n {\r\n return data;\r\n }\r\n });\r\n this.endUserChange(this.enduse)\r\n }\r\n });\r\n \r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n })\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n if(this.productAbbr != 'LAP'){\r\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\r\n }\r\n }\r\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\r\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\r\n }) \r\n }\r\n\r\n selectedBalancesTransferChanges(event: any){\r\n // if(event.value == 'no') { \r\n // this.loanDetailsForm.controls['is_topup'].clearValidators();\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // this.loanDetailsForm.controls['is_topup'].setValue('');\r\n //}\r\n //else if(event.value == 'yes'){\r\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // }\r\n if (event.value == 'no') {\r\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n\r\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \r\n this.loanDetailsForm.controls['lender'].setValue('');\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\r\n this.topUpAmtInWords=''\r\n\r\n }\r\n else if (event.value == 'yes') {\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n this.loanDetailsForm.controls['source'].clearValidators();\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.isOtherSource = false;\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n \r\n }\r\n\r\n}\r\n \r\n mortage_type(mortage_value)\r\n {\r\n console.log('mortage_value',mortage_value);\r\n console.log('this.m_mortageTypeProperty',this.m_mortageTypeProperty);\r\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\r\n let property_name = mortagetypes.property_name.replace(/\\s/g, \"\").toLowerCase();\r\n if(property_name=='others(pleasespecify)' || property_name=='others')\r\n {\r\n this.mortageAccess = true;\r\n }else\r\n {\r\n this.mortageAccess = false; \r\n }\r\n \r\n \r\n }\r\n compareObjects(o1: any, o2: any){\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n \r\n }\r\n\r\n\r\n loanCalc()\r\n {\r\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\r\n let loanAmount = this.loanDetailsForm.value.loan_amount;\r\n let topupAmt ;\r\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\r\n {if (loanAmount >= BtAmount) {\r\n topupAmt = loanAmount - BtAmount;\r\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n \r\n this.topUpAmtInWords = this.constant.convertNumberToWords(topupAmt);\r\n } else {\r\n this.toast.pdTriggerappmessage('warning !! Balances Transfer Amount is greater than Loan Amount Please check.!');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue('');\r\n this.balTxrfAmtInWords = '';\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.topUpAmtInWords = '';\r\n } }\r\n //this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n }\r\n\r\n onChangeSubProduct(subproduct) {\r\n this.qustCat.getEndUseForLoan(this.pdid,subproduct).subscribe(\r\n data => {\r\n this.m_endUseForLoan = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n endUserChange(event) {\r\n //this.endUserList = [];\r\n event.forEach(option => {\r\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\r\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\r\n this.endUserList.push({ end_use: option });\r\n if (othresData == 'others') {\r\n \r\n this.isOtherPurpose = true;\r\n return ;\r\n }else\r\n {\r\n this.isOtherPurpose = false;\r\n \r\n }\r\n });\r\n }\r\n ownerNameChange(event) {\r\n this.ownerNames = [];\r\n event.value.forEach(option => {\r\n this.ownerNames.push({ owner_name: option });\r\n });\r\n }\r\n sourceChange(evt) {\r\n\r\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\r\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\r\n\r\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\r\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\r\n\r\n this.sourceList = [];\r\n\r\n evt.forEach(option => {\r\n this.sourceList.push({source: option});\r\n });\r\n}\r\n inWords(e,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 2 : \r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 3 :\r\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 4 :\r\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 :\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 6:\r\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 7:\r\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n default:\r\n break;\r\n }\r\n}\r\n submitLoanDetails() {\r\n // if(this.loanDetailsForm.valid){\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\r\n records.loan_tenure=this.loanDetailsForm.controls['loan_tenure'].value;\r\n records.sub_product=this.loanDetailsForm.controls['sub_product'].value;\r\n // get end user final group data\r\n let dataEnd_user_data = [];\r\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\r\n dataEnd_user_data.push({end_use: element})\r\n });\r\n records.end_use_group = dataEnd_user_data;\r\n\r\n if (this.isOtherPurpose) {\r\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\r\n }\r\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\r\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\r\n }\r\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\r\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\r\n \r\n let dataSource_list=[];\r\n if(this.loanDetailsForm.controls['source'].value != '')\r\n {\r\n \r\n this.loanDetailsForm.controls['source'].value.forEach(element => {\r\n dataSource_list.push({sources : element})\r\n });\r\n }\r\n records.source_group=dataSource_list;\r\n \r\n }\r\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\r\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\r\n //}\r\n if(records.topup_amount > 0){\r\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\r\n if(records.end_use_topup == 1){\r\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\r\n }\r\n }\r\n \r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.lender = this.loanDetailsForm.controls['lender'].value;\r\n }\r\n if(this.loanDetailsForm.controls['lender'].value == 1){\r\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\r\n } \r\n \r\n \r\n\r\n \r\n /* records.source = this.loanDetailsForm.controls['source'].value;\r\n if (this.loanDetailsForm.controls['source'].value == 'other') {\r\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\r\n }*/\r\n if(this.isOtherSource){\r\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\r\n }\r\n else{\r\n records.other_source = ''; \r\n }\r\n \r\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\r\n if(this.mortageCardAccess == true){\r\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\r\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\r\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\r\n };\r\n // records.owner_name_group = this.ownerNames;\r\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\r\n let dataOwner_name = [];\r\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\r\n dataOwner_name.push({owner_name: element})\r\n });\r\n records.owner_name_group = dataOwner_name;\r\n }\r\n else{\r\n records.owner_name_group='';\r\n }\r\n \r\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\r\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\r\n \r\n }else{\r\n records.property_type = null;\r\n records.property_type_others = null;\r\n records.owner_name_group = null;\r\n records.construction_status = null;\r\n records.emv_per_customer = null;\r\n }\r\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\r\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\r\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']== true){\r\n //TO CHANGE THE FORM STATE \r\n // this.loanDetailsForm.markAsUntouched();\r\n this.loanDetailsForm.reset(this.loanDetailsForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n // this.notifier.notify('success', 'Saved Successfully.');\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter The All Field');\r\n // }\r\n }\r\n\r\n getLoanDetails() {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n let loanDetails = value['records'];\r\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\r\n return loanDetails.end_use_group[key];\r\n });\r\n \r\n\r\n //this.enduse\r\n result.forEach(val => {\r\n this.enduse.push(val.end_use);\r\n //this.endUserList.push({'end_use':val.end_use});\r\n });\r\n let ownername: any = [];\r\n if(loanDetails.owner_name_group != null){\r\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\r\n return loanDetails.owner_name_group[key];\r\n });\r\n owner.forEach(val => {\r\n ownername.push(val.owner_name);\r\n this.ownerNames.push({'end_use':val.end_use});\r\n });\r\n }\r\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\r\n this.loanDetailsForm.controls['loan_tenure'].setValue(loanDetails.loan_tenure);\r\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\r\n this.loanDetailsForm.controls['sub_product'].setValue(loanDetails.sub_product)\r\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\r\n this.endUserChange(this.enduse);\r\n\r\n if (loanDetails.end_use_other!='') {\r\n //this.endUserChange(this.enduse);\r\n // this.isOtherPurpose=true;\r\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\r\n }\r\n \r\n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \r\n if(loanDetails.topup_amount > 0){\r\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\r\n if (loanDetails.end_use_topup == 1) {\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\r\n }\r\n } \r\n }\r\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n }\r\n if (loanDetails.lender) {\r\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\r\n }\r\n // this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\r\n // if(loanDetails.own_contribution)\r\n // {\r\n // this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\r\n // }\r\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\r\n if ((this.isContribution == true) && (loanDetails.is_transfer != 'yes')) {\r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n }\r\n else{\r\n if(this.isContribution == false && loanDetails.is_transfer!='yes')\r\n {\r\n let source=Object.keys(loanDetails.source_group).map(function(key){\r\n return loanDetails.source_group[key];\r\n });\r\n let dbsourcelist:any=[];\r\n source.forEach(val=>{\r\n dbsourcelist.push(val.sources);\r\n });\r\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution)\r\n if (loanDetails.own_contribution) { this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution); }\r\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\r\n this.sourceChange(dbsourcelist);\r\n if(loanDetails.other_source) {\r\n // this.isOtherSource = true;\r\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\r\n }\r\n \r\n \r\n }\r\n }\r\n\r\n/* if (loanDetails.lender_name_type) {\r\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\r\n }*/\r\n \r\n if(loanDetails.emi_level){\r\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\r\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\r\n }\r\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \r\n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\r\n this.propertyType =loanDetails.property_type;\r\n if(loanDetails.property_type !=null && loanDetails.property_type !=''){\r\n this.mortage_type(this.propertyType);\r\n if(this.mortageCardAccess == true){\r\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \r\n // this.mortage_type(loanDetails.property_type_others);\r\n \r\n }\r\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\r\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\r\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\r\n if(loanDetails.emv_per_customer)\r\n {\r\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\r\n }\r\n }\r\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\r\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\r\n } else {\r\n\r\n }\r\n })\r\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\r\n this.mortageCardAccess = false;\r\n this.loanDetailsForm.controls['owner_name'].setValue('');\r\n this.loanDetailsForm.controls['owner_name'].clearValidators();\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }else{\r\n this.mortageCardAccess = true;\r\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }\r\n \r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-banking',\r\n templateUrl: 'pd-question-banking.html',\r\n // changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PdQuestionBankingPage {\r\n \r\n m_btLenderList: any;\r\n applicants: any ;\r\n salaryField: boolean;\r\n FormId: any;\r\n accountType: any;\r\n users: any;\r\n bankDetails:FormGroup;\r\n pdDetails: any;\r\n pdid:any;\r\n bankitems:FormArray;\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n limitCaseFlag: any=[];\r\n amtInwords: any=[];\r\n\r\n protected _onDestroy = new Subject();\r\n m_btLenderListValue: any=[];\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public cons: ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) {\r\n //this.applicants.pop();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n \r\n \r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.bankDetails = this.fb.group(\r\n {\r\n bankitems:this.fb.array([]),\r\n banking_form_remark:[null],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n // this.bankDetails.controls['bankitems'].valueChanges\r\n // .pipe(takeUntil(this._onDestroy))\r\n // .subscribe(()=>{\r\n // this.filterBank();\r\n // })\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBankingPage');\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.bankDetails.dirty);\r\n if(this.bankDetails.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\n checkImage(){\r\n let value\r\n if(this.imageDisplay.length>0){\r\n // return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Captured Images are not Saved\",\"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n // reject();\r\n value=false;\r\n }\r\n else{\r\n // resolve();\r\n value=true;\r\n }\r\n })\r\n // })\r\n }\r\n return value\r\n }\r\n searchFun(control){\r\n control.controls['filterCtrl'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterBank(control);\r\n })\r\n}\r\n\r\n filterBank(event){\r\n if(!this.m_btLenderListValue){\r\n return\r\n }\r\n let search=event.controls['filterCtrl'].value\r\n if(!search){\r\n this.m_btLenderListValue=this.m_btLenderList.slice()\r\n return\r\n }\r\n else{\r\n search=search.toLowerCase()\r\n this.m_btLenderListValue=this.m_btLenderList.filter(val=>val.lender_name.toLowerCase().indexOf(search)> -1)\r\n }\r\n }\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1 && data.lender_type == 1);\r\n this.m_btLenderListValue=this.m_btLenderList.slice();\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n // let modifyCompanyList : any=[];\r\n // if(this.existCompanyList.length>0){\r\n // modifyCompanyList = this.existCompanyList.map(element => {\r\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n // });\r\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n //}\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n\r\n/** Amount InWords */\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n \r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n bank_name: [''],\r\n filterCtrl:[''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n //is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n \r\n addBankDetails() {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n\r\n if(this.bankitems.length==1){\r\n this.bankitems.reset();\r\n }\r\n else\r\n this.bankitems.removeAt(i);\r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n\r\n answerData.bankitems.forEach(element=>{\r\n //console.log(\"items\",element.filterCtrl);\r\n // if(element.filterCtrl){\r\n // console.log(\"enter\",element.filterCtrl)\r\n delete element.filterCtrl\r\n // }\r\n });\r\n // console.log(\"logs\",answerData)\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.banking_details = answerData.bankitems;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.bankDetails.dirty=false;\r\n // this.bankDetails.markAsDirty();\r\n // console.log(\"Dir\",this.bankDetails.markAsDirty())\r\n // console.log(\"pristine\",this.bankDetails.markAsPristine());\r\n // console.log(\"Touched\",this.bankDetails.markAsTouched());\r\n\r\n //TO CHANGE THE FORM STATE \r\n // this.bankDetails.markAsUntouched();\r\n // console.log(\"touched\",this.bankDetails.touched)\r\n // console.log(\"untouched\",this.bankDetails.untouched)\r\n // console.log(\"pristine\",this.bankDetails.pristine)\r\n this.bankDetails.reset(this.bankDetails.value)\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n \r\n }\r\n\r\n retiveBankDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n if(result.length ==0){\r\n \r\n this.bankitems.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n \r\n \r\n \r\n result.forEach((datas,index)=>\r\n {\r\n datas.filterCtrl=''\r\n this.selectedAccTypeChanges(+datas.account_type,index)\r\n if(datas.limit != ''){\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n } \r\n // this.selectedBorrower(datas.applicant_name,index);\r\n this.bankitems.push(this.createBankItem(''));\r\n })\r\n this.bankDetails.controls['bankitems'].setValue(result);\r\n }\r\n \r\n \r\n }else\r\n {\r\n \r\n this.addBankDetails();\r\n }\r\n });\r\n \r\n }\r\n\r\n \r\n/*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionFamilyPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-family',\r\n templateUrl: 'pd-question-family.html',\r\n})\r\nexport class PdQuestionFamilyPage {\r\n\r\n\r\n earningStatus = [{\r\n type: 'Earning',\r\n id: 1\r\n}, {\r\n type: 'Non Earning',\r\n id: 2\r\n}]\r\nearning_gross_income_per_month:any;\r\n\r\n nofamily:number;\r\ndata:any;\r\n familyAddStatus: boolean;\r\n ownerShip: any;\r\n cusSeg: any;\r\n FormId: any;\r\n users: any;\r\n pdDetails: any;\r\n occupationData: any;\r\n membersitem: FormArray;\r\n items: FormArray;\r\n relationData: any;\r\n familyForm: FormGroup;\r\n total_number_of_family_members;\r\n filteredStates: any ;\r\n public selected_person;\r\n stateData:any;\r\n cityData: any =[];\r\n pincodeData:any=[];\r\n FamilyMemberAsLabel: any=[];\r\n selectPerson: any=[];\r\n apiFamilyMembers: any=[];\r\n //isReadOnly: any=[];\r\n RentAmount: any=[];\r\n IncomePerMonth: any=[];\r\n // cons: any;\r\n cityDataValue:any=[]\r\n stateDataValue:any=[]\r\n protected _onDestroy = new Subject();\r\n pincodeDataValue: any=[];\r\n relationDataValue: any=[];\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider,public cons:ConstantsProvider,\r\n private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.selected_person=this.pdDetails.pdapplicants_details;\r\n this.selectPerson=this.pdDetails.applicat_details\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n this.familyForm = this.fb.group({\r\n family_details: this.fb.array([\r\n //this.initFamilyDetails()\r\n \r\n ]),\r\n family_details_form_remark:[''],\r\n \r\n \r\n });\r\n this.getRelation();\r\n this.getoccupation();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log(\"ionViewDidLoad PdQuestionFamilyPage\")\r\n this.getFamilyData();\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.familyForm.dirty);\r\n if(this.familyForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n initFamilyDetails(records) : void\r\n {\r\n if (records === null) {\r\n let formData: FormGroup = this.fb.group({\r\n selected_person: ['', Validators.compose([Validators.required])],\r\n residence_place: [''],\r\n residence_city: [''],\r\n citySearch:[''],\r\n residence_state: [''],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n residence_pin: [''],\r\n residence_other_pincode:[''],\r\n residence_No_of_years: [''],\r\n residence_ownership: [''],\r\n ownershipOther: [''],\r\n rent: [''],\r\n total_number_of_family_members: ['', Validators.compose([Validators.min(1), Validators.max(20)])],\r\n family_members_details: this.fb.array([])\r\n });\r\n const control = this.familyForm.controls['family_details'];\r\n control.push(formData);\r\n \r\n }\r\n else{\r\n records.forEach((val,index)=>{\r\n if(val.rent != null){\r\n this.inWords(val.rent,index,2)\r\n }\r\n this.FamilyMemberAsLabel[index] = this.selectPerson.filter(item => item.pd_co_applicant_id == val.selected_person)[0].applicant_name;\r\n this.getCity(val.residence_state,index);\r\n let formData:FormGroup=this.fb.group({\r\n selected_person:[val.selected_person,Validators.compose([Validators.required])],\r\n residence_place:[val.residence_place],\r\n residence_city:[val.residence_city],\r\n citySearch:[''],\r\n residence_state:[val.residence_state],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n residence_pin:[val.residence_pin],\r\n residence_other_pincode:[val.residence_other_pincode],\r\n residence_No_of_years: [val.residence_No_of_years],\r\n residence_ownership:[val.residence_ownership],\r\n rent:[val.rent || null],\r\n ownershipOther:[val.ownershipOther || null],\r\n total_number_of_family_members:[val.total_number_of_family_members,Validators.compose([Validators.min(1), Validators.max(20)])],\r\n family_members_details:this.fb.array([])\r\n \r\n });\r\n \r\n const control = this.familyForm.controls['family_details'];\r\n control.push(formData);\r\n \r\n let inx=control.length-1;\r\n //this.getNumberOfFamilyMemberDetails(inx);\r\n this.initFamilyMembersDetails(inx, val.family_members_details);\r\n \r\n \r\n //this.initFamilyMembersDetails\r\n \r\n })\r\n }\r\n /*\r\n return this.fb.group({\r\n //family_details\r\n selected_person:[''],\r\n residence_place:[''],\r\n residence_city:[''],\r\n residence_state:[''],\r\n residence_pin:[''],\r\n residence_No_of_years: [''],\r\n residence_ownership:[],\r\n rent:[''],\r\n ownershipOther:[''],\r\n total_number_of_family_members:['',Validators.compose([Validators.min(1), Validators.max(20)])],\r\n \r\n //family_member_details\r\n \r\n \r\n \r\n family_members_details:this.fb.array([]),\r\n \r\n\r\n // person: [null],\r\n /* personOther: [''],\r\n members: [''],\r\n residence: [''],\r\n years: [null],\r\n family_details_form_remark:[''],\r\n \r\n });*/\r\n\r\n }\r\n initFamilyMembersDetails(inx,val) :void {\r\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\r\n val.forEach((vals,index)=>{\r\n\r\n \r\n if(vals.earning_gross_income_per_month != null){\r\n this.inWords(vals.earning_gross_income_per_month,index,1);\r\n }\r\n let datas = this.fb.group({\r\n family_member_name: [vals.family_member_name || null],\r\n family_member_relationship: [vals.family_member_relationship || null],\r\n relationSearch:[''],\r\n family_member_age: [vals.family_member_age || null],\r\n family_member_earning_status: [vals.family_member_earning_status || null],\r\n earning_segment: [vals.earning_segment || null],\r\n earning_if_others_segment:[vals.earning_if_others_segment || null],\r\n earning_gross_income_per_month: [vals.earning_gross_income_per_month || null],\r\n earning_name_of_the_employer_or_business: [vals.earning_name_of_the_employer_or_business || null],\r\n earning_number_of_years_in_employment_or_business: [vals.earning_number_of_years_in_employment_or_business || null],\r\n non_earning_occupation: [vals.non_earning_occupation || null],\r\n non_earning_if_others: [vals.non_earning_if_others || null],\r\n non_earning_if_schoolorcollege:[vals.non_earning_if_schoolorcollege || null],\r\n non_earning_if_retired_from: [vals.non_earning_if_retired_from || null],\r\n })\r\n \r\n control.push(datas);\r\n });\r\n }\r\n \r\n /*return this.fb.group({\r\n family_member_name:[''],\r\n family_member_relationship:[],\r\n family_member_age:[],\r\n family_member_earning_status:[''],\r\n //family_member_earnings\r\n earning_segment:[''],\r\n earning_gross_income_per_month:[''],\r\n earning_name_of_the_employer_or_business:[''],\r\n earning_number_of_years_in_employment_or_business:[''],\r\n \r\n non_earning_occupation:[''],\r\n non_earning_if_others:[''],\r\n non_earning_if_retired_from:[''],\r\n });*/\r\n \r\n\r\n\r\n add() :void { \r\n // const control=this.familyForm.controls['family_details'];\r\n //control.push(this.initFamilyDetails('chck'));\r\n this.initFamilyDetails(null);\r\n this.toast.pdTriggerappmessage(\"Family Details Added\");\r\n }\r\n remove_family_details(i:number):void{\r\n const control=this.familyForm.controls['family_details'];\r\n control.removeAt(i);\r\n }\r\n addMemberDet(data:any){\r\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n //this.initFamilyMembersDetails('','')\r\n control.push(this.generateFamilyMembersDetailsGet())\r\n }\r\n removeMemberDet(index:any,f_index:any){\r\n const control=this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details;\r\n if(control.length>1){\r\n control.removeAt(index); \r\n }\r\n else{\r\n control.reset()\r\n }\r\n // if(control.value !=null && index == 0)\r\n\r\n }\r\n getNumberOfFamilyMemberDetails(data)\r\n {\r\n \r\n var datavalue=data;\r\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\r\n if(formData['total_number_of_family_members'].valid)\r\n {\r\n let totmem=formData['total_number_of_family_members'].value;\r\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n if(totmem>=control.length){\r\n let len=totmem-control.length;\r\n for( let i=0;i=totmem;i--)\r\n {\r\n control.removeAt(i);\r\n }\r\n \r\n // var nn=control.length-totmem; \r\n // control.controls = [];\r\n /*for (let i = 0; i < totmem; i++) {\r\n control.push(this.generateFamilyMembersDetailsGet());\r\n\r\n }*/\r\n // this.initFamilyDetails(this.resValue['records'].family_details);\r\n // this.toast.pdTriggerappmessage(\"Please choose the number greater than\"+control.length);\r\n }\r\n \r\n \r\n }\r\n else{\r\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n control.removeAt(control.length);\r\n control.controls=[];\r\n }\r\n /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n control.push(this.initFamilyMembersDetails());\r\n */ \r\n }\r\n generateFamilyMembersDetailsGet(): FormGroup {\r\n return this.fb.group({\r\n family_member_name: ['' ],\r\n family_member_relationship: [''],\r\n relationSearch:[''],\r\n family_member_age: [''],\r\n family_member_earning_status: [''],\r\n earning_segment: [''],\r\n earning_if_others_segment:[''],\r\n earning_gross_income_per_month: [''],\r\n earning_name_of_the_employer_or_business: [''],\r\n earning_number_of_years_in_employment_or_business: [''],\r\n non_earning_occupation: [''],\r\n non_earning_if_others: [''],\r\n non_earning_if_schoolorcollege:[''],\r\n non_earning_if_retired_from: [''],\r\n })\r\n}\r\n \r\n getRelation() {\r\n let master_name = 'RELATIONSHIPS';\r\n this.qustCat.getcommondrop(master_name).subscribe(data => {\r\n \r\n if(data['dataStatus'] == true){\r\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\r\n this.relationDataValue=this.relationData.slice();\r\n }\r\n });\r\n\r\n this.qustCat.getcommondrop('PERSONSMET').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.filteredStates = res['records'].filter(per=>per.isactive==1);\r\n }\r\n });\r\n // this.qustCat.getcommondrop('CUSTOMERSEGMENT').subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\r\n // }\r\n // });\r\n this.qustCat.getcommondrop('EARNINGMEMBERSSTATUS').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.ownerShip = res['records'].filter(own=>own.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.stateData=res['records'].filter(item=>item.isactive==1);\r\n this.stateDataValue=this.stateData.slice();\r\n }\r\n })\r\n \r\n}\r\ngetCity(e,i){\r\n // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); \r\n // this._pd.retriveForm(params).subscribe(data => {\r\n this.qustCat.getStateWiseCities(e).subscribe(data=>{\r\n if (data['dataStatus'] == true) {\r\n this.cityData[i] = data.records.cities; \r\n this.cityDataValue[i]=this.cityData[i].slice();\r\n this.pincodeData[i] = data.records.pincode;\r\n this.pincodeDataValue[i]=this.pincodeData[i].slice()\r\n }\r\n });\r\n}\r\ngetoccupation()\r\n{\r\n let master_name = 'OCCUPATIONMEMBERS';\r\n this.qustCat.getcommondrop(master_name).subscribe(data => {\r\n if(data['dataStatus']==true){\r\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\r\n }\r\n });\r\n}\r\n /* createMembers(): FormGroup {\r\n return this.fb.group({\r\n earning_member_name : [null],\r\n earning_member_age : [null],\r\n relation: [null],\r\n segment: [null],\r\n income: [null],\r\n employer_name: [null],\r\n });\r\n}\r\ncount :number = 0;\r\naddearningMembers()\r\n{\r\n this.items = this.familyForm.get('earningMembers') as FormArray;\r\n this.items.push(this.createMembers());\r\n this.count++;\r\n this.checkfamilystatus(this.count,''); \r\n\r\n}\r\n\r\ndeleteEarningMembers(i)\r\n{\r\n\r\n if(this.items.length==1)\r\n {\r\n this.familyForm.controls['earningMembers'].reset();\r\n }else{\r\n this.items.removeAt(i);\r\n }\r\n this.count--;\r\n this.checkfamilystatus(this.count,''); \r\n}\r\ncreateNonMembers(): FormGroup {\r\n return this.fb.group({\r\n non_earning_member_name : [''],\r\n non_earning_member_age : [''],\r\n relationship: [null],\r\n occupation: [null],\r\n retired: [null],\r\n others_occupation:[null],\r\n });\r\n}\r\naddMembers()\r\n{\r\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\r\n this.count++;\r\n this.checkfamilystatus(this.count,''); \r\n this.membersitem.push(this.createNonMembers());\r\n \r\n}\r\ndeleteMembers(i)\r\n{\r\n if(this.membersitem.length==1){\r\n this.familyForm.controls['nonEarningMembers'].reset();\r\n \r\n }else{\r\n this.membersitem.removeAt(i);\r\n }\r\n this.count--;\r\n this.checkfamilystatus(this.count,''); \r\n}\r\ncheckfamilystatus(count,familystatus)\r\n{\r\n if(familystatus !='' && familystatus !==undefined){\r\n\r\n }else{\r\n familystatus = this.familyForm.get('members').value;\r\n }\r\n if(familystatus !== null ){\r\n if(familystatus == count)\r\n {\r\n\r\n this.familyAddStatus = true;\r\n }else\r\n {\r\n this.familyAddStatus = false;\r\n }\r\n }\r\n}*/\r\n/* Old\r\nsavepdfamily(answerData)\r\n{\r\n let records: any = {};\r\n records.no_of_years = answerData.years;\r\n if (answerData.ownership == '4') {\r\n records.ownershipOther = answerData.ownershipOther;\r\n } \r\n records.residence = answerData.residence;\r\n if (answerData.ownership == '3') {\r\n records.what_rent = answerData.rent;\r\n }\r\n // if (answerData.person == '8') {\r\n // records.person_met = answerData.personOther.value;\r\n // } else {\r\n // records.person_met = answerData.person;\r\n // }\r\n records.ownership = answerData.ownership\r\n records.family_members = answerData.members;\r\n records.earning_members = answerData.earningMembers;\r\n records.non_earning_members = answerData.nonEarningMembers;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.family_details_form_remark = answerData.family_details_form_remark;\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n}*/\r\nsetValidation(control){\r\n console.log(control)\r\n if(control.controls['family_member_earning_status'].value == 1){\r\n control.controls['non_earning_occupation'].clearValidators()\r\n control.controls['non_earning_occupation'].updateValueAndValidity()\r\n }\r\n if(control.controls['family_member_earning_status'].value == 2 ){\r\n control.controls['non_earning_occupation'].setValidators(Validators.compose([Validators.required]))\r\n control.controls['non_earning_occupation'].updateValueAndValidity()\r\n }\r\n}\r\n\r\nsavepdfamily(answerData)\r\n{\r\n if(!this.familyForm.valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Mandatory Fields\");\r\n return\r\n }\r\n \r\n let records:any={};\r\n \r\n records=this.familyForm.value;\r\n\r\n Object.keys(records).forEach((key)=>(records[key]==null)&& delete records[key]);\r\n \r\n\r\n records.pdid=this.pdDetails.pd_id;\r\n records.formid=this.FormId.form_id;\r\n records.fk_createdby=this.users;\r\n records.family_details.forEach(parVal=>{\r\n console.log(\"par\",parVal)\r\n delete parVal.stateSearch\r\n delete parVal.citySearch\r\n delete parVal.pinSearch\r\n parVal.family_members_details.forEach(childVal=>{\r\n console.log(\"childval\",parVal)\r\n delete childVal.relationSearch\r\n })\r\n })\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n //TO CHANGE THE FORM STATE \r\n this.familyForm.reset(this.familyForm.value);\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n \r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Some Fields value is Missing Please Fill It\");\r\n })\r\n\r\n /*let records: any = {};\r\n records.no_of_years = answerData.residence_No_of_years;\r\n if (answerData.residence_ownership == '4') {\r\n records.ownershipOther = answerData.ownershipOther;\r\n } \r\n //records.residence = answerData.residence;\r\n if (answerData.residence_ownership == '3') {\r\n records.what_rent = answerData.rent;\r\n }\r\n // if (answerData.person == '8') {\r\n // records.person_met = answerData.personOther.value;\r\n // } else {\r\n // records.person_met = answerData.person;\r\n // }\r\n records.ownership = answerData.residence_ownership\r\n records.family_members = answerData.total_number_of_family_members;\r\n records.earning_members = answerData.earningMembers;\r\n records.non_earning_members = answerData.nonEarningMembers;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.family_details_form_remark = answerData.family_details_form_remark;\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })*/\r\n}\r\nprevFamilyMembersCtrlLength: number = 0;\r\ncurrFamilyMembersCtrlLength: number = 0;\r\nselectedPerson(e,inx){\r\n \r\n this.FamilyMemberAsLabel[inx] = this.selectPerson.filter(item => item.pd_co_applicant_id == e)[0].applicant_name;\r\n \r\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\r\n \r\n this.currFamilyMembersCtrlLength = control.length;\r\n \r\n let i : number = 0 ;\r\n for(i ;i < this.prevFamilyMembersCtrlLength;i++){\r\n console.log(i,this.prevFamilyMembersCtrlLength);\r\n control.removeAt(i);\r\n }\r\n // while(index < this.prevFamilyMembersCtrlLength)\r\n // { \r\n // }\r\n this.prevFamilyMembersCtrlLength = this.currFamilyMembersCtrlLength;\r\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\r\n\r\n if(this.apiFamilyMembers.length>0){\r\n\r\n let arraydata : any;\r\n let data = this.apiFamilyMembers.filter(item => item.relation_to == e);\r\n\r\n \r\n // data_gets_from:'GeneralForm'\r\n // data_gets_from:'BusinessForm'\r\n \r\n if(data.length > 0){\r\n \r\n \r\n this.prevFamilyMembersCtrlLength = data.length;\r\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\r\n\r\n\r\n data.forEach((val,inx) => {\r\n \r\n // // family_member_earning_status\r\n // if(val.age){\r\n // this.isReadOnly[inx] = true;\r\n // }else{\r\n // this.isReadOnly[inx] = false;\r\n // }\r\n arraydata = {\r\n 'family_member_name' : val.name,\r\n 'family_member_relationship' : val.relationship,\r\n 'family_member_age' : val.age,\r\n 'family_member_earning_status': val.data_gets_from == 'BusinessForm' ? '1' :'',\r\n 'earning_segment': '',\r\n 'earning_gross_income_per_month': '',\r\n 'earning_name_of_the_employer_or_business':'',\r\n 'earning_number_of_years_in_employment_or_business': '',\r\n 'earning_if_others_segment':'',\r\n 'non_earning_occupation': '',\r\n 'non_earning_if_others': '',\r\n 'non_earning_if_retired_from': '',\r\n 'non_earning_if_schoolorcollege': ''\r\n }\r\n control.push(this.initgenerateFamilyMembersDetailsGet(arraydata));\r\n \r\n });\r\n }\r\n else{\r\n this.prevFamilyMembersCtrlLength = 1;\r\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\r\n \r\n\r\n control.push(this.generateFamilyMembersDetailsGet()); \r\n }\r\n }\r\n else{\r\n \r\n control.push(this.generateFamilyMembersDetailsGet());\r\n } \r\n}\r\n\r\ngenerateFamilyMembersDetailsGetData(data){\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n});\r\nif (result.length > 0) {\r\n for (let val of result) {\r\n const control = this.familyForm.controls['family_members_details'];\r\n control.push(this.initgenerateFamilyMembersDetailsGet(val));\r\n }\r\n}\r\n}\r\ninitgenerateFamilyMembersDetailsGet(val):FormGroup{\r\n return this.fb.group({\r\n family_member_name: [val.family_member_name],\r\n family_member_relationship: [val.family_member_relationship],\r\n relationSearch:[''],\r\n family_member_age: [val.family_member_age],\r\n family_member_earning_status: [val.family_member_earning_status],\r\n earning_segment: [val.earning_segment],\r\n earning_if_others_segment:[val.earning_if_others_segment],\r\n earning_gross_income_per_month: [val.earning_gross_income_per_month],\r\n earning_name_of_the_employer_or_business: [val.earning_name_of_the_employer_or_business],\r\n earning_number_of_years_in_employment_or_business: [val.earning_number_of_years_in_employment_or_business],\r\n non_earning_occupation: [val.non_earning_occupation],\r\n non_earning_if_others: [val.non_earning_if_others],\r\n non_earning_if_schoolorcollege:[val.non_earning_if_schoolorcollege],\r\n non_earning_if_retired_from: [val.non_earning_if_retired_from],\r\n})\r\n}\r\nresValue:any;\r\n\r\n getFamilyData()\r\n {\r\n this.qustCat.getFamilyDetails(this.pdDetails.pd_id).subscribe(res=>{\r\n // console.log(res);\r\n if(res['dataStatus']==true){\r\n // console.log('res.record.from_general_form',res.record.from_general_form,res['record']);\r\n let Temparr : any = [];\r\n\r\n if(res.record.from_general_form.length>0){\r\n let familyMembersGeneralForm=Object.keys(res.record.from_general_form).map(function(key){\r\n return res.record.from_general_form[key]\r\n });\r\n let datas=familyMembersGeneralForm.map(element=>{\r\n return {id:element.pd_co_applicant_id.toString(),\r\n name:element.applicant_name,\r\n relationship:element.relationship,\r\n relation_to:element.relation_to,\r\n age:element.age,\r\n data_gets_from:'GeneralForm'};\r\n \r\n });\r\n Temparr.push(datas);\r\n // console.log('Temparr',Temparr);\r\n }\r\n else{\r\n console.log(\"No data in General Form\")\r\n }\r\n if(res.record.from_business_form.length >0){\r\n let familyMembersBusinessForm=Object.keys(res.record.from_business_form).map(function(key){\r\n return res.record.from_business_form[key]\r\n });\r\n let datas=familyMembersBusinessForm.map(element=>{\r\n return {id:element.other_family_relationship_id,\r\n name:element.family_member_name,\r\n relationship:element.other_family_relationship_id,\r\n relation_to:element.relation_to_id,\r\n age:'',\r\n data_gets_from:'BusinessForm'};\r\n });\r\n Temparr.push(datas);\r\n }\r\n else{\r\n console.log(\"No data in Business Form\")\r\n }\r\n this.apiFamilyMembers = [].concat.apply([],Temparr);\r\n }\r\n })\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n console.log(\"Entering Retrieve\");\r\n \r\n if(res['status']==200){\r\n if(res['records'].family_details.length > 0){\r\n //FOR REMOVING CONTROL\r\n res['records'].family_details.forEach(parVal=>{\r\n parVal.stateSearch=''\r\n parVal.citySearch=''\r\n parVal.pinSearch=''\r\n parVal.family_members_details.forEach(childVal=>{\r\n delete childVal.relationSearch\r\n })\r\n })\r\n this.familyForm.controls.family_details_form_remark.setValue(res['records'].family_details_form_remark);\r\n this.resValue=res;\r\n this.initFamilyDetails(res['records'].family_details);\r\n \r\n }\r\n \r\n }\r\n else{\r\n console.log(\"No Data Found\");\r\n this.initFamilyDetails(null);\r\n \r\n }\r\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\r\n \r\n },err=>{\r\n console.log(\"Error\",err)\r\n })\r\n\r\n \r\n \r\n \r\n /*let earning:any = [];\r\n let non_earning:any = [];\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\r\n\r\n return res['records'].non_earning_members[key];\r\n });\r\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\r\n earning = Object.keys(res['records'].earning_members).map(function(key) {\r\n return res['records'].earning_members[key];\r\n });\r\n let familyDetails = res['records'];\r\n this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); \r\n // this.familyForm.controls['person'].setValue(familyDetails.person_met);\r\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\r\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\r\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\r\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\r\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\r\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\r\n this.familyForm.controls['rent'].setValue(familyDetails.what_rent);\r\n // this.familyForm.controls['earningMembers'].setValue(earning);\r\n // for(this.)\r\n this.items = this.familyForm.get('earningMembers') as FormArray;\r\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\r\n if(earning.length==0)\r\n {\r\n this.addearningMembers();\r\n }else\r\n {\r\n earning.forEach(datas => {\r\n this.count++;\r\n this.items.push(this.createMembers());\r\n });\r\n this.familyForm.controls['earningMembers'].setValue(earning);\r\n \r\n }\r\n\r\n if(non_earning.length==0)\r\n {\r\n this.addMembers(); \r\n }else\r\n {\r\n non_earning.forEach(datas => {\r\n this.count++;\r\n this.membersitem.push(this.createNonMembers());\r\n \r\n });\r\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\r\n // this.checkfamilystatus(this.count);\r\n }\r\n \r\n // for(let earningDetails of earning){\r\n // this.items = this.familyForm.get('earningMembers') as FormArray;\r\n // this.items.push(earning);\r\n // }\r\n\r\n }else\r\n {\r\n this.addearningMembers();\r\n this.addMembers();\r\n }\r\n }) */ \r\n }\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.IncomePerMonth[i] = this.cons.convertNumberToWords(e); \r\n break;\r\n case 2 :\r\n this.RentAmount[i] = this.cons.convertNumberToWords(e); \r\n break;\r\n }\r\n }\r\n initSetValue(records):void{\r\n for(let val of records){\r\n let formData:FormGroup=this.fb.group({\r\n selected_person:[val.selected_person,Validators.compose([Validators.required])],\r\n residence_place:[val.residence_place]\r\n })\r\n }\r\n }\r\n\r\n\r\nsearchFun(control:any,i:number,option){\r\n console.log(\"control\",control)\r\n if (option == 'city') {\r\n // this.cityData[i]=this.filterCity(this.stateList,control.value.state_name)\r\n control.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.SearchCity(control.controls['citySearch'].value, i);\r\n })\r\n }\r\n if (option == 'state') {\r\n console.log(\"state\")\r\n control.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchState(control.controls['stateSearch'].value)\r\n })\r\n }\r\n if (option == 'pin') {\r\n console.log(\"pin\")\r\n control.controls['pinSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchPin(control.controls['pinSearch'].value,i)\r\n })\r\n }\r\n }\r\n searchPin(val:any,index:number){\r\n if(!this.pincodeData[index]){\r\n return\r\n }\r\n let searchValue=val\r\n if(!searchValue){\r\n this.pincodeDataValue[index]=this.pincodeData[index].slice()\r\n return\r\n }else{\r\n searchValue=searchValue.toLowerCase()\r\n }\r\n this.pincodeDataValue[index]=this.pincodeData[index].filter(value=>value.pincode.toLowerCase().indexOf(searchValue) > -1)\r\n }\r\n SearchCity(val: any, i: number) {\r\n // let cityData=\r\n console.log(this.cityData[i])\r\n if (!this.cityData[i]) {\r\n return\r\n }\r\n let searchValue = val\r\n if (!searchValue) {\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n return\r\n } else {\r\n searchValue = searchValue.toLowerCase()\r\n }\r\n this.cityDataValue[i]=\r\n this.cityData[i].filter(val=>val.city_name.toLowerCase().indexOf(searchValue)> -1)\r\n \r\n console.log(\"City Data value\",this.cityDataValue[i])\r\n // this.filteredCity.next(\r\n // this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // )\r\n \r\n }\r\n searchState(val: any) {\r\n console.log(\"statedata\")\r\n if (!this.stateData) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n // this.filteredState.next(this.stateList.slice())\r\n this.stateDataValue=this.stateData.slice()\r\n return\r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n this.stateDataValue=this.stateData.filter(res => res.name.toLowerCase().indexOf(searchVal) > -1)\r\n // this.filteredState.next(\r\n // this.stateList.filter(res => res.state_name.toLowerCase().indexOf(searchVal) > -1)\r\n // )\r\n }\r\n searchRelation(val:any){\r\n // val=val.controls['relationSearch'].value\r\n console.log(\"val\",val);\r\n val.controls['relationSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.relationDataValue=this.cons.searchData(this.relationData,val.controls['relationSearch'].value,'')\r\n \r\n })\r\n \r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n \r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n \r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n \r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n }\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\r\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {Camera} from '@ionic-native/camera'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssestsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assests',\r\n templateUrl: 'pd-question-assests.html',\r\n})\r\nexport class PdQuestionAssestsPage {\r\n tab:any='0'\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n m_relation: any;\r\n applicants: any ;\r\n users: any;\r\n FormId: any;\r\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\r\n m_investmentType: { 'id': string; 'name': string; }[];\r\n m_insuranceType: { 'id': string; 'name': string; }[];\r\n m_propertyType: { 'id': string; 'name': string; }[];\r\n m_assets_type: { 'id': string; 'name': string; }[];\r\n m_vehicle_type: any=[];\r\n m_uom_type: any=[];\r\n pdDetails: any;\r\n assetItem: any;\r\n items:FormArray;\r\n AssetsDetailsForm:FormGroup;\r\n details:FormArray;\r\n FormList:boolean = false;\r\n loadDetails:boolean = true;\r\n assestInfo:any;\r\n PremiumPaidInwords: any=[]; \r\n SumAssuredInwords: any=[];\r\n AmtInvestInwords: any=[];\r\n ApproxInwords:any =[];\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n isOtherOwner: any = [];\r\n pdid:any;\r\n currentYear: any = new Date().getFullYear();\r\n imageBucket: any=[];\r\n base64: string;\r\n imageDisplay: any=[];\r\n @ViewChild('focusName') inputFocus;\r\n @ViewChild('picContent') content: Content\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider,public camera:Camera,public alert: AlertController) {\r\n \r\n this.assestInfo = \"busass\";\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.AssetsDetailsForm = this.fb.group({\r\n assets_details:this.fb.array([]),\r\n assets_form_remark:['']\r\n })\r\n \r\n this.getAssetDetails();\r\n this.getdropList();\r\n this.loadDetails = true;\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssestsPage');\r\n console.log(\"Form\",this.AssetsDetailsForm)\r\n this.getPDImages();\r\n }\r\n // ionViewWillLeave(){\r\n // console.log(this.AssetsDetailsForm.dirty);\r\n // if(this.AssetsDetailsForm.dirty){\r\n // return;\r\n // }\r\n \r\n // }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.AssetsDetailsForm.dirty);\r\n if(this.AssetsDetailsForm.dirty){\r\n // console.log(\"dirty\",this.AssetsDetailsForm.dirty)\r\n //return false;\r\n // let val=this.toast.setAlert('Form is Modified','Are you sure want to Go Back');\r\n // console.log(\"v\",val)\r\n // if(val==1){\r\n\r\n // }\r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n \r\n }\r\n\r\n getdropList()\r\n {\r\n //GETTING Asset Type\r\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\r\n }\r\n })\r\n \r\n //GETTING Property Type;\r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_propertyType = res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n \r\n //GETTING Investment Type;\r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_investmentType = res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n\r\n //GETTING Insurance Type;\r\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.m_insuranceType =res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n \r\n //GETTING Frequency Type;\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n\r\n //GETTING Relationship;\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => \r\n {\r\n if(data['dataStatus']==true)\r\n {\r\n this.m_relation = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n\r\n //GETTING VEHICLE TYPE;\r\n this.qustCat.getcommondrop('VEHICLETYPE').subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n }\r\n })\r\n \r\n //GETTING UOM List;\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.m_uom_type = data['records'].filter(data => data.isactive == 1 && data.is_land_uom == 1 || data.is_land_uom == 2);\r\n }\r\n })\r\n\r\n //GETTING Company And Applicant List.\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>\r\n { \r\n if(data['dataStatus']==true)\r\n {\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true)\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n })\r\n \r\n \r\n }\r\n createAsset() : FormGroup\r\n {\r\n return this.fb.group(\r\n {\r\n assets_mode: [null],\r\n details: this.fb.array([]),\r\n approximate_market_value: [null],\r\n name_of_the_owner: [''],\r\n other_owner:[''],\r\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n vintage_personal : [''],\r\n emi: [null],\r\n });\r\n }\r\n\r\n addAsset(flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n this.assetItem.push(this.createAsset());\r\n }\r\n }\r\n\r\n deleteAsset(i,flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n if(this.assetItem.length==1)\r\n {\r\n this.AssetsDetailsForm.controls['assets_details'].reset();\r\n }else{\r\n this.assetItem.removeAt(i);\r\n } \r\n }\r\n }\r\n \r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n \r\n loanCalc(details ,flag)\r\n {\r\n if(flag == 1){\r\n \r\n let ElapsedValues;\r\n \r\n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\r\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n }\r\n }\r\n \r\n show: boolean;\r\n selectedAssetsType(e: any, i: any,flag : any): void {\r\n \r\n let val = i;\r\n if(flag == 1){\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n }\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray; \r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n case '5': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadConsumerDurableDescription());\r\n break;\r\n }\r\n case '6': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadInsuranceDescription());\r\n break;\r\n }\r\n case '7': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadInvestDescription());\r\n break;\r\n }\r\n case '8': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: [''],\r\n describe_of_the_property_asset: [''],\r\n area_covered_by_this_property: [''],\r\n uom_of_the_property: [''],\r\n other_uom: ['']\r\n });\r\n } \r\n\r\n loadConsumerDurableDescription() {\r\n return this.fb.group({\r\n consumer_durable_description: [null]\r\n });\r\n }\r\n \r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n\r\n otherAssetsDescription() {\r\n return this.fb.group({ any_other_assets: [''] });\r\n }\r\n\r\n loadInsuranceDescription() {\r\n return this.fb.group({\r\n // insurance_type: [null],\r\n premium_paid: [null],\r\n frequency_mode: [null],\r\n other_frequency_mode:[null],\r\n sum_assured: [null],\r\n members_coverd: [null]\r\n });\r\n }\r\n\r\n loadInvestDescription() {\r\n return this.fb.group({\r\n investments_type: [''],\r\n other_investments_type:[''],\r\n in_which_organisation:[''],\r\n amount_of_invest: [''],\r\n bank_name: ['']\r\n });\r\n }\r\n\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n \r\n\r\n load_Two_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_two_weeler: ['']\r\n });\r\n }\r\n\r\n\r\n\r\n loadPropertyWithData(data) {\r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n describe_of_the_property_asset: [data.describe_of_the_property_asset],\r\n area_covered_by_this_property: [data.area_covered_by_this_property],\r\n uom_of_the_property: [data.uom_of_the_property],\r\n other_uom: [data.other_uom]\r\n });\r\n }\r\n\r\n loadJwellDescriptionWithData(data) {\r\n return this.fb.group({\r\n // jwell_description: [data.jwell_description]\r\n });\r\n }\r\n\r\n loadConsumerDurableDescriptionWithData(data) {\r\n return this.fb.group({\r\n consumer_durable_description: [data.consumer_durable_description]\r\n });\r\n }\r\n\r\n otherAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n });\r\n }\r\n \r\n loadInsuranceDescriptionWithData(data) {\r\n return this.fb.group({\r\n //insurance_type: [data.insurance_type],\r\n premium_paid: [data.premium_paid],\r\n frequency_mode: [data.frequency_mode],\r\n other_frequency_mode:[data.other_frequency_mode],\r\n sum_assured: [data.sum_assured],\r\n members_coverd: [data.members_coverd]\r\n });\r\n }\r\n\r\n loadInvestDescriptionWithData(data) {\r\n return this.fb.group({\r\n investments_type: [data.investments_type],\r\n other_investments_type:[data.other_investments_type],\r\n in_which_organisation:[data.in_which_organisation],\r\n amount_of_invest: [data.amount_of_invest],\r\n bank_name: [data.bank_name]\r\n });\r\n }\r\n\r\n \r\n\r\n load_Four_WeelerWithData(data) {\r\n return this.fb.group({\r\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n });\r\n }\r\n\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n\r\n load_Two_WeelerWithData(data) {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n\r\n\r\n initDetailsWithdata(data) {\r\n return this.fb.group({\r\n assets_mode: [data.assets_mode],\r\n details: this.fb.array([]),\r\n approximate_market_value: [data.approximate_market_value],\r\n name_of_the_owner: [data.name_of_the_owner],\r\n other_owner:[data.other_owner || ''],\r\n vintage_personal:[data.vintage_personal],\r\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n emi: [data.emi || 0],\r\n });\r\n }\r\n\r\n saveAssetDetails(answerData)\r\n {\r\n if(!this.AssetsDetailsForm.dirty){\r\n this.toast.pdTriggerappmessage(\"Modified\"+' '+this.AssetsDetailsForm.dirty);\r\n return;\r\n }\r\n \r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n // answerData.assets_details.map(val => {\r\n // if (val.emi == 'no') {\r\n // val.emi_paid = '';\r\n // val.elapsed_tenure = '';\r\n // val.balance_tenure = '';\r\n // val.original_loan_tenure ='';\r\n // }\r\n // });\r\n \r\n answerData.pdid = this.pdDetails.pd_id;\r\n answerData.formid = this.FormId.form_id;\r\n answerData.fk_createdby = this.users;\r\n \r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.AssetsDetailsForm.reset(this.AssetsDetailsForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n }\r\n\r\n apiLoadFinish:boolean = false;\r\n\r\n // To Fetch The Asset Value;\r\n getAssetDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\r\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n return res['records'].assets_details[key];\r\n });\r\n \r\n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n if (assetArray.length > 0) {\r\n assetArray.forEach((val, index) => {\r\n let vals = {\r\n assets_mode: val.assets_mode,\r\n approximate_market_value: val.approximate_market_value,\r\n name_of_the_owner: val.name_of_the_owner,\r\n other_owner:val.other_owner,\r\n purchase_year: val.purchase_year,\r\n vintage_personal:val.vintage_personal,\r\n emi: val.emi,\r\n };\r\n \r\n let Avaliablity = 1;\r\n if(val.name_of_the_owner.length>0){\r\n val.name_of_the_owner.forEach(option => {\r\n if (option.id == 0 && option.group_id == 2) {\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwner[index] = Avaliablity == 0 ? true : false\r\n \r\n const control = this.AssetsDetailsForm.controls['assets_details'];\r\n control.push(this.initDetailsWithdata(vals));\r\n this.inWords(+val.approximate_market_value,index,4);\r\n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\r\n // this.setRequiredValidation(val.name_of_the_owner, index, '', 4);\r\n });\r\n \r\n }\r\n \r\n this.apiLoadFinish = true;\r\n \r\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\r\n }else{\r\n this.apiLoadFinish = true;\r\n this.addAsset(1);\r\n // this.addAsset(2);\r\n }\r\n })\r\n \r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\r\n let val = i;\r\n \r\n let data = datas;\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n switch (assets_details_mode) {\r\n case '1': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'any_other_assets': datas.any_other_assets };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(array_data));\r\n break;\r\n }\r\n \r\n case '2': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type,\r\n 'address_of_the_property': datas.address_of_the_property, 'describe_of_the_property_asset': datas.describe_of_the_property_asset,\r\n 'uom_of_the_property': datas.uom_of_the_property,\r\n 'area_covered_by_this_property': datas.area_covered_by_this_property, 'other_uom': datas.other_uom };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadPropertyWithData(array_data));\r\n break;\r\n }\r\n case '3': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle,\r\n 'vehicle_type': datas.vehicle_type,\r\n 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.load_Four_WeelerWithData(array_data));\r\n break;\r\n }\r\n case '4': {\r\n let array_data:any\r\n data.forEach((datas,i)=>{\r\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\r\n })\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '5': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\r\n break;\r\n }\r\n case '6': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { \r\n 'premium_paid': datas.premium_paid,\r\n 'frequency_mode': datas.frequency_mode,\r\n 'other_frequency_mode':datas.other_frequency_mode,\r\n 'sum_assured': datas.sum_assured,\r\n 'members_coverd': datas.members_coverd\r\n };\r\n this.inWords(+datas.premium_paid,i,1);\r\n this.inWords(+datas.sum_assured,i,2);\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInsuranceDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '7': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n this.inWords(+datas.amount_of_invest,i,3);\r\n array_data = { 'investments_type': datas.investments_type,\r\n 'other_investments_type' : datas.other_investments_type,\r\n 'in_which_organisation':datas.in_which_organisation,\r\n 'amount_of_invest': datas.amount_of_invest,\r\n 'bank_name': datas.bank_name };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInvestDescriptionWithData(array_data));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** On Key Press Event For Number only Accepting */\r\n keyPress(event: any) {\r\n const pattern = /[0-9\\-\\.\\ ]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 2 :\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 3 :\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 4 :\r\n this.ApproxInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) { }\r\n else if (type == 2) { }\r\n else if (type == 3) {\r\n let control: any = this.AssetsDetailsForm.controls['assets_details'];\r\n control.controls[controlKey].controls['purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this.AssetsDetailsForm.controls['assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['purchase_year'].setValue(value) : control.controls[controlKey].controls['purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['vintage_personal'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['vintage_personal'].setValue('')\r\n }\r\n\r\n }\r\n\r\n\r\n setRequiredValidation(value, ParInx, ChdInx, flag) {\r\n\r\n let ParCtrls = this.AssetsDetailsForm.controls.assets_details;\r\n\r\n let ChdCtrls: any = ParCtrls.controls[ParInx];\r\n\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n\r\n if (value.length > 0) {\r\n value.forEach(option => {\r\n if (option.id == 0 && option.group_id == 2) {\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n if (Avaliablity == 0) {\r\n\r\n\r\n // ChdCtrls.controlsother_owner.setValidators([Validators.required]);\r\n this.isOtherOwner[ParInx] = true;\r\n\r\n } else if (Avaliablity == 1) {\r\n\r\n\r\n ChdCtrls.controls.other_owner.setValue('');\r\n // ChdCtrls.controls.other_owner.clearValidators();\r\n this.isOtherOwner[ParInx] = false;\r\n\r\n }\r\n\r\n // ChdCtrls.controls.other_owner.updateValueAndValidity();\r\n\r\n }\r\n \r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n savePhoto(){\r\n let num_of_images=(this.imageBucket.length+1)+(this.imageDisplay.length+1)\r\n console.log(\"num of images\",num_of_images)\r\n if(num_of_images <=10){\r\n this.camera.getPicture({\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 600,\r\n correctOrientation: true\r\n }).then((imageData)=>{\r\n this.base64='data:image/png;base64,'+imageData\r\n this.imageBucket.push({'image':this.base64,'Name':''});\r\n // this.imageDisplay.push({'image':this.base64,'Name':''})\r\n this. getImageName(this.imageBucket.length-1)\r\n \r\n },(err)=>{\r\n //alert(\"error\");\r\n })\r\n this.tab='1';\r\n // this.content.scrollToBottom();\r\n // let dimensions = this.content.getContentDimensions();\r\n // this.content.scrollTo(0, dimensions.contentHeight+100, 100);\r\n // this.inputFocus.setFocus();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"You are reached the image Limit. To Capture new one Delete the Previous image\");\r\n }\r\n }\r\n getImageName(index){\r\n console.log(\"index\",index);\r\n let alert=this.alert.create({\r\n title:'Document Name',\r\n message: 'Please Enter the Document Name',\r\n cssClass:'prompt_alert',\r\n inputs:[\r\n {\r\n name:'Name',\r\n //value:this.imageBucket[index].Name\r\n placeholder:'Document Name'\r\n }\r\n ],\r\n buttons:[\r\n {\r\n text:'Submit',\r\n handler:data=>{\r\n console.log(data.Name)\r\n this.imageBucket[index].Name=data.Name\r\n alert.dismiss\r\n }\r\n }\r\n ]\r\n })\r\n alert.present();\r\n //this.inputFocus.setFocus();\r\n \r\n }\r\n// al(){\r\n// this.toast.pdTriggerappmessage(\"touched\");\r\n// }\r\n sendImage(){\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport { PdQuestionRentalInfoPage } from '../pd-question-rental-info/pd-question-rental-info';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionOtherIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-other-income',\r\n templateUrl: 'pd-question-other-income.html',\r\n})\r\nexport class PdQuestionOtherIncomePage {\r\n\r\n FormId: any;\r\n custSeg: any;\r\n sourceIncome: any;\r\n otherIncomeDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n pdid:any;\r\n incomeEarnedBy:any=[];\r\n amtInWords:any=[];\r\n \r\n frequencyData: any;\r\n otherIncomeForm: FormGroup;\r\n incomeDetails:FormArray;\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n applicants: any=[];\r\n isOrganisationOwner: any=[];\r\n customer_segment_abbr: any;\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public constant:ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) \r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n console.log('this.customer_segment_abbr',this.customer_segment_abbr)\r\n this.applicants=this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0)\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.getFrequency();\r\n this.users = this.aws.getlocale();\r\n\r\n // this.qustCat.getLoadTemplate(this.pdid).subscribe(res=>\r\n // {\r\n // this.one = res;\r\n // if(this.one.dataStatus == true)\r\n // {\r\n // this.one = this.one.records.template_forms;\r\n // let one = this.one.records.template_forms.filter(val=>val.form_id == '17')\r\n // console.log(this.one,one);\r\n // }\r\n\r\n // });\r\n\r\n this.otherIncomeForm = this.fb.group({\r\n other_income: [null],\r\n otherincome_remarks:[null],\r\n income_details: this.fb.array([])\r\n });\r\n \r\n \r\n \r\n //this.incomeDetails=this.otherIncomeForm.get('income_details')as FormArray\r\n //this.incomeDetails.push(this.createDetail())\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\r\n this.getOtherIncome();\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.otherIncomeForm.dirty);\r\n if(this.otherIncomeForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n createDetail():FormGroup {\r\n return this.fb.group({\r\n source: [''],\r\n address:[''],\r\n others_source : [''],\r\n income_earned_by:[''],\r\n others_income_earned_by:[''],\r\n amount: [''],\r\n frequency: [''],\r\n others_frequency : ['']\r\n });\r\n}\r\naddIncomeDetails() {\r\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\r\n \r\n this.incomeDetails.push(this.createDetail());\r\n}\r\ndeleteIncomeDetails(index) {\r\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\r\n if(this.incomeDetails.length==1){\r\n // this.otherIncomeForm.controls['income_details'].reset();\r\n this.otherIncomeForm.reset();\r\n this.amtInWords[index]=''\r\n }else{\r\n this.incomeDetails.removeAt(index);\r\n }\r\n}\r\ncheckotherDetails(val)\r\n{\r\n if(val==\"Yes\")\r\n {\r\n this.addIncomeDetails();\r\n }\r\n if(val==\"No\"){\r\n //let length=this.otherIncomeForm.income_details.controls.length\r\n const control= this.otherIncomeForm.controls['income_details'];\r\n control.removeAt(0)\r\n // let len=control.length\r\n // for(let i=0;i{\r\n if(res['dataStatus']==true)\r\n {\r\n this.incomeEarnedBy=res['record'];\r\n }\r\n })\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus==true){\r\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\r\n console.log(this.existCompanyList)\r\n }\r\n let modifyCompanyList:any=[]\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList=this.existCompanyList.map(element=>{\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\r\n \r\n }\r\n let modifyApplicantList:any=[]\r\n if(this.applicants.length>0){\r\n modifyApplicantList=this.applicants.map(element=>{\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n })\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\r\n })\r\n\r\n let master_name = 'FREQUENCY';\r\n this.qustCat.getcommondrop(master_name).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFOTHERINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.sourceIncome = res['records'];\r\n if (this.customer_segment_abbr == 'SE-RI') {\r\n let inx = this.sourceIncome.map(data => data.name).indexOf(\"Rental Income\")\r\n /** -X- Please NOTE THIS :\r\n * inx is '-1' -> this will remove the last item from array \r\n * so that If Condition is given. */\r\n if (inx !== -1) {\r\n this.sourceIncome.splice(this.sourceIncome.map(data => data.name).indexOf(\"Rental Income\"), 1);\r\n }\r\n }\r\n }\r\n });\r\n \r\n \r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\n\r\ngetOtherOrganisationOwner(value,i) {\r\n //console.log('value',value,'I',i);\r\nlet Ctrls = this.otherIncomeForm.controls['income_details'];\r\n console.log('ParCtrls',Ctrls);\r\nlet ChdCtrls:any = Ctrls.controls[i];\r\n // console.log('ChdCtrls',ChdCtrls);\r\n // return;\r\n\r\n\r\nlet Avaliablity = 1;\r\nconsole.log('val',value);\r\nif(value.length>0){\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n}\r\nif(Avaliablity == 0){\r\n// console.log('if Avaliablity',Avaliablity);\r\nconsole.log(\"chld\",ChdCtrls)\r\n ChdCtrls.controls.others_income_earned_by.setValidators([Validators.required]);\r\n this.isOrganisationOwner[i] = true;\r\n}else if(Avaliablity == 1){\r\n// console.log('else Avaliablity',Avaliablity);\r\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n ChdCtrls.controls.others_income_earned_by.setValue('');\r\n ChdCtrls.controls.others_income_earned_by.clearValidators();\r\n this.isOrganisationOwner[i] = false;\r\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n}\r\n \r\nChdCtrls.controls.others_income_earned_by.updateValueAndValidity(); \r\n}\r\ninWords(val,i){\r\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n}\r\n\r\nToview(){\r\n // alert('Rental Income Details - Is inprogress');\r\n \r\n // here Hardcoded;\r\n let RIFormDtls = {'form_id':17,'form_name':'Rental Verification'};\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':RIFormDtls,'pdDetails':this.pdDetails});\r\n}\r\nsubmitOtherIncome(answerData)\r\n{\r\n \r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.other_income = answerData.other_income;\r\n records.income_details = answerData.income_details;\r\n records.otherincome_remarks = answerData.otherincome_remarks;\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n //TO CHANGE THE FORM STATE \r\n this.otherIncomeForm.reset(this.otherIncomeDetails.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }, error => {\r\n \r\n })\r\n}\r\n\r\ngetOtherIncome()\r\n{\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\r\n this.otherIncomeDetails = res; \r\n if(this.otherIncomeDetails.dataStatus == true)\r\n {\r\n this.otherIncomeDetails = this.otherIncomeDetails.records;\r\n if(this.otherIncomeDetails.other_income=='Yes'){\r\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\r\n return res['records'].income_details[key];\r\n\r\n });\r\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\r\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\r\n \r\n \r\n \r\n \r\n if(incomeArray.length==0)\r\n {\r\n // this.incomeDetails.push(this.createDetail());\r\n }else\r\n {\r\n incomeArray.forEach((datas,index)=>\r\n {\r\n \r\n this.incomeDetails.push(this.createDetail());\r\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\r\n this.getOtherOrganisationOwner(datas.income_earned_by,index)\r\n })\r\n }\r\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\r\n \r\n }else\r\n {\r\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\r\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\r\n }\r\n }\r\n else{\r\n // this.incomeDetails.push(this.createDetail())\r\n }\r\n })\r\n}\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\n\r\nchangeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\nthis.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n},error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n})\r\nthis.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","import { Component, OnInit } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionPersonalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-personal-info',\r\n templateUrl: 'pd-question-personal-info.html',\r\n})\r\nexport class PdQuestionPersonalInfoPage implements OnInit{\r\n\r\n questionDetails: any;\r\n pdDetails: any;\r\n users: any;\r\n _personalForm: FormGroup;\r\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\r\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\r\n relationShipList:any=[];\r\n \r\n form_id:number;\r\n \r\n\r\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\r\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\r\n \r\n public mainApplicantDetails :any=[];\r\n public coApplicantDetails :any=[];\r\n \r\n errorMessage:any;\r\n //coItem:any;\r\n //mainItem:any;\r\n\r\n repeat:number=3;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n // this.getRelationMaster();\r\n \r\n \r\n \r\n }\r\n ngOnInit() {\r\n \r\n this.loadPDDetails();\r\n this.getRelationMaster();\r\n this.mainApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 1);\r\n this.coApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 0);\r\n }\r\n\r\n // load form pd details\r\n loadPDDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\r\n \r\n this.qustCat.retiverForm(records).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.loadFormWithIDData(data['records']);\r\n \r\n }\r\n else{\r\n let defaultMainApp=[];\r\n let defaultCoApp=[];\r\n // generate default main applicant form details\r\n if(this.mainApplicantDetails.length>0){ \r\n for(let j=0;j this.errorMessage = error);\r\n}\r\n\r\nloadDataStatus: boolean = false;\r\n\r\nloadFormWithIDData(data) {\r\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\r\n return data.main_applicant_details[key];\r\n});\r\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\r\n return data.co_applicant_details[key];\r\n});\r\n\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n relation_ans:new FormControl(item.relation_ans, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark: [data.personal_info_form_remark]\r\n });\r\n this.loadDataStatus = true;\r\n}\r\n\r\n loadFormData(mainApp,coApp){\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n \r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.coApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.coApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\r\n relation_id:new FormControl(5),\r\n relation_ans:new FormControl(null, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark:null\r\n });\r\nthis.loadDataStatus = true;\r\n }\r\n\r\n //get pd main applicant array values \r\n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\r\n\r\n // get pd co applicant array values\r\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\r\n\r\n // get relation master details\r\n getRelationMaster(){\r\n let relation =\"RELATIONSHIPS\";\r\n this.qustCat.getcommondrop(relation).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.relationShipList=data['records'];\r\n \r\n }\r\n}, error => this.errorMessage = error);\r\n}\r\n\r\n// submit forms details\r\nsubmitPersonalForm(formData:any) {\r\n if(this._personalForm.valid){\r\n let main_applicantDetails:any=[];\r\n let co_applicantDetails:any=[];\r\n\r\n formData.mainItem.forEach((element,key) => {\r\n if(key==0){\r\n main_applicantDetails.push({\r\n \"name_ans\":element.name_ans,\r\n \"age_ans\":element.age_ans,\r\n \"entity_ans\":element.entity_ans,\r\n \"qualification_ans\":element.qualification_ans,\r\n \"earning_ans\":element.earning_ans, \r\n })\r\n }\r\n \r\n });\r\n formData.coItem.forEach((Coelement,Cokey) => {\r\n co_applicantDetails.push({\r\n\r\n \"name_ans\":Coelement.name_ans,\r\n \"age_ans\":Coelement.age_ans,\r\n \"qualification_ans\":Coelement.qualification_ans,\r\n \"entity_ans\":Coelement.entity_ans,\r\n \"earning_ans\":Coelement.earning_ans, \r\n \"relation_ans\":Coelement.relation_ans, \r\n })\r\n \r\n });\r\n\r\n let save_details:any={\r\n \"pdid\" : this.pdDetails.pd_id,\r\n \"formid\" : '341',\r\n \"fk_createdby\":this.users,\r\n \"main_applicant_details\":main_applicantDetails,\r\n \"co_applicant_details\":co_applicantDetails,\r\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\r\n };\r\n this.qustCat.saveForm(save_details).subscribe(result => {\r\n if (result['dataStatus']==true) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n // this.notifier.notify('success', 'Success.');\r\n }\r\n else {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n }\r\n }, error => {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n });\r\n }\r\n}\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { FormatWidth } from '@angular/common';\r\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\r\n\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport {PdQuestionAssessedDailyPurchasePage} from '../pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase'\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-info',\r\n templateUrl: 'pd-question-assessed-info.html',\r\n})\r\nexport class PdQuestionAssessedInfoPage {\r\n\r\n grossProfitForm:FormGroup\r\n check__purchse_type:any=[{'id':'1','name':'Yes'},{'id':'2','name':'No'}]\r\n busissnessIncome: any;\r\n mode: any;\r\n grossprofitCalc: any;\r\n houseHold_details: any;\r\n grandHouseExpenseTotal: any;\r\n houseannual: any=[];\r\n businessExpenses_details: any;\r\n grandExpenseTotal: any;\r\n expenseannual: any=[];\r\n businessExpenses: any;\r\n purchse_details: any;\r\n sales_item_month_value: any=[];\r\n sales_wise_month_headers:any = [];\r\n sales_month_wise_data:any = [];\r\n sales_item_value: any;\r\n grandpurchaseTotal: any=null;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n users: any;\r\n pageId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n FormName:any;\r\n annual:any = [];\r\n rawMaterialForm:FormGroup;\r\n BuissnessForm:FormGroup;\r\n houseHoldForm:FormGroup;\r\n activateMarginCalculation:boolean=false\r\n SaleAmtInwords: any=[];\r\n marginAmtInwords: any=[];\r\n purchase_bill_wise: any=[];\r\n purchase_bill_wise_data:any=[]\r\n purchase_type:any;\r\n totalAnnualSale_Item_wise;\r\n totalAnnualpurchase_Item_wise: any;\r\n totalAnnualBusiness_details: any;\r\n totalAnnual_House_hold_details: any;\r\n sales_type: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pageId = this.navParams.get('pageId');\r\n // this.getAssessedDetails(); \r\n switch(this.pageId)\r\n {\r\n case 1:\r\n this.FormName = \"Sales Page\";\r\n break;\r\n case 2:\r\n this.FormName = \"Purchase Page\";\r\n break;\r\n case 3:\r\n this.FormName = \"Business Expense Page\";\r\n break;\r\n case 4:\r\n this.FormName = \"House Hold Page\";\r\n break;\r\n default:\r\n this.FormName = \"Question Page\";\r\n break;\r\n }\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n sdc_id:[null],\r\n sales_declared_by_customer:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n margin_per:[null],\r\n margin_value:[null],\r\n comments:[null],\r\n isactive:[1],\r\n fk_createdby:[this.users],\r\n \r\n });\r\n this.grossProfitForm=this.fb.group({\r\n calc_type_id:[''],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n mode:['',Validators.compose([Validators.required])],\r\n margin:[''],\r\n })\r\n \r\n \r\n \r\n \r\n // this.getdropList();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\r\n }\r\n\r\n\r\n \r\n \r\n\r\n ionViewDidEnter() {\r\n \r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getAssessedDetails()\r\n }\r\n\r\n\r\n \r\n \r\n changeOptions(values: any){\r\n // console.log('values',values);\r\n this.grossProfitForm.controls['margin'].setValue('');\r\n /** if Mode Value is 'No' -> margin value is setted as netmargin and its id - 2\r\n * Refer => check_sales_type **/\r\n if(values.mode == 2){\r\n // console.log('2');\r\n this.grossProfitForm.controls['margin'].setValue('2');\r\n }\r\n }\r\n\r\n //PURCHASE DETAILS SUBMIT\r\n // submitDetails(records: any){\r\n // if (this.grossProfitForm.invalid) {\r\n \r\n // this.toast.pdTriggerappmessage(\"Please Check All Manatory Fields..\");\r\n // return;\r\n // }\r\n // // let datas:any;\r\n // // datas=records;\r\n\r\n // this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(data => {\r\n // this.toast.pdTriggerappmessage('Saved Successfully.');\r\n // //this.loadAssessedForms.next('1');\r\n // }, error => {\r\n // this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n // // this.loadAssessedForms.next('1');\r\n // });\r\n // } \r\n \r\n\r\n getMarginCalc()\r\n {\r\n \r\n let margin_per = this.assessedForm.controls['margin_per'].value;\r\n console.log(\"Margin Per\",margin_per)\r\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\r\n if(margin_per !=null && sales_declared_by_customer !=null)\r\n {\r\n let value = sales_declared_by_customer * (margin_per/100);\r\n this.assessedForm.controls['margin_value'].setValue(value);\r\n }\r\n }\r\n\r\n saveData(answerData)\r\n {\r\n let records:any = {};\r\n answerData.company_id=this.pdDetails.company_id\r\n \r\n records ={'records':answerData};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\r\n {\r\n // console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n \r\n }\r\n })\r\n setTimeout(()=>{\r\n this.getAssessedDetails();\r\n },1500)\r\n }\r\n salesCalculation(values): void {\r\n if(values.sales_declared_by_customer !=''){this.SaleAmtInwords = this.cons.convertNumberToWords(values.sales_declared_by_customer);}\r\n if(values.margin_per !='' && values.sales_declared_by_customer !='')\r\n {\r\n \r\n this.assessedForm.controls['margin_value'].setValue((values.sales_declared_by_customer * (values.margin_per/100)).toFixed(2));\r\n this.marginAmtInwords = this.cons.convertNumberToWords(values.sales_declared_by_customer * (values.margin_per/100));\r\n }\r\n }\r\n \r\n getAssessedDetails()\r\n {\r\n this.sales_item_month_value = [];\r\n this.sales_month_wise_data = [];\r\n this.sales_item_value= [];\r\n this.purchase_bill_wise_data=[];\r\n let records = {'pd_id':this.pdDetails.pd_id,'company_id':this.pdDetails.company_id};\r\n console.log(\"company\",this.pdDetails.company_id)\r\n console.log(\"getAssesed\",records)\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let sales_value = res['records'].sales_declared_by_customer[0];\r\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\r\n //SALE ANNUAL TOTAL\r\n this.totalAnnualSale_Item_wise=this.sales_item_value.map(val=>val.annual_sale_value).reduce((original,value)=>original + Number(value),0)\r\n console.log(\"this.sales_item\",this.totalAnnualSale_Item_wise);\r\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\r\n this.purchse_details = res['records'].purchase_details; \r\n //PURCHASE ANNUAL TOTAL\r\n this.totalAnnualpurchase_Item_wise=this.purchse_details.map(val=>val.annual_purchase_value).reduce((original,value)=>original+Number(value),0)\r\n this.purchase_bill_wise=res['records'].purchase_billwise\r\n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0]\r\n this.purchase_type=this.grossprofitCalc.purchase_type;\r\n console.log(\"gross\",this.grossprofitCalc);\r\n this.mode = this.grossprofitCalc.mode;\r\n\r\n var lenOfGrossProfit=res['records'].gross_profit_calculation_type.length\r\n console.log(\"len\",lenOfGrossProfit)\r\n this.activateMarginCalculation=res['records'].gross_profit_calculation_type[lenOfGrossProfit-1].margin==2 && res['records'].gross_profit_calculation_type[lenOfGrossProfit-1].mode ==2 ?true : false\r\n console.log(this.activateMarginCalculation);\r\n var result = this.purchse_details.reduce(function(p, c) {\r\n \r\n return p;\r\n },[]);\r\n console.log(result);\r\n\r\n\r\n this.businessExpenses_details = res['records'].business_expenses;\r\n //BUSINESS ANNUAL TOTAL\r\n this.totalAnnualBusiness_details=this.businessExpenses_details.map(val=>val.annual_expenses_value).reduce((original,value)=>original + Number(value),0);\r\n this.houseHold_details = res['records'].house_hold_expenses;\r\n //HOUSEHOLD ANNUAL TOTAL\r\n this.totalAnnual_House_hold_details=this.houseHold_details.map(val=>val.annual_expense_value).reduce((original,value)=>original+Number(value),0)\r\n this.busissnessIncome = res['records'].othre_business_income;\r\n // console.log(this.sales_item_month_value);\r\n // this.getpurchaseDetails(this.purchse_details);\r\n \r\n \r\n // this.grossProfitForm.controls['mode'].setValue(res['records'].gross)\r\n\r\n // const control=this.grossProfitForm['controls']\r\n // this.grossProfitForm.controls['mode'].setValue(res['records'].gross_profit_calculation_type.mode);\r\n // this.grossProfitForm.controls['margin'].setValue(res['records'].gross_profit_calculation_type.margin)\r\n // this.grossProfitForm.controls['calc_type_id'].setValue(res['records'].gross_profit_calculation_type.calc_type_id)\r\n \r\n \r\n \r\n \r\n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\r\n this.sales_type[itemIndex]=itemElement.sales_type\r\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\r\n let listItems: any=[];\r\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\r\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\r\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\r\n \r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id,otherSaleItem:itemElement.other_sales_item});\r\n });\r\n this.purchase_bill_wise.forEach((itemElement,itemIndex)=>{\r\n console.log(\"0index\",itemElement.items[0]);\r\n let result=Object.assign({},...itemElement.items);\r\n console.log(\"result\",result)\r\n let expandBodyContent=Object.keys(result).map(key=>({header:key,value:result[key]}));\r\n console.log(\"expanBody\",expandBodyContent);\r\n let listItems:any=[];\r\n expandBodyContent.forEach((expandElement,expandIndex)=>{\r\n let calculateItems=expandElement.value.reduce((acc,calculate)=>acc + Number(calculate.purchase_value),0)\r\n listItems.push({items:expandElement,itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((va,rcalc)=>va+Number(rcalc.itemsTotal),0);\r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.purchase_bill_wise_data.push({purchaseItem:itemElement.purchase_item,expandElements:expandBodyContent,footerMessage:footerMessage,pbw_id:itemElement.pbw_id,otherPurchaseItem:itemElement.other_purchase_item});\r\n })\r\n console.log(\"val purchase0\",this.purchase_bill_wise_data)\r\n\r\n\r\n console.log(\"value\",this.sales_month_wise_data);\r\n if(sales_value!==undefined){\r\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\r\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\r\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\r\n this.assessedForm.controls['comments'].setValue(sales_value.comments)\r\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\r\n if(sales_value.sales_declared_by_customer != null){\r\n this.SaleAmtInwords=this.cons.convertNumberToWords(sales_value.sales_declared_by_customer)\r\n }\r\n if(sales_value.margin_value != null){\r\n this.marginAmtInwords=this.cons.convertNumberToWords(sales_value.margin_value)\r\n }\r\n \r\n }\r\n \r\n }\r\n })\r\n\r\n }\r\n grossProfitWithData(data:any){\r\n return this.fb.group({\r\n calc_type_id:[data.calc_type_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[data.company_id],\r\n mode:[data.mode],\r\n margin:[data.margin],\r\n})\r\n }\r\n /**\r\n * Add Assessed Forms\r\n */\r\n\r\n AddAssessedForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'margin_calculation_status':this.activateMarginCalculation}); \r\n \r\n }\r\n\r\n editDetails(salesCal)\r\n {\r\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\r\n console.log(salesData);\r\n // this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'margin_calculation_status':this.activateMarginCalculation}); \r\n \r\n }\r\n editAllDetails(AllsalesData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'margin_calculation_status':this.activateMarginCalculation}); \r\n }\r\n\r\n /**Assessed Daily Form Details */\r\n\r\n AddAssessedDailyForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'margin_calculation_status':this.activateMarginCalculation})\r\n }\r\n editAssessedDailyForm(simId)\r\n {\r\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\r\n console.log(dailySaleDetails);\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'margin_calculation_status':this.activateMarginCalculation})\r\n \r\n }\r\n allEditSalesDailyWise(values){\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':values,'margin_calculation_status':this.activateMarginCalculation})\r\n }\r\n\r\n /**purchase Details Forms */\r\n AddPurchaseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \r\n \r\n }\r\n\r\n editPurchaseDetails(purchaseCal)\r\n {\r\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \r\n \r\n }\r\n editPurchaseAllDetails(AllpurchaseData)\r\n {\r\n console.log('260',AllpurchaseData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \r\n }\r\n AddPurchaseBillWiseForm(){\r\n this.navCtrl.push(PdQuestionAssessedDailyPurchasePage,{'pdDetails':this.pdDetails,'purchaseDaily':null})\r\n }\r\n \r\n alleditPurchaseBillWise(all_purchase_daily){\r\n this.navCtrl.push(PdQuestionAssessedDailyPurchasePage,{'pdDetails':this.pdDetails,'purchaseDaily':all_purchase_daily})\r\n }\r\n editPurchaseBillWise(daily_purchase){\r\n let single_purchase=this.purchase_bill_wise.filter(val=>val.pbw_id==daily_purchase)\r\n this.navCtrl.push(PdQuestionAssessedDailyPurchasePage,{'pdDetails':this.pdDetails,'purchaseDaily':single_purchase})\r\n }\r\n\r\n /**Business Expense */\r\n AddExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editExpenseAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \r\n }\r\n \r\n\r\n /** Household Expenses Details */\r\n AddHouseExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editHouseExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editHouseExpenseAllDetails(AllExpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \r\n }\r\n\r\n /**\r\n * Income Details\r\n */\r\n AddIncomeForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \r\n \r\n }\r\n\r\n editIncomeDetails(expenseCal)\r\n {\r\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \r\n \r\n }\r\n editIncomeAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \r\n }\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedSalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-sales',\r\n templateUrl: 'pd-question-assessed-sales.html',\r\n})\r\nexport class PdQuestionAssessedSalesPage {\r\n\r\n grossprofitCalc: any;\r\n salesData: any =[];\r\n annual: any=[];\r\n grandTotal: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n assessedForm: FormGroup;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n annualSaleAmtInwords: any=[];\r\n marginAmtInwords: any=[];\r\n marginFinalAmtInwords:any =[];\r\n ratePerUnitAmtInwords: any=[];\r\n margin_calculation_status:any=[]\r\n check_type:any=[{'type_id':\"1\",'type_name':'Quantity and Rate Information'},{'type_id':\"2\",'type_name':'Value Information'}]\r\n product_and_services: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n //this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.margin_calculation_status=this.navParams.get('margin_calculation_status');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n \r\n salesCalItemwise:this.fb.array([]),\r\n });\r\n this.salesData = this.navParams.get('sales');\r\n if(this.salesData!=null)\r\n {\r\n this.getSalesItemData(this.salesData);\r\n }else\r\n {\r\n this.addSalesCal();\r\n }\r\n // this.addSalesCal();\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n let datas=res.records\r\n let api=Object.keys(datas.type_of_activity).map(function(key){\r\n return datas.type_of_activity[key];\r\n })\r\n if(api.length>0){\r\n api.forEach(val=>{\r\n if(val.type_of_activity_id == 2){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 3){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 4){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 5){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n })\r\n }\r\n console.log(\"before\",this.product_and_services)\r\n this.product_and_services = [].concat.apply([], this.product_and_services);\r\n console.log(\"After\",this.product_and_services)\r\n }\r\n })\r\n }\r\n\r\n createSalesCal()\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[null],\r\n \r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n sales_item:[null,Validators.compose([Validators.required])],\r\n other_sales_item:[null],\r\n sales_qty:[null,Validators.compose([Validators.required])],\r\n sales_type:[\"1\"],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n uom_other:[null],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_sale_value:[null],\r\n margin_per:[null],\r\n margin_per_uom:[null],\r\n margin_final_value:[null],\r\n comments:[null]\r\n });\r\n }\r\n\r\n addSalesCal()\r\n {\r\n if(this.assessedForm.valid){\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n control.push(this.createSalesCal());\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the all fields');\r\n }\r\n }\r\n \r\n removeSalesCal(i,item)\r\n {\r\n console.log(\"value\",item)\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n console.log(this.grandTotal);\r\n console.log(\"pd\",this.pdDetails);\r\n let deleteRecords:any;\r\n if(item.sci_id !=null && item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n sci_id:item.sci_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(i);\r\n this.addSalesCal(); \r\n } else{\r\n control.removeAt(i);\r\n }\r\n }\r\n /**\r\n * frequency Type \r\n * 1.Weekly no need\r\n * 2.Daily 250\r\n * 3.Yearly \r\n * 4.Hourly no need\r\n * 5.Monthly 12\r\n * 6.none\r\n * 7.none\r\n * 8.none\r\n */\r\n salecalculat(indexVal,values)\r\n {\r\n // console.log(\"Det\",details);\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let salesQty = details.value.sales_qty;\r\n // let UOM = details.value.rate_per_unit;\r\n // // console.log(frequencyId,salesQty,UOM,index);\r\n // // console.log(frequencyId);\r\n // let annual\r\n // if(salesQty!=null && UOM!=null){\r\n // if(frequencyId==1)\r\n // {\r\n\r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (salesQty*UOM*250);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_sale_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (salesQty*UOM);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_sale_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (salesQty*UOM*12);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_sale_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n\r\n // }else if(frequencyId==7)\r\n // {\r\n\r\n // }else if(frequencyId==8)\r\n // {\r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n // }else\r\n // {\r\n // // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\r\n // }\r\n \r\n \r\n \r\n \r\n // console.log(this.annual);\r\n\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n if(values.rate_per_unit!=''&& values.rate_per_unit != null ){\r\n console.log(\"Rate Per value\",values.rate_per_unit);\r\n this.inWords(values.rate_per_unit,indexVal,4)\r\n }\r\n \r\n if(values.sales_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) {\r\n console.log(\"Frequency\",values.fk_frequency_id);\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n let AnnualSalesValue = parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor)\r\n control.controls[indexVal].controls['annual_sale_value'].setValue(parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor));\r\n this.inWords(AnnualSalesValue,indexVal,1)\r\n \r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_sale_value'].setValue('');\r\n }\r\n if(this.margin_calculation_status===true) {\r\n values.margin_per_uom=='' && values.margin_per!='' ? this.salesMarginPerCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]): values.margin_per_uom!='' && values.margin_per=='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) : values.margin_per_uom!='' && values.margin_per!='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) :this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]);\r\n }\r\n }\r\n salesCalculation(indexVal: number,values: any): void {\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n if(values.sales_type==\"1\" && values.sales_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_sale_value'].setValue((parseFloat(values.sales_qty) * parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,1)\r\n }\r\n else if(values.sales_type==\"2\" && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_sale_value'].setValue((parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,1)\r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_sale_value'].setValue('');\r\n }\r\n if(this.margin_calculation_status===true) {\r\n values.margin_per_uom=='' && values.margin_per!='' ? this.salesMarginPerCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]): values.margin_per_uom!='' && values.margin_per=='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) : values.margin_per_uom!='' && values.margin_per!='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) :this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]);\r\n }\r\n }\r\n \r\n salesMarginPerCalculation(indexVal: number,values: any): void {\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n control.controls[indexVal].controls['margin_per_uom'].setValue('');\r\n if(values.margin_per!='' && values.annual_sale_value!='' && values.margin_per!=null && values.annual_sale_value!=null) {\r\n control.controls[indexVal].controls['margin_final_value'].setValue((parseFloat(values.annual_sale_value) * (parseFloat(values.margin_per)/100)).toFixed(2));\r\n this.inWords(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100),indexVal,3)\r\n }\r\n else {\r\n control.controls[indexVal].controls['margin_final_value'].setValue('');\r\n }\r\n }\r\n salesMarginAmtCalculation(indexVal: number,values: any): void {\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n control.controls[indexVal].controls['margin_per'].setValue('');\r\n if(values.margin_per_uom!='' && values.margin_per_uom != null){\r\n this.inWords(values.margin_per_uom,indexVal,2)\r\n }\r\n \r\n if(values.margin_per_uom!='' && values.sales_qty!='' && values.margin_per_uom!=null && values.sales_qty!=null) {\r\n let MarginFinalValue = parseFloat(values.sales_qty) * parseFloat(values.margin_per_uom);\r\n control.controls[indexVal].controls['margin_final_value'].setValue(MarginFinalValue.toFixed(2));\r\n this.inWords(MarginFinalValue.toFixed(0),indexVal,3)\r\n }\r\n else {\r\n control.controls[indexVal].controls['margin_final_value'].setValue('');\r\n }\r\n }\r\n /*OLD NOT USED CALCULATION*/\r\n getSalesCalc(indexVal,values)\r\n {\r\n // // console.log(details);\r\n // let margin_per = details.value.margin_per;\r\n // let margin_amount = details.value.margin_per_uom;\r\n // let annual_sale_value = details.value.annual_sale_value;\r\n // let sales_qty = details.value.sales_qty;\r\n // // console.log(sales_qty,margin_amount);\r\n // let value:any = '';\r\n // if(margin_per !=null || margin_amount !=null){\r\n // if(margin_per !=null)\r\n // {\r\n // value = +annual_sale_value * (+margin_per/100);\r\n // }else\r\n // {\r\n // console.log('else');\r\n // value = +sales_qty* +margin_amount;\r\n // }\r\n // console.log(value);\r\n // details.controls['margin_final_value'].setValue(value);\r\n // }\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n control.controls[indexVal].controls['margin_per_uom'].setValue('');\r\n if(values.margin_per!='' && values.annual_sale_value!='' && values.margin_per!=null && values.annual_sale_value!=null) {\r\n control.controls[indexVal].controls['margin_final_value'].setValue(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100));\r\n this.inWords(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100),indexVal,3)\r\n }\r\n else {\r\n control.controls[indexVal].controls['margin_final_value'].setValue('');\r\n }\r\n }\r\n \r\n inWords(value,inx,flag){\r\n switch(flag){\r\n case 1 : \r\n this.annualSaleAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n case 2 : \r\n this.marginAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n case 3 : \r\n this.marginFinalAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n case 4 : \r\n console.log(\"Rate\",value);\r\n this.ratePerUnitAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n default:break;}\r\n }\r\n saveData(answerData)\r\n {\r\n \r\n if(this.assessedForm.valid){\r\n let records = {'records':answerData.salesCalItemwise};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }\r\nelse{\r\n console.log(answerData);\r\n\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields\")\r\n}\r\n}\r\n getSalesItemData(salesData)\r\n {\r\n console.log(salesData);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n\r\n salesData.forEach((sale,index)=>{\r\n \r\n this.annual[index] = sale.annual_sale_value\r\n control.push(this.createSaleswithData(sale));\r\n if(sale.rate_per_unit != null){\r\n this.ratePerUnitAmtInwords[index]=this.cons.convertNumberToWords(sale.rate_per_unit)\r\n }\r\n if(sale.annual_sale_value != null){\r\n this.annualSaleAmtInwords[index]=this.cons.convertNumberToWords(sale.annual_sale_value)\r\n }\r\n if(sale.margin_per_uom != null){\r\n this.marginAmtInwords[index]=this.cons.convertNumberToWords(sale.margin_per_uom)\r\n }\r\n if(sale.margin_final_value != null){\r\n this.marginFinalAmtInwords[index]=this.cons.convertNumberToWords(sale.margin_final_value)\r\n }\r\n this.changeOptions(index,sale.sales_type)\r\n })\r\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\r\n // console.log(control);\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }\r\n changeOptions(indexVal: any,event: any): void{\r\n console.log(\"ai\")\r\n let control: any = this.assessedForm.controls['salesCalItemwise'];\r\n if(event.value==\"1\"){\r\n control.controls[indexVal].controls['fk_frequency_id'].setValue(\"\");\r\n control.controls[indexVal].controls['fk_frequency_id'].clearValidators();\r\n control.controls[indexVal].controls['fk_frequency_id'].updateValueAndValidity();\r\n\r\n control.controls[indexVal].controls['annual_sale_value'].setValue(\"\");\r\n control.controls[indexVal].controls['annual_sale_value'].clearValidators();\r\n control.controls[indexVal].controls['annual_sale_value'].updateValueAndValidity();\r\n\r\n control.controls[indexVal].controls['rate_per_unit'].setValue(\"\");\r\n control.controls[indexVal].controls['rate_per_unit'].clearValidators();\r\n control.controls[indexVal].controls['rate_per_unit'].updateValueAndValidity();\r\n\r\n control.controls[indexVal].controls['sales_qty'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['sales_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n this.salesCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n else if(event.value==\"2\"){\r\n control.controls[indexVal].controls['sales_qty'].setValue(\"\");\r\n control.controls[indexVal].controls['sales_qty'].clearValidators();\r\n control.controls[indexVal].controls['sales_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValue(\"\");\r\n control.controls[indexVal].controls['fk_uom_id'].clearValidators();\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['margin_per_uom'].setValue(\"\");\r\n \r\n this.salesCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n }\r\n \r\n\r\n createSaleswithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[data.sci_id],\r\n company_id:[this.pdDetails.company_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\r\n other_sales_item:[data.other_sales_item],\r\n sales_type:[data.sales_type,Validators.compose([Validators.required])],\r\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n uom_other:[data.uom_other],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_sale_value:[data.annual_sale_value],\r\n margin_per:[data.margin_per],\r\n margin_per_uom:[data.margin_per_uom],\r\n margin_final_value:[data.margin_final_value],\r\n comments:[data.comments]\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport {DatePipe} from '@angular/common'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDailySalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-daily-sales',\r\n templateUrl: 'pd-question-assessed-daily-sales.html',\r\n})\r\nexport class PdQuestionAssessedDailySalesPage {\r\n pipe = new DatePipe('en-US');\r\n\r\n currentDate: string;\r\n grossprofitCalc: any;\r\n salesDaily: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n salesDailyForm: FormGroup;\r\n margin_calculation_status:any\r\n Value: any=[];\r\n marginAmtInwords: any=[];\r\n frequencyData: any=[];\r\n freqAmtInwords: any=[];\r\n check_type:any=[{'type_id':\"1\",'type_name':'Date Information'},{'type_id':\"2\",'type_name':'Frequency Information'}]\r\n product_and_services: any=[];\r\n maxDate:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n // this.maxDate=new Date()\r\n var today=new Date\r\n console.log(\"today\",today)\r\n let date=today.getDate()< 10 ? (\"0\"+(today.getDate())) : today.getDate()\r\n let month=today.getMonth() < 10 ? (\"0\"+(today.getMonth()+1)) : (today.getMonth()+1)\r\n this.maxDate = today.getFullYear() + '-' + month + '-' + date;\r\n console.log(\"max\",this.maxDate)\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.salesDaily = this.navParams.get('salesDaily');\r\n // this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.margin_calculation_status=this.navParams.get('margin_calculation_status');\r\n this.users = this.aws.getlocale();\r\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\r\n \r\n this.salesDailyForm = this.fb.group(\r\n {\r\n sales_product: this.fb.array([]),\r\n })\r\n if (this.salesDaily != null) {\r\n this.getDailySalesData(this.salesDaily);\r\n } else {\r\n this.adddailySalaesProduct();\r\n\r\n }\r\n this.getDropDown()\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\r\n }\r\n\r\n getDropDown(){\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(data=>{\r\n this.frequencyData=data['records'].filter(val=>val.isactive == 1)\r\n })\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n let datas=res.records\r\n let api=Object.keys(datas.type_of_activity).map(function(key){\r\n return datas.type_of_activity[key];\r\n })\r\n if(api.length>0){\r\n api.forEach(val=>{\r\n if(val.type_of_activity_id == 2){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 3){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 4){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 5){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n })\r\n }\r\n console.log(\"before\",this.product_and_services)\r\n this.product_and_services = [].concat.apply([], this.product_and_services);\r\n console.log(\"After\",this.product_and_services)\r\n }\r\n })\r\n }\r\n // change options for either Date/Frequency Information\r\nchangeOptions(indexVal: any,event: any): void{\r\n console.log(\"event\",event)\r\n let control: any = this.salesDailyForm.controls['sales_product'];\r\n console.log(\"control\",control)\r\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\r\n if(event==\"1\"){\r\n for (let i = 0; i < innercontrol.value.length-1; i++) {\r\n innercontrol.removeAt(i);\r\n }\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].setValidators([Validators.required]);\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].clearValidators();\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].updateValueAndValidity();\r\n\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].clearValidators();\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].updateValueAndValidity();\r\n\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n\r\n // control.controls[indexVal].controls['comments'].setValue(\"\");\r\n // control.controls[indexVal].controls['comments'].clearValidators();\r\n //control.controls[indexVal].controls['comments'].updateValueAndValidity();\r\n }\r\n else if(event==\"2\"){\r\n for (let i = 0; i < innercontrol.value.length-1; i++) {\r\n innercontrol.removeAt(i);\r\n }\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].clearValidators();\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].setValidators([Validators.required]);\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].setValidators([Validators.required]);\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n\r\n control.controls[indexVal].controls['comments'].setValue(\"\");\r\n // control.controls[indexVal].controls['comments'].setValidators([Validators.required]);\r\n // control.controls[indexVal].controls['comments'].updateValueAndValidity();\r\n\r\n }\r\n control.controls[indexVal].controls['margin_per'].setValue(\"\");\r\n control.controls[indexVal].controls['margin_value'].setValue(\"\");\r\n\r\n }\r\n createdailysalesProduct() {\r\n return this.fb.group(\r\n {\r\n sim_id: [null],\r\n sales_item: [null, Validators.compose([Validators.required])],\r\n other_sales_item:[null],\r\n sales_type:[\"1\"],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n margin_per: [null],\r\n margin_value: [null],\r\n comments:[null],\r\n fk_createdby: [this.users],\r\n isactive: [true],\r\n });\r\n }\r\n createdailyChildSaleProduct() {\r\n return this.fb.group({\r\n simc_id: [null],\r\n fk_sim_id: [null],\r\n sales_date: [null],\r\n sales_value: [null],\r\n fk_frequency_id:[null],\r\n frequency_value:[null],\r\n isactive: [true],\r\n })\r\n }\r\n temparr = [];\r\n tempdate = [];\r\n getSalesCalc(subchild,child,key) {\r\n \r\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\r\n let totalitemmargin = child.value.margin_per;\r\n \r\n if (totalitemmargin != null && subchild.value.sales_value !=null) {\r\n let loopAccess = false;\r\n let loopindex = 0;\r\n if (this.tempdate.length != 0) {\r\n for (var i = 0; i < this.tempdate.length; i++) {\r\n\r\n if (this.tempdate[i].month == saledate) {\r\n loopAccess = true;\r\n loopindex = i;\r\n }\r\n }\r\n\r\n if (loopAccess) {\r\n\r\n \r\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\r\n this.temparr.push(subchild.value.sales_value);\r\n loopAccess = false;\r\n loopindex = 0;\r\n \r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n\r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\r\n this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n let totalMonth = 12 / this.tempdate.length;\r\n \r\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\r\n \r\n // let value = tempgrandTotal * (totalitemmargin / 100);\r\n let value = tempgrandTotal*totalMonth ;\r\n \r\n let grandValue = value * (totalitemmargin / 100);\r\n child.controls['margin_value'].setValue(grandValue);\r\n \r\n }\r\n \r\n }\r\n salesCalculation(indexVal: number,values: any): void {\r\n console.log(indexVal,values)\r\n console.log(\"Margin\",this.margin_calculation_status);\r\n if(this.margin_calculation_status===true && values.sales_type==\"1\"){\r\n console.log(\"value == 1\")\r\n let control:any = this.salesDailyForm.controls['sales_product'];\r\n if(values.child.length>0 && values.margin_per!='' && values.margin_per!=null){\r\n // let transformData = values.child.filter(val=>val.sales_date!='' && val.sales_date!=null && val.sales_date!=undefined && val.sales_value!='' && val.isactive===true).map(mval=>{\r\n let transformData = values.child.filter(val=>val.sales_date!='' && val.sales_date!=null && val.sales_date!=undefined && val.sales_value!='' && val.isactive==true).map(mval=>{\r\n mval.custum_date = this.pipe.transform(mval.sales_date, 'yyyy-MM');\r\n return mval;\r\n });\r\n console.log(\"transform\",transformData)\r\n if(transformData.length>0) {\r\n let getUniqueMonthCounts = transformData.map(val=>val.custum_date)\r\n .filter((fVal,fIndex,fArray)=>{\r\n return fIndex === fArray.indexOf(fVal);\r\n });\r\n let getTotalValueCounts = transformData.map(val=>val.sales_value)\r\n .reduce((sum, curr) => parseFloat(sum) + parseFloat(curr));\r\n console.log(\"value\",(parseFloat(getTotalValueCounts) * (parseFloat(values.margin_per)/100) * (12 / parseFloat(getUniqueMonthCounts.length))).toFixed(2))\r\n console.log(control.controls[indexVal])\r\n control.controls[indexVal].controls['margin_value'].setValue((parseFloat(getTotalValueCounts) * (parseFloat(values.margin_per)/100) * (12 / parseFloat(getUniqueMonthCounts.length))).toFixed(2));\r\n this.inWords(parseInt(getTotalValueCounts) * (parseInt(values.margin_per)/100) * (12 / parseInt(getUniqueMonthCounts.length)),indexVal,2)\r\n }\r\n else{\r\n console.log(\"else 1\")\r\n control.controls[indexVal].controls['margin_value'].setValue(\"\");\r\n \r\n }\r\n console.log(\"else 1\")\r\n }\r\n else {\r\n console.log(\"else 2\")\r\n control.controls[indexVal].controls['margin_value'].setValue('');\r\n \r\n }\r\n }\r\n else if(this.margin_calculation_status===true && values.sales_type==\"2\"){\r\n let control:any = this.salesDailyForm.controls['sales_product'];\r\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\r\n \r\n if(values.child[values.child.length-1].fk_frequency_id!='' && values.child[values.child.length-1].frequency_value!='' && values.child[values.child.length-1].fk_frequency_id!=null && values.child[values.child.length-1].frequency_value!=null){\r\n let filterFrequencyValue: any = this.frequencyData.filter(val =>val.frequency_id==values.child[values.child.length-1].fk_frequency_id);\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue((parseFloat(filterFrequencyValue[0].mutiple_factor) * parseFloat(values.child[values.child.length-1].frequency_value)).toFixed(2));\r\n this.inWords(parseInt(filterFrequencyValue[0].mutiple_factor) * parseInt(values.child[values.child.length-1].frequency_value),innercontrol.value.length-1,1)\r\n \r\n let getTotalValueCounts =parseFloat(filterFrequencyValue[0].mutiple_factor) * parseFloat(values.child[values.child.length-1].frequency_value)\r\n values.margin_per!='' ? control.controls[indexVal].controls['margin_value'].setValue( (getTotalValueCounts * (parseFloat(values.margin_per)/100)).toFixed(2)) : '';\r\n values.margin_per!='' ? this.inWords(getTotalValueCounts * (parseInt(values.margin_per)/100),indexVal,2) : ''\r\n }\r\n else {\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n control.controls[indexVal].controls['margin_value'].setValue(\"\");\r\n \r\n }\r\n }\r\n else if(this.margin_calculation_status===false && values.sales_type==\"2\"){\r\n let control:any = this.salesDailyForm.controls['sales_product'];\r\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\r\n \r\n if(values.child[values.child.length-1].fk_frequency_id!='' && values.child[values.child.length-1].frequency_value!='' && values.child[values.child.length-1].fk_frequency_id!=null && values.child[values.child.length-1].frequency_value!=null){\r\n let filterFrequencyValue: any = this.frequencyData.filter(val =>val.frequency_id==values.child[values.child.length-1].fk_frequency_id);\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue((parseFloat(filterFrequencyValue[0].mutiple_factor) * parseFloat(values.child[values.child.length-1].frequency_value)).toFixed(2));\r\n this.inWords(parseInt(filterFrequencyValue[0].mutiple_factor) * parseInt(values.child[values.child.length-1].frequency_value),innercontrol.value.length-1,1)\r\n }\r\n else {\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n }\r\n }\r\n \r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.marginAmtInwords[c] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 3:\r\n this.freqAmtInwords[c]=this.constant.convertNumberToWords(e)\r\n default : break;\r\n }\r\n }\r\n adddailySalaesProduct() {\r\n this.tempdate = [];\r\n if (this.salesDailyForm.valid) {\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n control.push(this.createdailysalesProduct());\r\n \r\n this.adddailyChildSaleProduct(control.length - 1);\r\n }\r\n }\r\n adddailyChildSaleProduct(index) {\r\n // if(this.salesDailyForm.valid){\r\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\r\n\r\n control.push(this.createdailyChildSaleProduct());\r\n // }\r\n }\r\n\r\n deletedailySalesProduct(index,item) {\r\n console.log(\"fk_pd_id\",item);\r\n this.tempdate.slice(index,1);\r\n let deleteRecords:any;\r\n \r\n if(item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n sim_id:item.sim_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n \r\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\r\n if (control.length == 1) {\r\n this.salesDailyForm.controls['sales_product'].reset();\r\n } else {\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n deletedailyChildSaleProduct(saleIndex, saleChildIndex,childVal) {\r\n let control = this.salesDailyForm.controls['sales_product'];\r\n control=control.controls[saleIndex].get('child') as FormArray\r\n if(childVal == '' || childVal == null){\r\n control.removeAt(saleChildIndex)\r\n }\r\n else{\r\n console.log(\"control\",control.controls[saleChildIndex])\r\n control.controls[saleChildIndex].get('isactive').setValue(false);\r\n }\r\n\r\n // this.tempdate = [];\r\n // const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\r\n // if(control.length==1)\r\n // {\r\n // control.removeAt(saleChildIndex);\r\n // this.adddailyChildSaleProduct(saleIndex); \r\n // }else{\r\n // control.removeAt(saleChildIndex);\r\n // }\r\n }\r\n saveData(answerData) {\r\n answerData.sales_product.forEach(parVal=>{\r\n parVal.child.forEach(childVal=>{\r\n if(childVal['custum_date']){\r\n delete childVal['custum_date'];\r\n }\r\n if(childVal['sales_date'])\r\n childVal['sales_date']=this.pipe.transform(childVal['sales_date'], 'yyyy-MM-dd');\r\n });\r\n });\r\n if (this.salesDailyForm.valid) {\r\n let records = { 'records': answerData.sales_product };\r\n console.log(\"answer Data\",records)\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\r\n if (res['dataStatus'] == true) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n });\r\n }\r\n else{\r\n console.log(\"pd\",this.salesDailyForm);\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields\")\r\n }\r\n\r\n\r\n }\r\n getDailySalesData(dailySalesData) {\r\n console.log(\"daily sale\",dailySalesData);\r\n \r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n let control1: any = this.salesDailyForm.controls['sales_product'];\r\n let salesChildControl;\r\n let salesChildControlarr = [];\r\n dailySalesData.forEach((val, index) => {\r\n \r\n\r\n control.push(this.dailySalesWithData(val));\r\n if(val.margin_value != null){\r\n this.marginAmtInwords[index]=this.constant.convertNumberToWords(val.margin_value)\r\n }\r\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\r\n\r\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\r\n\r\n salesChildControlarr[index].forEach((vals, i) => {\r\n vals.forEach((item, key) => {\r\n console.log(\"item\",item,'key',key)\r\n if(val.sales_type != 2){\r\n let saleDate = new Date(item.sales_date);\r\n let date=saleDate.getDate()< 10 ? (\"0\"+(saleDate.getDate())) : saleDate.getDate()\r\n let month=saleDate.getMonth() < 10 ? (\"0\"+(saleDate.getMonth()+1)) : (saleDate.getMonth()+1)\r\n\r\n // item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay()+1 )).slice(-2);\r\n console.log(\"sale Day\",saleDate.getDay())\r\n item.sales_date = saleDate.getFullYear() + '-' + month+ '-' + date;\r\n }\r\n \r\n //console.log(\"sale data\",new Date(this.pipe.transform(item.sales_date, 'dd-MM-yyyy')))\r\n console.log(\"itme\",val)\r\n console.log(\"sale\",item.sales_date)\r\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id,val.sales_type));\r\n if(item.sales_value !=null){\r\n this.Value[i]=this.constant.convertNumberToWords(item.sales_value)\r\n }\r\n })\r\n \r\n\r\n\r\n });\r\n // this.changeOptions(index,val.sales_type)\r\n if(val.sales_type==\"2\"){\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['sales_date'].setValue(\"\");\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['sales_date'].clearValidators();\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['sales_date'].updateValueAndValidity();\r\n \r\n salesChildControl.controls[salesChildControl.value.length-1].controls['fk_frequency_id'].setValidators([Validators.required]);\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['fk_frequency_id'].updateValueAndValidity();\r\n \r\n salesChildControl.controls[salesChildControl.value.length-1].controls['frequency_value'].setValidators([Validators.required]);\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['frequency_value'].updateValueAndValidity();\r\n \r\n // control1.controls[control.value.length-1].controls['comments'].setValidators([Validators.required]);\r\n // control1.controls[control.value.length-1].controls['comments'].updateValueAndValidity();\r\n\r\n }\r\n });\r\n \r\n console.log(\"aall\",this.salesDailyForm.value)\r\n }\r\n\r\n dailySalesWithData(data) {\r\n\r\n return this.fb.group(\r\n {\r\n sim_id: [data.sim_id],\r\n sales_item: [data.sales_item],\r\n other_sales_item:[data.other_sales_item],\r\n sales_type:[data.sales_type],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n fk_createdby: [this.users],\r\n isactive: [true],\r\n margin_per: [data.margin_per == null ? '' : (data.margin_per).toFixed(2)],\r\n margin_value: [data.margin_value == null ? '' :(data.margin_value).toFixed(2)],\r\n comments:[data.comments]\r\n })\r\n }\r\n dailySalesChildWithData(data, fk_id,salesType) {\r\n\r\nconsole.log(\"Sales type\",salesType)\r\n return this.fb.group(\r\n {\r\n simc_id: [data.simc_id],\r\n fk_sim_id: [fk_id],\r\n // sales_date: [data.sales_date, Validators.compose([Validators.required])],\r\n sales_date:[salesType==2 ? '' : data.sales_date],\r\n // sales_date: [new Date(this.pipe.transform(data.sales_date, 'dd-MM-yyyy')), Validators.compose([Validators.required])],\r\n sales_value: [data.sales_value],\r\n fk_frequency_id:[data.fk_frequency_id],\r\n frequency_value:[data.frequency_value],\r\n isactive: [true],\r\n })\r\n \r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedPurchasePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-purchase',\r\n templateUrl: 'pd-question-assessed-purchase.html',\r\n})\r\nexport class PdQuestionAssessedPurchasePage {\r\n purchaseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n businessExpenses: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n annual: any = [];\r\n grandpurchaseTotal: any;\r\n rawMaterialForm:FormGroup;\r\n RateOfPurchase: any=[];\r\n AnnualPurchase: any=[];\r\n productListData:any=[]\r\n check_type:any=[{'type_id':\"1\",'type_name':'Quantity and Rate Information'},{'type_id':\"2\",'type_name':'Value Information'}]\r\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.purchaseDetails = this.navParams.get('purchase');\r\n console.log(\"purchase\",this.purchaseDetails)\r\n console.log(\"pd\",this.pdDetails);\r\n this.users = this.aws.getlocale();\r\n this.rawMaterialForm = this.fb.group(\r\n {\r\n purchase:this.fb.array([]),\r\n });\r\n \r\n if(this.purchaseDetails!=null)\r\n {\r\n this.getpurchaseDetails(this.purchaseDetails);\r\n }else\r\n {\r\n this.addPurchaseDetails();\r\n }\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\r\n }\r\n\r\n\r\n createPurchaseDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n purchase_item:[null,Validators.compose([Validators.required])],\r\n other_purchase_item:[null],\r\n purchase_type:['1'],\r\n purchase_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n uom_other:[null],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_purchase_value:[null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n }\r\n })\r\n this.qustCat.stockFormAccess(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(data=>{\r\n if (data.dataStatus){\r\n let datas = data.record;\r\n \r\n let type2 = datas.from_business.filter(data => data.type_of_activity_id == 2); \r\n if(type2[0].hasOwnProperty(\"products\")){\r\n // this.productListData.push(type2[0].products);\r\n }\r\n let type3 = datas.from_business.filter(data => data.type_of_activity_id == 3);\r\n if(type3[0].hasOwnProperty(\"products\")){\r\n this.productListData.push(type3[0].products);\r\n }\r\n let type4 = datas.from_business.filter(data => data.type_of_activity_id == 4);\r\n if(type4[0].hasOwnProperty(\"products\")){\r\n this.productListData.push(type4[0].products);\r\n }\r\n if(datas.from_supplier.hasOwnProperty(\"raw_material\")){\r\n this.productListData.push(datas.from_supplier.raw_material);\r\n }\r\n this.productListData = [].concat.apply([], this.productListData);\r\n \r\n }\r\n })\r\n }\r\n addPurchaseDetails()\r\n {\r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.push(this.createPurchaseDetails());\r\n }\r\n\r\n deletePurchaseDetails(i,item)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n let deleteRecords:any; \r\n if(item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n purchase_id:item.purchase_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else{\r\n control.removeAt(i); \r\n } \r\n }\r\n\r\n\r\n purchaseCalculation(indexVal,values)\r\n {\r\nconsole.log(\"value\",values);\r\n let control:any = this.rawMaterialForm.controls['purchase'];\r\n if(values.purchase_type == \"1\" && values.purchase_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.purchase_qty!=null && values.rate_per_unit!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_purchase_value'].setValue((parseFloat(values.purchase_qty) * parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.purchase_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n\r\n }\r\n else if(values.purchase_type==\"2\" && values.rate_per_unit !='' && values.rate_per_unit !=null && values.fk_frequency_id != '' && values.fk_frequency_id != null ){\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_purchase_value'].setValue((parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_purchase_value'].setValue(null);\r\n }\r\n // console.log(this.grandpurchaseTotal);\r\n // console.log(details,index);\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let purchaseQty = details.value.purchase_qty;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // // console.log(frequencyId);\r\n // let annual\r\n // if(purchaseQty!=null && UOM!=null){\r\n // if(frequencyId==1)\r\n // {\r\n\r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (purchaseQty*UOM*250);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_purchase_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (purchaseQty*UOM);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_purchase_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (purchaseQty*UOM*12);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_purchase_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n\r\n // }else if(frequencyId==7)\r\n // {\r\n\r\n // }else if(frequencyId==8)\r\n // {\r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\r\n // }\r\n }\r\n savepurchaseData(answerData)\r\n {\r\n if(this.rawMaterialForm.valid){\r\n let records = {'records':answerData.purchase};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n // this.getAssessedDetails();\r\n \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getpurchaseDetails(purchaseDetails)\r\n {\r\n console.log('function in',purchaseDetails);\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \r\n console.log(control); \r\n if(purchaseDetails.length ==0)\r\n {\r\n console.log('if');\r\n this.addPurchaseDetails();\r\n }else{\r\n console.log('else');\r\n purchaseDetails.forEach((val,index)=>\r\n {\r\n // console.log(index);\r\n control.push(this.createPurchasewithData(val));\r\n this.annual[index] = val.annual_purchase_value;\r\n if(val.rate_per_unit != null){\r\n this.RateOfPurchase[index]=this.cons.convertNumberToWords(val.rate_per_unit)\r\n }\r\n if(val.annual_purchase_value != null){\r\n this.AnnualPurchase[index]=this.cons.convertNumberToWords(val.annual_purchase_value)\r\n }\r\n });\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\r\n }\r\n // console.log(control); \r\n \r\n }\r\n\r\n createPurchasewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[data.purchase_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\r\n other_purchase_item:[data.other_purchase_item],\r\n purchase_type:[data.purchase_type],\r\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n uom_other:[data.uom_other],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n changeOptions(indexVal: any,event: any): void{\r\n console.log('event',event)\r\n let control: any = this.rawMaterialForm.controls['purchase'];\r\n if(event.value==\"1\"){\r\n control.controls[indexVal].controls['purchase_qty'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['purchase_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n this.purchaseCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n else if(event.value==\"2\"){\r\n control.controls[indexVal].controls['purchase_qty'].setValue(\"\");\r\n control.controls[indexVal].controls['purchase_qty'].clearValidators();\r\n control.controls[indexVal].controls['purchase_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValue(\"\");\r\n control.controls[indexVal].controls['fk_uom_id'].clearValidators();\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n this.purchaseCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.RateOfPurchase[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualPurchase[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business',\r\n templateUrl: 'pd-question-assessed-business.html',\r\n})\r\nexport class PdQuestionAssessedBusinessPage {\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n Value: any=[];\r\n AnnualExpenses: any=[];\r\n grandpurchaseTotal(arg0: any): any {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n grandExpenseTotal: any=[];\r\n expenseannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessExpenses:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busExpense:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\r\n }\r\n\r\n\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[null,Validators.compose([Validators.required])],\r\n expense_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_expenses_value:[null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n\r\n businessCalculation(indexVal: number,values: any): void {\r\n let control:any = this.BuissnessForm.controls['busExpense'];\r\n if(values.expense_value!='' && values.fk_frequency_id!='' && values.expense_value!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_expenses_value'].setValue((parseFloat(values.expense_value) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.expense_value) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n \r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_expenses_value'].setValue(null);\r\n }\r\n }\r\n \r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i,item)\r\n {\r\n console.log(\"item\",item);\r\n this.expenseannual.splice(i,1); \r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n \r\n let deleteRecords:any;\r\n if(item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n pd_expense_id:item.pd_expense_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n \r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else{\r\n control.removeAt(i); \r\n } \r\n }\r\n\r\n busExpensecalculat(index,details)\r\n {\r\n \r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n let UOM = details.value.rate_per_unit;\r\n \r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual); \r\n this.inWords(annual,index,2) \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n this.inWords(annual,index,2)\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n this.inWords(annual,index,2)\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busExpense};\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.expenseannual[index] = val.annual_expenses_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n if(val.expense_value != null){\r\n this.Value[index]=this.cons.convertNumberToWords(val.expense_value)\r\n this.AnnualExpenses[index]=this.cons.convertNumberToWords(val.annual_expenses_value)\r\n }\r\n })\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[data.pd_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\r\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualExpenses[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedHouseholdPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-household',\r\n templateUrl: 'pd-question-assessed-household.html',\r\n})\r\nexport class PdQuestionAssessedHouseholdPage {\r\n\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n houseExpenseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n houseannual: any =[];\r\n grandHouseExpenseTotal: any=[];\r\n houseHoldForm:FormGroup;\r\n Value: any=[];\r\n AnnualExpenses: any=[];\r\n // nn:Object[][]=[]\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.houseExpenseDetails = this.navParams.get('FormId');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.houseHoldForm = this.fb.group(\r\n {\r\n houseExpense:this.fb.array([]),\r\n });\r\n if(this.expenseDetails !=null)\r\n {\r\n this.getHouseholdExpense(this.expenseDetails);\r\n }else\r\n {\r\n this.addHouseExpenses();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n createHouseExpense()\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id] ,\r\n company_id:[this.pdDetails.company_id],\r\n\t\t expense_item: [null,Validators.compose([Validators.required])],\r\n\t\t expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\r\n annual_expense_value: [null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n\r\n addHouseExpenses()\r\n {\r\n \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n\r\n control.push(this.createHouseExpense());\r\n }\r\n\r\n deleteHouseExpense(i,item)\r\n {\r\n this.houseannual.splice(i,1); \r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n let deleteRecords:any\r\n if(item.household_expense_id !=null){\r\n deleteRecords=[{\r\n household_expense_id:item.household_expense_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else{\r\n control.removeAt(i); \r\n } \r\n }\r\n houseExpensecalculat(indexVal,values)\r\n {\r\n\r\n let control:any = this.houseHoldForm.controls['houseExpense'];\r\n if(values.expense_value!='' && values.fk_frequency_id!='' && values.expense_value!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_expense_value'].setValue((parseFloat(values.expense_value) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.expense_value) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n \r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_expense_value'].setValue(null);\r\n }\r\n \r\n //OLD CALCULATION\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let expenseValue = details.value.expense_value;\r\n // // let UOM = details.value.rate_per_unit;\r\n // // console.log(frequencyId,purchaseQty,UOM,index);\r\n // // console.log(details);\r\n // let annual\r\n // if(expenseValue!=null){\r\n // if(frequencyId==1)\r\n // {\r\n\r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (expenseValue*250);\r\n // this.houseannual[index] = annual;\r\n // details.controls['annual_expense_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (expenseValue);\r\n // this.houseannual[index] = annual;\r\n // details.controls['annual_expense_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (expenseValue*12);\r\n // this.houseannual[index] = annual;\r\n // details.controls['annual_expense_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n\r\n // }else if(frequencyId==7)\r\n // {\r\n\r\n // }else if(frequencyId==8)\r\n // {\r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n // console.log(this.grandHouseExpenseTotal); \r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n // }\r\n }\r\n saveHouseExpenseData(answerData)\r\n {\r\n if(this.houseHoldForm.valid)\r\n {\r\n let records = {'records':answerData.houseExpense};\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n getHouseholdExpense(houseExpesneDetails)\r\n {\r\n if(houseExpesneDetails.length==0)\r\n {\r\n this.addHouseExpenses(); \r\n }else\r\n {\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \r\n houseExpesneDetails.forEach((val,index)=>\r\n {\r\n this.houseannual[index] = val.annual_expense_value;\r\n control.push(this.createHouseholdwithData(val));\r\n if(val.expense_value != null){\r\n this.Value[index]=this.cons.convertNumberToWords(val.expense_value)\r\n this.AnnualExpenses[index]=this.cons.convertNumberToWords(val.annual_expense_value)\r\n }\r\n \r\n });\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createHouseholdwithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[data.household_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id] ,\r\n company_id:[this.pdDetails.company_id],\r\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\r\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualExpenses[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business-income',\r\n templateUrl: 'pd-question-assessed-business-income.html',\r\n})\r\nexport class PdQuestionAssessedBusinessIncomePage {\r\n m_freqOfPurchase: any = [];\r\n expenseDetails: any;\r\n \r\n grandIncomeTotal: any=[];\r\n incomeannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessIncome:any;\r\n Value: any=[];\r\n AnnualExpenses: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('income');\r\n \r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busIncome:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\r\n }\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[null,Validators.compose([Validators.required])],\r\n income_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_income_value:[null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[null],\r\n other_frequncy_item:[null],\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.incomeannual.splice(i,1); \r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busIncomecalculate(indexVal,values)\r\n {\r\n let control:any = this.BuissnessForm.controls['busIncome'];\r\n if(values.income_value!='' && values.fk_frequency_id!='' && values.income_value!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_income_value'].setValue(parseInt(values.income_value) * parseInt(filterFrequencyValue[0].mutiple_factor));\r\n this.inWords(parseInt(values.income_value) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n\r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_income_value'].setValue('');\r\n }\r\n //OLD CALCULATION\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let incomeValue = details.value.income_value;\r\n // // let UOM = details.value.rate_per_unit;\r\n \r\n // let annual:any;\r\n // if(incomeValue!=null && incomeValue !=null){\r\n // let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \r\n // if(frequencyId==1)\r\n // {\r\n \r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual);\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==7)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==8)\r\n // {\r\n // annual = (incomeValue);\r\n // this.incomeannual[index] = annual; \r\n // details.controls['annual_income_value'].setValue(annual); \r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n // }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busIncome};\r\n \r\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.incomeannual[index] = val.annual_income_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n if(val.income_value != null){\r\n this.Value[index]=this.cons.convertNumberToWords(val.income_value)\r\n this.AnnualExpenses[index]=this.cons.convertNumberToWords(val.annual_income_value)\r\n }\r\n })\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[data.pd_business_income_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\r\n income_value:[data.income_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[data.other_income_item],\r\n other_frequncy_item:[data.other_frequncy_item],\r\n })\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualExpenses[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Form } from 'ionic-angular';\nimport {AwsServiceProvider} from '../../../providers/aws-service/aws-service'\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\nimport {QuestionCategoryProvider} from '../../../providers/question-category/question-category'\nimport {ToastProvider} from '../../../providers/common-provider/toast'\nimport { DatePipe } from '@angular/common';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\nimport { max } from 'rxjs/operators';\n\n/**\n * Generated class for the PdQuestionAssessedDailyPurchasePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-daily-purchase',\n templateUrl: 'pd-question-assessed-daily-purchase.html',\n})\nexport class PdQuestionAssessedDailyPurchasePage {\n pipe = new DatePipe('en-US');\n pdDetails:any;\n formId:any;\n margin_calculation_status: any;\n users: any;\n purchaseItemForm:FormGroup\n dailyPurchase:any;\n productListData: any=[];\n purchaseData:any;\n purchaseAmtInWords: any=[];\n maxDate:any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\n private fb:FormBuilder,private quesCat:QuestionCategoryProvider,private toast:ToastProvider,private cons:ConstantsProvider) {\n var today=new Date\n console.log(\"today\",today)\n let date=today.getDate()< 10 ? (\"0\"+(today.getDate())) : today.getDate()\n let month=today.getMonth() < 10 ? (\"0\"+(today.getMonth()+1)) : (today.getMonth()+1)\n this.maxDate = today.getFullYear() + '-' + month + '-' + date;\n console.log(\"max\",this.maxDate)\n this.pdDetails=this.navParams.get('pdDetails')\n console.log(\"pd\",this.pdDetails)\n this.formId=this.navParams.get('FormId')\n this.purchaseData=this.navParams.get('purchaseDaily')\n console.log(\"data\",this.purchaseData);\n this.margin_calculation_status=this.navParams.get('margin_calculation_status');\n this.users = this.aws.getlocale();\n\n this.purchaseItemForm=this.fb.group({\n // purchase_item:[''],\n // other_purchase_item:[''],\n purchase_product:this.fb.array([])\n // child:this.fb.array([])\n })\n this.getDropDown()\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDailyPurchasePage');\n if(this.purchaseData != null){\n this.getDailyPurchase(this.purchaseData)\n }\n else{\n this.addPurchase();\n }\n \n }\n getDropDown(){\n this.quesCat.stockFormAccess(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(data=>{\n if (data.dataStatus){\n let datas = data.record;\n \n let type2 = datas.from_business.filter(data => data.type_of_activity_id == 2); \n if(type2[0].hasOwnProperty(\"products\")){\n // this.productListData.push(type2[0].products);\n }\n let type3 = datas.from_business.filter(data => data.type_of_activity_id == 3);\n if(type3[0].hasOwnProperty(\"products\")){\n this.productListData.push(type3[0].products);\n }\n let type4 = datas.from_business.filter(data => data.type_of_activity_id == 4);\n if(type4[0].hasOwnProperty(\"products\")){\n this.productListData.push(type4[0].products);\n }\n if(datas.from_supplier.hasOwnProperty(\"raw_material\")){\n this.productListData.push(datas.from_supplier.raw_material);\n }\n this.productListData = [].concat.apply([], this.productListData);\n \n }\n })\n }\n addPurchase(){\n const control=this.purchaseItemForm.get('purchase_product') as FormArray\n control.push(this.createDailyPurchase())\n this.addDailyPurchaseChild(control.length-1)\n }\n createDailyPurchase(){\n return this.fb.group({\n fk_pd_id: [this.pdDetails.pd_id],\n company_id:[this.pdDetails.company_id],\n pbw_id: [''],\n purchase_item: ['', Validators.compose([Validators.required])],\n other_purchase_item:[''],\n annual_purchase_value: [''],\n child: this.fb.array([]),\n comments: [''],\n isactive:[true],\n })\n }\n addDailyPurchaseChild(index)\n {\n const control=(this.purchaseItemForm.get('purchase_product')).at(index).get('child') as FormArray;\n control.push(this.createDailyPurchaseChild(''))\n }\n createDailyPurchaseChild(value){\n return this.fb.group({\n pbwc_id: [''],\n fk_pbw_id: [value],\n purchase_date: [''],\n purchase_value: ['', Validators.compose([Validators.required])],\n isactive:[true],\n })\n }\n createPurchaseItemWithData(values: any) {\n return this.fb.group({\n fk_pd_id: [this.pdDetails.pd_id],\n company_id:[this.pdDetails.company_id],\n pbw_id: [values.pbw_id],\n purchase_item: [values.purchase_item, Validators.compose([Validators.required])],\n other_purchase_item:[values.other_purchase_item === null ? '' : values.other_purchase_item ],\n annual_purchase_value: [values.annual_purchase_value],\n child: this.fb.array([]),\n comments: [values.comments],\n isactive:[true],\n });\n }\n \n // create daily purchase product with Data\n createDailyPurchaseWithData(values: any, parent: any) {\n console.log(\"dd\",new Date(this.pipe.transform(values.purchase_date, 'yyyy-MM-dd')))\n return this.fb.group({\n pbwc_id: [values.pbwc_id],\n fk_pbw_id: [parent.pbw_id],\n // purchase_date: [parent.purchase_date=='' ? '' :new Date(this.pipe.transform(values.purchase_date, 'yyyy-MM-dd')), Validators.compose([Validators.required])],\n purchase_date:[values.purchase_date],\n purchase_value: [values.purchase_value, Validators.compose([Validators.required])],\n isactive:[true]\n })\n }\ninWords(values,index){\n console.log(\"value\",values)\n if(values != ''){\n this.purchaseAmtInWords[index]=this.cons.convertNumberToWords(values)\n }\n}\n // this caculation for running total\npurchaseCalculation(indexVal: number,values: any): void {\n \n let control:any = this.purchaseItemForm.controls['purchase_product'];\n \n if(values.child.length>0){\n let transformData = values.child.filter(val=>val.purchase_date!='' && val.purchase_date!=null && val.purchase_date!=undefined && val.purchase_value!='' && val.isactive===true).map(mval=>{\n mval.custum_date = this.pipe.transform(mval.purchase_date, 'yyyy-MM');\n return mval;\n });\n\n if(transformData.length>0) {\n // let getUniqueMonthCounts = transformData.map(val=>val.custum_date)\n // .filter((fVal,fIndex,fArray)=>{\n // return fIndex === fArray.indexOf(fVal);\n // });\n\n let TotalAnnualValue = transformData.map(val=>val.purchase_value)\n .reduce((sum, curr) => parseInt(sum) + parseInt(curr));\n // let months:number=12/values.child.length;\n control.controls[indexVal].controls['annual_purchase_value'].setValue(TotalAnnualValue);\n }\n else{\n control.controls[indexVal].controls['annual_purchase_value'].setValue(\"\");\n }\n \n }\n else {\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\n innercontrol.controls[innercontrol.value.length-1].controls['purchase_value'].setValue(\"\");\n control.controls[indexVal].controls['annual_purchase_value'].setValue(\"\");\n }\n}\naddDailyPurchase(len){\n const control=this.purchaseItemForm.get('purchase_product');\n control.push(this.createDailyPurchase())\n const innercontrol=control.at(len).get('child') as FormArray\n innercontrol.push(this.createDailyPurchaseChild(''))\n}\nremoveDailyPurchase(index){\n const control=this.purchaseItemForm.get('purchase_product');\n control.removeAt(index)\n}\naddChild(parentIndex,values){\n let control: any = this.purchaseItemForm.controls['purchase_product'];\n control=control.controls[parentIndex].get('child') as FormArray;\n control.push(this.createDailyPurchaseChild(values.pbw_id));\n}\nremoveChild(parentIndex,childIndex,childValue){\n let control: any = this.purchaseItemForm.controls['purchase_product'];\n control=control.controls[parentIndex].get('child') as FormArray;\n if(childValue.pbwc_id=='' || childValue.pbwc_id==null){\n control.removeAt(childIndex);\n let calculatControlValues: any = this.purchaseItemForm.controls['purchase_product'];\n calculatControlValues = calculatControlValues.controls[parentIndex];\n this.purchaseCalculation(parentIndex,calculatControlValues.value);\n }\n else {\n control.controls[childIndex].controls.isactive.setValue(false);\n let calculatControlValues: any = this.purchaseItemForm.controls['purchase_product'];\n calculatControlValues = calculatControlValues.controls[parentIndex];\n this.purchaseCalculation(parentIndex,calculatControlValues.value);\n }\n}\ngetDailyPurchase(records){\n const control=this.purchaseItemForm.get('purchase_product')\n // const innercontrol=control.at(0).get('child') as FormArray\n records.forEach((element,index)=>{\n let purchaseChildControlarr=[]\n let nexContro=[]\n control.push(this.createPurchaseItemWithData(element))\n console.log(\"records\",element)\n let result=Object.assign({},...element.items);\n console.log(\"result\",result);\n // let expandBodyContent= Object.keys(result).map(key => ({ header:key, value: result[key] }));\n // console.log(\"expandBody\",expandBodyContent);\n // let listItems: any=[];\n nexContro[index] = Object.keys(element['items']).map(key => element['items'][key]);\n console.log(\"purchasechildcontrol\",nexContro[index])\n purchaseChildControlarr[index]=Object.keys(result).map(key=>result[key])\n console.log(\"nexcontrol\",purchaseChildControlarr[index])\n // expandBodyContent.forEach((expnadElement, expnadIndex) => {\n // console.log(\"expand\",expnadElement)\n // let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.purchase_value), 0);\n // console.log(\"calculateItems\",calculateItems)\n // listItems.push({items:expnadElement, itemsTotal:calculateItems})\n const innercontrol=control.at(index).get('child') as FormArray\n purchaseChildControlarr[index].forEach((chilVal,childIndex)=>{\n chilVal.forEach((val,innerIndex)=>{\n if(val.purchase_date ){\n let saleDate = new Date(val.purchase_date);\n console.log(saleDate.getDay())\n console.log(saleDate.getDate());\n // val.purchase_date= saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() )).slice(-2);\n let date=saleDate.getDate()< 10 ? (\"0\"+(saleDate.getDate())) : saleDate.getDate()\n let month=saleDate.getMonth() < 10 ? (\"0\"+(saleDate.getMonth()+1)) : (saleDate.getMonth()+1)\n console.log(\"datamonth\")\n console.log(date,month)\n val.purchase_date= saleDate.getFullYear() + '-' + month + '-' + date;\n console.log( val.purchase_date)\n }\n if(val.purchase_value != ''){\n this.inWords(val.purchase_value,childIndex)\n }\n console.log(\"child\",val)\n innercontrol.push(this.createDailyPurchaseWithData(val,element))\n })\n })\n \n })\n // console.log(\"list_items\",listItems)\n // })\n // control.push(this.createPurchaseItemWithData(records))\n \n //console.log('innercontrol',innercontrol)\n // records.items.forEach((element,index)=>{\n // innercontrol.push(this.createDailyPurchaseWithData(element,records))\n // })\n \n}\n\n\nsubmitDetails(records){\n records.purchase_product.forEach(parVal=>{\n parVal.child.forEach(childVal=>{\n if(childVal['custum_date']){\n delete childVal['custum_date']\n }\n if(childVal['purchase_date']){\n childVal['purchase_date']=this.pipe.transform(childVal['purchase_date'], 'yyyy-MM-dd')\n }\n })\n })\n let recordVal:any={'records':records.purchase_product}\n this.quesCat.saveassessedForms('saveAssessedIncomePurchaseBillwise',recordVal).subscribe(res=>{\n if(res['dataStatus']== true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully..!\")\n setTimeout(()=>{\n this.navCtrl.pop()\n },1500)\n }\n else{\n this.toast.pdTriggerappmessage(\"Error\");\n }\n })\n}\n \n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {QuestionCategoryProvider} from '../../../providers/question-category/question-category'\nimport {RupeeCurrencyFormatPipe} from '../../../pipes/rupee-currency-format/rupee-currency-format'\n\n/**\n * Generated class for the PdQuestionAssessedSummaryPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-summary',\n templateUrl: 'pd-question-assessed-summary.html',\n providers:[RupeeCurrencyFormatPipe]\n})\nexport class PdQuestionAssessedSummaryPage {\n pdDetails:any;\n salesCustomer:any;\n salesMonthWise:any;\n salesItemWise:any;\n consolidatedReport:any;\n loadData:boolean=false;\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustCat: QuestionCategoryProvider) {\n this.pdDetails=this.navParams.get('pdDetails')\n // console.log(this.pdDetails)\n this.getAssessedDetails();\n }\n ionViewWillEnter(){\n //console.log(\"ionViewWillEnter\")\n //this.getAssessedDetails();\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedSummaryPage');\n \n }\n getAssessedDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'company_id':this.pdDetails.company_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>{\n if(res['dataStatus']== true){\n if(res['records'].final_data.length != 0){\n this.salesCustomer=res['records'].final_data[0].sales_declared_by_customer\n this.salesItemWise=res['records'].final_data[0].sales_calculated_by_itemwise\n this.salesMonthWise=res['records'].final_data[0].sales_calculated_by_monthwise\n this.consolidatedReport=res['records'].final_data[0].consolidated_report\n console.log(this.salesCustomer);\n }\n this.loadData=true\n \n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary.ts","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Generated class for the RupeeCurrencyFormatPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: 'rupeeCurrencyFormat',\n})\nexport class RupeeCurrencyFormatPipe implements PipeTransform {\n /**\n * Takes a value and makes it lowercase.\n */\n transform(value: any):any {\n if (!isNaN(value) && value) {\n var currencySymbol = '₹';\n //var output = Number(input).toLocaleString('en-IN'); <-- This method is not working fine in all browsers! \n var result = value.toString().split('.');\n\n var lastThree = result[0].substring(result[0].length - 3);\n var otherNumbers = result[0].substring(0, result[0].length - 3);\n if (otherNumbers != '')\n lastThree = ',' + lastThree;\n var output = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\n \n if (result.length > 1) {\n output += \".\" + result[1];\n } \n\n return currencySymbol +' '+ output;\n }\n // return value.toLowerCase();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/rupee-currency-format/rupee-currency-format.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdQuestionAssessedImagesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-assessed-images',\n templateUrl: 'pd-question-assessed-images.html',\n})\nexport class PdQuestionAssessedImagesPage {\n\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedImagesPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-images/pd-question-assessed-images.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionLenderRepresentativePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-lender-representative',\r\n templateUrl: 'pd-question-lender-representative.html',\r\n})\r\nexport class PdQuestionLenderRepresentativePage {\r\n\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n representativeForm:FormGroup;\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public fb:FormBuilder,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) \r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.representativeForm = this.fb.group({\r\n pdid:[this.pdDetails.pd_id],\r\n formid:[this.FormId.form_id],\r\n fk_createdby:[this.users],\r\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\r\n representative_remarks: ['', Validators.compose([Validators.required])],\r\n lender_representative_details: this.fb.array([]),\r\n });\r\n this.getLenderReDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\r\n this.getPDImages();\r\n }\r\n\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.representativeForm.dirty);\r\n if(this.representativeForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n createlenReDetails()\r\n {\r\n return this.fb.group({\r\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\r\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n selectedLoanChanges(e): void {\r\n if (e.value == 'Yes') {\r\n const control = this.representativeForm.controls['lender_representative_details'];\r\n control.push(this.createlenReDetails());\r\n } else if (e.value == 'No') {\r\n const arr = this.representativeForm.controls.lender_representative_details;\r\n arr.removeAt(0);\r\n }\r\n }\r\n\r\n sumbitData(answerData)\r\n { \r\n if(this.representativeForm.valid)\r\n {\r\n let records = this.representativeForm.value;\r\n \r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.representativeForm.reset(this.representativeForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n });\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getLenderReDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let lenderReDetails = res['records'];\r\n if(lenderReDetails.lender_representative_accompany=='Yes'){\r\n\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n\r\n\r\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\r\n {\r\n return res['records'].lender_representative_details[key];\r\n });\r\n \r\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \r\n lender_represent_details.forEach(val=>\r\n {\r\n control.push(this.createlenReDetails());\r\n })\r\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\r\n\r\n }else\r\n {\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n }\r\n }\r\n })\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component,ViewChild,ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle, Content } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\r\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { DatePipe} from '@angular/common';\r\nimport {PdPipe} from './../../../pipes/pd/pd';\r\nimport { removeSummaryDuplicates } from '@angular/compiler';\r\nimport { DataSource } from '@angular/cdk/table';\r\nimport { MatSelect } from '@angular/material';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n//import {} from 'moment'\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-info',\r\n templateUrl: 'pd-question-general-info.html',\r\n providers:[PdPipe],\r\n})\r\nexport class PdQuestionGeneralInfoPage {\r\n pipe=new DatePipe('en-US');\r\n // person_name:any;\r\n qualification_name:any;\r\n individuals_order_id:any;\r\n is_new:any;\r\n pd_co_applicant_id:any;\r\n lengthv:any;\r\n qual_name:any;\r\n curr_qualification_name;\r\n curr_business_name;\r\n \r\n\r\n applicant_name: any;\r\n otherapp: any;\r\n fetch_related_details: any = [];\r\n checkApplicantExist: any;\r\n pd_applicants_details: any = [];\r\n companyRelationShipList: any;\r\n qualificationList:any;\r\n businessEntityTypeList:any;\r\n relationShipList: any;\r\n titleList:any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n generalForm:FormGroup;\r\n list_value:FormArray;\r\n fulldata:any\r\n public buttonClick:boolean;\r\n public h_companies:boolean\r\n \r\n datav:any;\r\n individualsListBothCase:any;\r\n individualsList:any;\r\n companyList:any;\r\n i:number;\r\n data_all:any;\r\n maxDate:any;\r\n OldData:any=[];\r\n OldData_indi:any=[];\r\n updateIndex_indi:any;\r\n public addComp:boolean\r\n public addIndi:boolean\r\n updateIndex_comp: any;\r\n@ViewChild('remark') nameField: ElementRef;\r\n@ViewChild('focusBusiness') focus_business_entity : MatSelect\r\n customer_segment_abbr: any;\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController,\r\n private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.maxDate = new Date();\r\n this.pd_applicants_details = []; \r\n this.pd_applicants_details.pop(); \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdDetails)\r\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\r\n //this.maxDate=new Date(get_max_date)\r\n this.FormId = this.navParams.get('FormId');\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n console.log('this.customer_segment_abbr',this.customer_segment_abbr)\r\n this.users = this.aws.getlocale();\r\n this.getdropdown();\r\n \r\n this.generalForm = this.fb.group({\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n applicant_list: this.fb.array([]),\r\n applicant_relation: this.fb.array([]),\r\n list_value:this.fb.array([]),\r\n company_value:this.fb.array([]),\r\n individuals:this.fb.array([]),\r\n companies:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n company_with_relationships:this.fb.array([]),\r\n rental_income_rcv_in_years:[''],\r\n rental_income_rcv_in_month:[''],\r\n \r\n general_remark:''\r\n });\r\n \r\n //this.initIndividuals();\r\n this.pd_applicants_details = this.pdDetails.applicat_details;\r\n \r\n \r\n \r\n // this.getcoapplicantDetails();\r\n this.buttonClick=false;\r\n this.h_companies=false;\r\n this.addIndi=false\r\n this.addComp=false\r\n // this.initCompanies()\r\n this.datav=[{\r\n name:\"fairoj\",\r\n id:1\r\n },\r\n {\r\n name:\"ff\",\r\n id:2\r\n }\r\n \r\n ]\r\n //this.fulldata=this.generalForm.value\r\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['list_value'];\r\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\r\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\r\n this.fulldata=control.value;\r\n //control.controls.length\r\n //control.push()\r\n });\r\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['company_value'];\r\n this.companyList=control.value.filter(element=>element.company_name )\r\n })\r\n this.i=0;\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n // this.pd_applicants_details.pop();\r\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\r\n this.getGeneralForm()\r\n this.getPDImages();\r\n \r\n }\r\n ionViewLoaded() {\r\n\r\n // setTimeout(() => {\r\n // this.generalForm.controls['general_remark']['controls'].setFocus();\r\n // },150);\r\n }\r\n\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.generalForm.dirty);\r\n if(this.generalForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n initlistv(data,purpose) :void\r\n {\r\n const control=this.generalForm.controls['list_value'];\r\n console.log(\"control\",control.length)\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[control.length+1],\r\n is_new:true,\r\n is_active:true,\r\n pd_co_applicant_id:[control.length+1], \r\n \r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n if(purpose=='get'){\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[val.individuals_order_id],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n pd_co_applicant_id:[val.pd_co_applicant_id] , \r\n \r\n \r\n \r\n \r\n\r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n}\r\n\r\n qualificationById(data):string{\r\n for(let i of this.qualificationList){\r\n if(data==i.qualification_id){\r\n this.qual_name=i.qualification_name\r\n return this.qual_name\r\n }\r\n }\r\n \r\n }\r\n initCompanyValue(data,purpose):void{\r\n const control=this.generalForm.controls['company_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n \r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n // company_order_id:[this.lengthv.companies.length+1],\r\n company_order_id:[control.length+1],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:true,\r\n is_active:true,\r\n company_messrs_name:['M/s'],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n if(purpose=='get')\r\n {\r\n for(let val of data)\r\n {\r\n \r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[val.company_order_id],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n company_messrs_name:[val.company_messrs_name],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n }\r\n businessEntityById(val):string{\r\n for(let v of this.businessEntityTypeList){\r\n if(val==v.business_entity_type_id){\r\n var name=v.business_entity_type_name\r\n return name\r\n }\r\n }\r\n \r\n }\r\n \r\n\r\n initIndividuals(data):void{\r\n \r\n const control=this.generalForm.controls['individuals'];\r\n control.controls=[]\r\n if(data==null){\r\n let formData : FormGroup=this.fb.group({\r\n applicant_name:['',Validators.required],\r\n is_person_met:false,\r\n is_applicant:false,\r\n age:[''],\r\n qualification:[''],\r\n course_name:[''],\r\n applicant_title_name:['']\r\n\r\n });\r\n control.push(formData);\r\n }\r\n else{\r\n let formData : FormGroup=this.fb.group({\r\n \r\n \r\n applicant_name:[data.applicant_name,Validators.required],\r\n is_person_met:data.is_person_met,\r\n is_applicant:data.is_applicant,\r\n age:[data.age],\r\n qualification:[data.qualification],\r\n course_name:[data.course_name],\r\n applicant_title_name:[data.applicant_title_name]\r\n \r\n \r\n });\r\n this.buttonClick=!this.buttonClick;\r\n control.push(formData);\r\n\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n initCompanies(data):void{\r\n const control=this.generalForm.controls['companies'];\r\n control.controls=[]\r\n if(data == null){\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[''],\r\n is_company_applicant:false,\r\n business_entity_type:[''],\r\n business_entity_type_other:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_date_object:['']\r\n });\r\n control.controls=[]\r\n control.push(formData)\r\n \r\n }\r\n else{\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[data.company_name],\r\n is_company_applicant:data.is_company_applicant,\r\n business_entity_type:[data.business_entity_type],\r\n business_entity_type_other:[data.business_entity_type_other],\r\n business_years:[data.business_years],\r\n business_month:[data.business_month],\r\n business_date_object:[data.business_date_object]\r\n })\r\n this.h_companies=!this.h_companies\r\n \r\n control.push(formData)\r\n }\r\n }\r\n initPersonRelationship(value):void{\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n if(value=='')\r\n {\r\n \r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[''],\r\n applicant_name:[''],\r\n relationship:[''],\r\n relation_to:[''],\r\n individuals_order_id:[control.length+1],\r\n \r\n });\r\n \r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value)\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[val.pd_co_applicant_id],\r\n applicant_name:[val.applicant_name],\r\n relationship:[val.relationship],\r\n relation_to:[val.relation_to],\r\n });\r\n \r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n initCompanyRelationShip(value):void{\r\n console.log(value)\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[''],\r\n company_relationship:[''],\r\n relation_to_company:[''],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n console.log(\"data\",value);\r\n for(let val of value){\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n company_relationship:[val.company_relationship],\r\n relation_to_company:[val.relation_to_company],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n add():void{\r\n \r\n this.initIndividuals(null);\r\n }\r\ndata:any;\r\ncart=[];\r\ndatajson:any;\r\ndataobj:any;\r\n\r\n addRec(v){\r\n if(v=='1')\r\n {\r\n this.addIndi=true;\r\n this.buttonClick=!this.buttonClick;\r\n this.initIndividuals(null);\r\n }\r\n if(v=='2')\r\n {\r\n console.log(\"companies\",this.h_companies);\r\n this.addComp=true\r\n // this.h_companies=true;\r\n this.h_companies=!this.h_companies;\r\n console.log(\"companies\",this.h_companies);\r\n this.initCompanies(null);\r\n }\r\n }\r\n editIndividuals(index){\r\n let values=this.generalForm.controls.list_value.value[index]\r\n console.log(values)\r\n this.addIndi=false\r\n this.updateIndex_indi=index;\r\n this.initIndividuals(values);\r\n // this.nameField.nativeElement.focus();\r\n\r\n }\r\n editCompanies(index){\r\n console.log(\"index\",index);\r\n let values=this.generalForm.controls.company_value.value[index]\r\n console.log(values)\r\n this.updateIndex_comp=index\r\n this.addComp=false\r\n //this.\r\n this.initCompanies(values)\r\n }\r\n update(v,controlVal){\r\n console.log(\"index\",v)\r\n if(v=='1'){\r\n\r\n let values=this.generalForm.controls['individuals'].value[0]\r\n // let control=(this.generalForm.controls['individuals']).at(0) as FormArray;\r\n // console.log(\"full\",this.generalForm)\r\n // console.log(control,values);\r\n if(values.is_person_met == true && values.is_applicant != true){\r\n controlVal.controls['age'].clearValidators();\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].clearValidators();\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met != true){\r\n console.log(\"1st\");\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met == true && values.is_applicant == true){\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory fields Marked with '*'\");\r\n }\r\n else{\r\n let val=this.generalForm.controls.individuals.value[0]\r\n let old=this.generalForm.controls.list_value.value[this.updateIndex_indi]\r\n // const control=this.generalForm.controls.list_value.at(this.updateIndex_indi)\r\n // const control=this.list_value\r\n var c_qualification_name=this.qualificationById(val.qualification) \r\n const control=this.generalForm.controls['list_value']['controls'][this.updateIndex_indi]\r\n control.patchValue({\r\n \r\n applicant_title_name:val.applicant_title_name,\r\n applicant_name:val.applicant_name,\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:val.age,\r\n qualification:val.qualification,\r\n course_name:val.course_name,\r\n \r\n individuals_order_id:old.individuals_order_id,\r\n is_new:old.is_new,\r\n is_active:old.is_active,\r\n pd_co_applicant_id:old.pd_co_applicant_id, \r\n \r\n qualification_name:c_qualification_name\r\n });\r\n this.buttonClick=false;\r\n console.log(this.generalForm.controls.list_value['controls'])\r\n // this.generalForm.controls.list_value.value.scrollToTop();\r\n // this.generalForm.controls['list_value']._scrollContent;\r\n //this.myinput._scrollContent();\r\n \r\n \r\n console.log(\"values\",val)\r\n console.log(\"old\",old);\r\n console.log(control);\r\n \r\n }\r\n }\r\n else if(v=='2'){\r\n if(!this.generalForm.controls['companies'].valid)\r\n {\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory Fields Marked with '*\")\r\n }\r\n else{\r\n let val=this.generalForm.controls.companies.value[0]\r\n var c_business_name=this.businessEntityById(val.business_entity_type)\r\n const control=this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]\r\n control.patchValue({\r\n company_name:val.company_name,\r\n // company_order_id:[control.length+1],\r\n is_company_applicant:val.is_company_applicant,\r\n business_entity_type:val.business_entity_type,\r\n business_entity_type_other:val.business_entity_type_other,\r\n // is_new:true,\r\n // is_active:true,\r\n //company_messrs_name:['M/s'],\r\n \r\n business_years:val.business_years,\r\n business_month:val.business_month,\r\n business_date_object:val.business_date_object,\r\n\r\n business_entity_type_name:c_business_name\r\n })\r\n this.h_companies=false\r\n console.log(this.generalForm.controls['company_value']['controls'][this.updateIndex_comp])\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n delete(v,controlVal):void{\r\n //console.log(\"controlVAl\",controlVal)\r\n // const control=this.generalForm.controls['individuals'];\r\n //control.removeAt(i);\r\n //this.data=this.generalForm.value.individuals;\r\n this.cart.push(this.generalForm.value.individuals);\r\n this.data=Object.assign(this.cart);\r\n // this.data=Object.assign(this.generalForm.value.individuals)\r\n this.datajson=JSON.stringify(this.cart)\r\n if(v=='1')\r\n {let values=this.generalForm.controls['individuals'].value[0]\r\n let control=(this.generalForm.controls['individuals']).at(0) as FormArray;\r\n // console.log(\"full\",this.generalForm)\r\n // console.log(control,values);\r\n if(values.is_person_met == true && values.is_applicant != true){\r\n controlVal.controls['age'].clearValidators();\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].clearValidators();\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met != true){\r\n // console.log(\"1st\");\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met == true && values.is_applicant == true){\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initlistv(this.generalForm.value.individuals,'ins')\r\n this.initPersonRelationship('');\r\n }\r\n }\r\n else if(v=='2')\r\n {\r\n if(!this.generalForm.controls['companies'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initCompanyValue(this.generalForm.value.companies,'ins')\r\n }\r\n }\r\n \r\n }\r\n removeList(i,index){\r\n if(index=='1')\r\n {\r\n //For List List_value(Individuals)\r\n const control=this.generalForm.controls['list_value'];\r\n control.value[i].is_active=false;\r\n this.OldData_indi.push(control.value[i])\r\n control.removeAt(i);\r\n //For Person RelationShip auto Delete\r\n const control1=this.generalForm.controls['persons_with_relationships'];\r\n control1.removeAt(i);\r\n \r\n }\r\n if(index==2){\r\n //For Company_values(Companies)\r\n const control=this.generalForm.controls['company_value']\r\n control.value[i].is_active=false\r\n var vla=control.value[i]\r\n this.OldData.push(vla);\r\n control.removeAt(i);\r\n \r\n\r\n // let control: any = this.generalForm.get('companies') as FormArray;\r\n //this.generalForm.controls['companies']\r\n //control.controls['is_active'].setValue(false);\r\n //control.controls[i].clearValidators();\r\n //control.controls[i].updateValueAndValidity();\r\n //control.clear\r\n // control.controls[i].is_active.setValue(false);\r\n /* control.controls[i].controls.company_name.clearValidators();\r\n control.controls[i].controls.company_name.updateValueAndValidity();\r\n control.controls[i].controls.business_years.clearValidators();\r\n control.controls[i].controls.business_years.updateValueAndValidity();\r\n control.controls[i].controls.business_entity_type.clearValidators();\r\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\r\n }\r\n if(index==\"companyrel\")\r\n {\r\n //For company_relationship\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.removeAt(i);\r\n }\r\n }\r\n \r\n \r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\r\n if(res['dataStatus']==true)\r\n {\r\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\r\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\r\n });\r\n\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.titleList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n }\r\n\r\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\r\n {\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n if(checkApplicantExist.length > 0)\r\n {\r\n checkApplicantExist.forEach(val => {\r\n applicantControl.push(this.createApplicant(val));\r\n });\r\n \r\n }\r\n if(exist_applicant_relation.length > 0){\r\n exist_applicant_relation.forEach(val => {\r\n relationControl.push(this.createApplicantRelation(val));\r\n //push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }\r\n }\r\n\r\n createApplicant(elementValue:any){\r\n return this.fb.group({\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name],\r\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\r\n });\r\n }\r\n\r\n coapplicantChange(event,index,item)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n if(item.exist_status.value)\r\n {\r\n if(item.pd_co_applicant_id.value==0){\r\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\r\n modal.onDidDismiss(data => {\r\n if(data!=1){\r\n data.otherName.forEach(val=>\r\n {\r\n\r\n let applicant_details: any= {'pd_co_applicant_id':val.pd_co_applicant_id,'applicant_name':val.applicant_name,'applicant_relation_to':'','relation':'','company_name':'','company_relation':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n \r\n }\r\n });\r\n modal.present();\r\n }else\r\n {\r\n \r\n let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(item.applicant_name.value);\r\n }\r\n }\r\n else\r\n {\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let pos_id = relationControl.value.map(e=> \r\n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\r\n if(item.pd_co_applicant_id.value !=0){\r\n relationControl.removeAt(pos_id);\r\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\r\n this.fetch_related_details.splice(pos_name, 1); \r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n }\r\n // remove related to details\r\n \r\n }\r\n\r\n }\r\n\r\n createApplicantRelation(elementValue: any) {\r\n return this.fb.group({\r\n \r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\r\n company_relationship: [elementValue.company_relationship],\r\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\r\n relationship: [elementValue.relationship],\r\n });\r\n }\r\n // temparr=[];\r\n removereferance(index)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n \r\n \r\n relationControl.removeAt(index);\r\n // this.temparr = [];\r\n \r\n }\r\n // createApplicateOthers()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // Name:\r\n // })\r\n // }\r\n ConvertMonthintoYearforBusiness(e,controlIndex,flag){\r\n \r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\nif(flag==1){\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control = control.controls[controlIndex];\r\n let business_year = control.controls.business_years.value;\r\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n control.controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag==2){\r\n let ri_year = this.generalForm.controls.rental_income_rcv_in_years.value;\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(+ri_year + +Math.floor(converted_year));\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(Math.floor(converted_month));\r\n }\r\n}\r\ngetDateObjects(values: any, controlIndex) {\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control.controls['business_years']=''\r\n control.controls['business_month']=''\r\n control = control.controls[controlIndex];\r\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\r\n let date=new Date()\r\n\r\n let curr_date=date.getFullYear()+'/'+('0'+(date.getMonth()+1))+'/'+('0'+date.getDate())\r\n console.log(\"current date\",curr_date);\r\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\r\n console.log(\"pd date\",pd_initiation_date);\r\n console.log(\"selected date\",selected_date)\r\n /*WORKING STATEMENT*/\r\n let months = date.getMonth() - values.getMonth() + (12 * (date.getFullYear() - values.getFullYear()));\r\n\r\nif (months >= 12) {\r\n console.log('years:', (months - (months %12))/12 );\r\n console.log(\"moth\",months%12);\r\n} else {\r\n console.log('only months',months);\r\n}\r\ncontrol.controls['business_years'].setValue((months - (months %12))/12);\r\n control.controls['business_month'].setValue(months%12);\r\n/*END OF WORKING STATEMENT*/\r\n //let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\r\n// function monthDiff(d1, d2) {\r\n// var months;\r\n// months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n// months -= d1.getMonth() + 1;\r\n// months += d2.getMonth();\r\n// return months <= 0 ? 0 : months;\r\n \r\n// }\r\n// console.log(\"new\",monthDiff( new Date(2008, 10, 4), new Date(2010, 2, 12) )) // March 12th, 2010);\r\n //var start_date=moment(start_date)\r\n /* old working statement*/\r\n // let diffInMs: number = Date.parse(selected_date) - Date.parse(curr_date);\r\n // let diff: number = Math.floor(diffInMs / 1000);\r\n // console.log(\"diff\",diff)\r\n // diff /= (60 * 60 * 24 * 30);\r\n // console.log(\"diff /\",diff)\r\n // diff=Math.abs(Math.round(diff));\r\n // control.controls['business_years'].setValue(0);\r\n // control.controls['business_month'].setValue(0);\r\n \r\n // if(diff){\r\n // control.controls['business_years'].setValue(Math.floor(diff / 12));\r\n // control.controls['business_month'].setValue(Math.floor(diff % 12));\r\n // }\r\n\r\n}\r\ntemp: number = 0;\r\n\r\n submitData(answerData)\r\n {\r\nconsole.log('1)',this.temp);\r\n let saveRecords:any={}\r\n var valuesData_indi:any=[]\r\n\r\n var valuesData:any=[]\r\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\r\n return answerData.list_value[key]\r\n })\r\n existData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n if(this.OldData_indi.length>0){\r\n this.OldData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n }\r\n\r\n var existData=Object.keys(answerData.company_value).map(function(key){\r\n return answerData.company_value[key]\r\n })\r\n existData.forEach((element,index)=>{\r\n console.log(\"company value\",element)\r\n if(element.business_entity_type=='' || element.business_entity_type == null){\r\n this.toast.pdTriggerappmessage(\"Please choose business entity type for each companies\");\r\n this.editCompanies(index);\r\n // this.focus_business_entity.focused=true;\r\n return;\r\n }\r\n valuesData.push(element)\r\n })\r\n if(this.OldData.length>0){\r\n this.OldData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n }\r\n \r\n if (valuesData_indi.length > 0) {\r\n console.log('2)',this.temp);\r\n valuesData_indi.forEach((val, index) => {\r\n if (val.is_person_met == false) {\r\n this.temp++;\r\n }\r\n console.log('3)',this.temp);\r\n });\r\n console.log('4)',this.temp,'length',valuesData_indi.length);\r\n if (this.temp == valuesData_indi.length) {\r\n console.log('5)',this.temp);\r\n this.toast.pdTriggerappmessage('Please Choose Name of Person Met.!');\r\n this.temp = 0;\r\n console.log('6)',this.temp);\r\n return;\r\n }\r\n }\r\n\r\n if (this.customer_segment_abbr != 'SE-RI') {\r\n saveRecords.companies=valuesData\r\n saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.rental_income_rcv_in_years = null;\r\n saveRecords.rental_income_rcv_in_month = null;\r\n //saveRecords.applicant_relation=answerData.applicant_relation; \r\n }\r\n else if (this.customer_segment_abbr == 'SE-RI') {\r\n saveRecords.companies = [];\r\n saveRecords.company_with_relationships = [];\r\n saveRecords.rental_income_rcv_in_years = answerData.rental_income_rcv_in_years;\r\n saveRecords.rental_income_rcv_in_month = answerData.rental_income_rcv_in_month;\r\n //saveRecords.applicant_relation=answerData.applicant_relation;\r\n }\r\n\r\n saveRecords.individuals=valuesData_indi;\r\n // saveRecords.companies=valuesData\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.fk_createdby=this.users; \r\n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\r\n // saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.general_remark=answerData.general_remark;\r\n \r\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\r\n if(dataResult['dataStatus']==true){\r\n //TO CHANGE THE FORM STATE \r\n this.generalForm.reset(this.generalForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },3000);\r\n \r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n })\r\n \r\n /* Old Data\r\n if(this.generalForm.valid)\r\n {\r\n let saveRecords:any = {}\r\n let applicantList:any=[];\r\n let applicantRelationList:any=[];\r\n // this for applicant list for selected\r\n answerData.applicant_list.forEach((element,key) => {\r\n if(element.exist_status==1){\r\n applicantList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n }) \r\n }\r\n });\r\n // this is for selected applicant relation \r\n answerData.applicant_relation.forEach((element,key) => {\r\n applicantRelationList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n \"company_name\":element.company_name,\r\n \"company_relationship\":element.company_relationship,\r\n \"applicant_relation_to\":element.applicant_relation_to,\r\n \"relationship\":element.relationship,\r\n }) \r\n });\r\n \r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.general_remark=answerData.general_remark;\r\n saveRecords.selected_applicant=applicantList;\r\n saveRecords.applicant_relation=applicantRelationList;\r\n saveRecords.fk_createdby = this.users;\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n } \r\n })\r\n }*/\r\n }\r\n\r\n getGeneralForm()\r\n {\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n this.data_all=res['records'];\r\n let exist_companies:any;\r\n let exist_company_with_relationship:any;\r\n let companyControl = this.generalForm.get('company_value') as FormArray;\r\n companyControl.controls=[]\r\n this.lengthv=this.data_all;\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n \r\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\r\n //\r\n\r\n var arrlist_indi:any=[] \r\n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\r\n return res['records'].individuals[key];\r\n }) \r\n if(exist_individuals.length>0){\r\n exist_individuals.forEach((element)=>{\r\n if(element.is_active != false){\r\n arrlist_indi.push(element);\r\n }\r\n else{\r\n this.OldData_indi.push(element)\r\n }\r\n })\r\n }\r\n this.initlistv(arrlist_indi,'get')\r\n \r\n \r\n if(this.data_all.persons_with_relationships != ''){\r\n this.initPersonRelationship(this.data_all.persons_with_relationships);\r\n }\r\n //Create Company with Relationship\r\n exist_company_with_relationship=Object.keys(res['records'].company_with_relationships).map(function(key){\r\n return res['records'].company_with_relationships[key];\r\n })\r\n console.log(\"Customer Segment\",this.customer_segment_abbr)\r\n if(this.customer_segment_abbr !='SE-RI')\r\n {\r\n if(exist_company_with_relationship.length>0){\r\n // exist_company_with_relationship.forEach(key=>{\r\n // console.log(\"company relation\",key)\r\n // this.initCompanyRelationShip(key)\r\n // })\r\n this.initCompanyRelationShip(exist_company_with_relationship);\r\n }\r\n else if(exist_company_with_relationship.length==0){\r\n this.initCompanyRelationShip('');\r\n }\r\n //create Companies\r\n exist_companies=Object.keys(res['records'].companies).map(function(key){\r\n return res['records'].companies[key];\r\n })\r\n var arraylis:any=[]\r\n if(exist_companies.length>0){\r\n exist_companies.forEach((element,cindex)=>{\r\n if(element.is_active!=false){\r\n arraylis.push(element);\r\n }\r\n else{\r\n this.OldData.push(element);\r\n }\r\n })\r\n \r\n }\r\n this.initCompanyValue(arraylis,'get');\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(null);\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(null);\r\n }\r\n else if(this.customer_segment_abbr == 'SE-RI'){\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(res['records'].rental_income_rcv_in_years ? res['records'].rental_income_rcv_in_years:'');\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(res['records'].rental_income_rcv_in_month ? res['records'].rental_income_rcv_in_month:'');\r\n\r\n }\r\n\r\n // var arraylis:any=[]\r\n \r\n \r\n // if(exist_companies.length>0){\r\n // exist_companies.forEach((element,cindex)=>{\r\n // if(element.is_active!=false){\r\n // arraylis.push(element);\r\n // }\r\n // else{\r\n // this.OldData.push(element);\r\n // }\r\n // })\r\n \r\n // }\r\n // this.initCompanyValue(arraylis,'get');\r\n \r\n \r\n\r\n // if(this.data_all.company_with_relationships != ''){\r\n // this.initCompanyRelationShip(this.data_all.company_with_relationships);\r\n // }\r\n \r\n }\r\n else{\r\n console.log(\"Else data\",this.pd_applicants_details)\r\n this.pd_applicants_details.forEach((datas,index)=>{\r\n datas.is_applicant=true,\r\n datas.is_person_met = false;\r\n datas.is_new = false;\r\n datas.is_main_applicant = datas.applicant_type == '1' ? true : false;\r\n datas.is_active = true;\r\n datas.individuals_order_id = index + 1;\r\n // company_order_id = index+1,\r\n datas.age = '',\r\n datas.qualification = '',\r\n datas.course_name = ''\r\n if (datas.company_name != '' && datas.company_name != null) {\r\n console.log(\"company\");\r\n let setCompanyValues: any = { company_order_id: companyControl.controls.length + 1, company_name: datas.company_name, is_company_applicant: datas.is_company_applicant, business_entity_type: datas.business_entity_type, business_entity_type_other: datas.business_entity_type_other, business_years: datas.business_years, business_month: datas.business_month, business_date_object: datas.business_date_object, is_new: datas.is_new, is_active: true }\r\n companyControl.push(this.createCompanies(setCompanyValues))\r\n }\r\n });\r\n \r\n // this.lengthv.push(\"individuals\")\r\n // this.lengthv.push(\"companies\")\r\n // this.lengthv.push('persons_with_relationships')\r\n //this.lengthv.push(\"\")\r\n console.log(\"applicant\",this.lengthv)\r\n this.initlistv(this.pd_applicants_details,'get');\r\n this.initPersonRelationship(this.pd_applicants_details)\r\n // this.initCompanyValue(this.pd_applicants_details,'get');\r\n this.initCompanyRelationShip('')\r\n\r\n }\r\n })\r\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n let generalDetails = res['records'];\r\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\r\n\r\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\r\n {\r\n return res['records'].applicant_relation[key];\r\n });\r\n\r\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\r\n {\r\n return res['records'].selected_applicant[key].pd_co_applicant_id;\r\n });\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\r\n let checkApplicantExist =actual_applicant.map((id, index) => {\r\n if (selected_applicant.indexOf(id) < 0) {\r\n this.pd_applicants_details[index].exist_status=0;\r\n return this.pd_applicants_details[index];\r\n }\r\n else{\r\n this.pd_applicants_details[index].exist_status=1;\r\n this.pd_applicants_details[index].applicant_relation_to='';\r\n this.pd_applicants_details[index].relation='';\r\n return this.pd_applicants_details[index];\r\n }\r\n }).filter(item => item != undefined);\r\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\r\n }else\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n }\r\n })*/\r\n }\r\n createCompanies(elementValue:any) {\r\n var name=this.businessEntityById(elementValue.business_entity_type)\r\n return this.fb.group({\r\n company_order_id: [elementValue.company_order_id],\r\n company_name: [elementValue.company_name,],\r\n company_messrs_name: ['M/s'],\r\n is_company_applicant:[elementValue.is_company_applicant],\r\n business_entity_type :[elementValue.business_entity_type,Validators.required],\r\n business_years: [elementValue.business_years, Validators.required],\r\n business_month: [elementValue.business_month],\r\n business_date_object: [elementValue.business_date_object],\r\n is_active: [elementValue.is_active],\r\n is_new:[elementValue.is_new],\r\n business_entity_type_name:[name]\r\n \r\n });\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n \r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-other-applicant',\r\n templateUrl: 'pd-question-general-other-applicant.html',\r\n})\r\nexport class PdQuestionGeneralOtherApplicantPage {\r\n otherForm:FormGroup;\r\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\r\n this.otherForm = this.fb.group(\r\n {\r\n otherName:this.fb.array([]),\r\n })\r\n this.addmore();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\r\n }\r\n\r\n createName(elementValue:any)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name, Validators.required],\r\n })\r\n }\r\n\r\n addmore()\r\n {\r\n if(this.otherForm.valid)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n control.push(this.createName(this.applicantInfo));\r\n }\r\n }\r\n\r\n deleteappdata(index)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n if(control.length==1){\r\n control.reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.viewCtrl.dismiss(1); \r\n }\r\n submitData(answerData)\r\n {\r\n if(this.otherForm.valid){\r\n this.viewCtrl.dismiss(this.otherForm.value);\r\n }\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Generated class for the PdPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'pdPipe',\r\n})\r\nexport class PdPipe implements PipeTransform {\r\n /**\r\n * Takes a value and makes it lowercase.\r\n */\r\n transform(value: any, searchItem:any):any {\r\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\r\n if(findExistIndex.length>0){\r\n let check = value.filter(function(fVal){\r\n return !findExistIndex.some(function(sVal){\r\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\r\n }\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionNeighbourHoodPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-neighbour-hood',\r\n templateUrl: 'pd-question-neighbour-hood.html',\r\n})\r\nexport class PdQuestionNeighbourHoodPage {\r\n\r\n frequency: any;\r\n relationBusiness: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n neighbourhoodForm:FormGroup;\r\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\r\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\r\n {'id': 2,'name': \"Negative\"},\r\n {'id': 3,'name': \"Insufficient information provided\"}];\r\n\r\n // amtInWords:any=[];\r\n applicants:any;\r\n isDisplay:any = [];\r\n isDisplay2:any = [];\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n isOrganisationOwner: any=[];\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public fb:FormBuilder, \r\n public constant: ConstantsProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider)\r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2 && appt.pd_co_applicant_id != 0);\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.neighbourhoodForm = this.fb.group(\r\n {\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n check_type:0,\r\n neighbourhood_list: this.fb.array([]),\r\n neighbourhood_status:[''],\r\n referencecheck_list: this.fb.array([]),\r\n neighbour_reference_remark:'' \r\n })\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionNeighbourHoodPage');\r\n this.getneighbourhood();\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.neighbourhoodForm.dirty);\r\n if(this.neighbourhoodForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus==true){\r\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\r\n console.log(this.existCompanyList)\r\n }\r\n let modifyCompanyList:any=[]\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList=this.existCompanyList.map(element=>{\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\r\n \r\n }\r\n let modifyApplicantList:any=[]\r\n if(this.applicants.length>0){\r\n modifyApplicantList=this.applicants.map(element=>{\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n })\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\r\n })\r\n }\r\n inWords(val,i)\r\n {\r\n // this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n }\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e,flag){\r\n if(flag == 2){\r\n\r\n let year = itemrow.controls.year_relation_applicant.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag == 1){\r\n \r\n let year = itemrow.controls.how_long_do_know_in_year.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\r\n }\r\n}\r\n\r\ntoggleVisibility(e,index,flag){ \r\n let val\r\n \r\n if(flag == 1){\r\n this.isDisplay[index] = e;\r\n }\r\n else if(flag==2){\r\n this.isDisplay2[index] = e;\r\n }\r\n}\r\n\r\ncheckOthers(values){\r\n if(values!=null) {\r\n return values==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\n\r\n\r\ngetOtherOrganisationOwner(value,i) {\r\n //console.log('value',value,'I',i);\r\nlet Ctrls = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n //console.log('ParCtrls',Ctrls);\r\nlet ChdCtrls:any = Ctrls.controls[i];\r\n // console.log('ChdCtrls',ChdCtrls);\r\n // return;\r\n\r\n\r\nlet Avaliablity = 1;\r\nconsole.log('val',value);\r\nif(value.length>0){\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n}\r\nif(Avaliablity == 0){\r\n// console.log('if Avaliablity',Avaliablity);\r\n\r\n ChdCtrls.controls.other_organisation_owner.setValidators([Validators.required]);\r\n this.isOrganisationOwner[i] = true;\r\n}else if(Avaliablity == 1){\r\n// console.log('else Avaliablity',Avaliablity);\r\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n ChdCtrls.controls.other_organisation_owner.setValue('');\r\n ChdCtrls.controls.other_organisation_owner.clearValidators();\r\n this.isOrganisationOwner[i] = false;\r\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n}\r\n \r\nChdCtrls.controls.other_organisation_owner.updateValueAndValidity(); \r\n}\r\n createreferance()\r\n {\r\n return this.fb.group({\r\n reference_name: [null],\r\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n statecode:[null],\r\n landline: [null],\r\n location:[null],\r\n relationship_with:[null],\r\n others:[null],\r\n year_relation_applicant:[null],\r\n months_relation_applicant:[null],\r\n business_volume_amount:[null],\r\n business_volume_unit:[null],\r\n others_unit:[null],\r\n reference_final_remarks:[null],\r\n specify_final_remark:[null]\r\n });\r\n }\r\n addreferance()\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n control.push(this.createreferance());\r\n }\r\n\r\n removereferance(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n createNeighbourhood(){\r\n return this.fb.group({\r\n neighbourhood_name: [null],\r\n do_know: [''],\r\n \r\n how_long_do_know_in_year: [''],\r\n how_long_do_know_in_month:[''],\r\n organisation_owner: [''],\r\n is_applicant_owner:[''],\r\n other_organisation_owner:[''],\r\n did_not_know_the_business_operation:[''],\r\n did_not_know_the_owner:[''],\r\n });\r\n }\r\n\r\n addneighbourhood()\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n control.push(this.createNeighbourhood());\r\n }\r\n\r\n removeneighbourhood(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n submitData(answerData)\r\n {\r\n \r\n const neighbourhoodControl : FormGroup = this.neighbourhoodForm.controls['neighbourhood_list'] as FormGroup;\r\n let NbhdCtrlLength: any = neighbourhoodControl.controls.length;\r\n // this.neighbourhoodForm.controls['neighbourhood_status'].setValidators([Validators.required]);\r\n // this.neighbourhoodForm.controls['neighbourhood_status'].updateValueAndValidity();\r\n\r\n // this.neighbourhoodForm.controls['neighbour_reference_remark'].setValidators([Validators.required])\r\n // this.neighbourhoodForm.controls['neighbour_reference_remark'].updateValueAndValidity();\r\n if (NbhdCtrlLength > 0) {\r\n let Ncnt = 0;\r\n while(Ncnt < NbhdCtrlLength){\r\n\r\n let nbhdChildCtrl : any = neighbourhoodControl.controls[Ncnt]; \r\n\r\n // nbhdChildCtrl.controls['neighbourhood_name'].setValidators([Validators.required]);\r\n // nbhdChildCtrl.controls['neighbourhood_name'].updateValueAndValidity();\r\n\r\n // nbhdChildCtrl.controls['do_know'].setValidators([Validators.required]);\r\n // nbhdChildCtrl.controls['do_know'].updateValueAndValidity();\r\n \r\n\r\n if(nbhdChildCtrl.controls.do_know.value != ''){\r\n // console.log('nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\r\n if(nbhdChildCtrl.controls.did_not_know_the_business_operation.value == '' || nbhdChildCtrl.controls.did_not_know_the_business_operation.value == false){\r\n // console.log('IF nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\r\n // nbhdChildCtrl.controls['how_long_do_know_in_month'].setValidators([Validators.required]);\r\n // nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity();\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].setValidators([Validators.required]);\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); \r\n }\r\n else if(nbhdChildCtrl.controls.did_not_know_the_business_operation.value == true){\r\n // console.log('ELSE nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\r\n nbhdChildCtrl.controls['how_long_do_know_in_month'].setValue('');\r\n // nbhdChildCtrl.controls['how_long_do_know_in_month'].clearValidators();\r\n nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity();\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].setValue('');\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].clearValidators();\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); \r\n }\r\n\r\n if(nbhdChildCtrl.controls.did_not_know_the_owner.value == '' || nbhdChildCtrl.controls.did_not_know_the_owner.value == false){\r\n nbhdChildCtrl.controls['organisation_owner'].setValidators([Validators.required]);\r\n nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity();\r\n }\r\n else if(nbhdChildCtrl.controls.did_not_know_the_owner.value == true){\r\n nbhdChildCtrl.controls['organisation_owner'].setValue('');\r\n nbhdChildCtrl.controls['organisation_owner'].clearValidators();\r\n nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity();\r\n }\r\n }\r\n Ncnt++;\r\n }\r\n this.neighbourhoodForm.controls.neighbourhood_status.setValidators([Validators.required]);\r\n this.neighbourhoodForm.controls.neighbourhood_status.updateValueAndValidity();\r\n }\r\n\r\n\r\n if (this.neighbourhoodForm.invalid) {\r\n // this.validateAllFormFields(this._neighbourhoodForm);\r\n this.toast.pdTriggerappmessage('Please Fill All Mandatory Fields.!');\r\n return;\r\n }\r\n \r\n let saveRecords:any = {}\r\n let referencecheck_list:any=[];\r\n let neighbourhood_list:any=[];\r\n // if(answerData.check_type==0){\r\n answerData.neighbourhood_list.forEach((element,key) => {\r\n neighbourhood_list.push({\r\n \"neighbourhood_name\":element.neighbourhood_name,\r\n \"do_know\":element.do_know,\r\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\r\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\r\n \"is_applicant_owner\":element.is_applicant_owner,\r\n \"organisation_owner\":element.organisation_owner,\r\n \"other_organisation_owner\":element.other_organisation_owner,\r\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\r\n \"did_not_know_the_owner\":element.did_not_know_the_owner\r\n }) \r\n });\r\n saveRecords.neighbourhood_list=neighbourhood_list;\r\n \r\n // }\r\n // else{\r\n // this for referencecheck_list for selected\r\n answerData.referencecheck_list.forEach((element,key) => {\r\n referencecheck_list.push({\r\n \"reference_name\":element.reference_name,\r\n \"mobile\":element.mobile,\r\n \"landline\":element.statecode+'-'+element.landline,\r\n \"location\":element.location,\r\n \"relationship_with\":element.relationship_with,\r\n \"others\":element.others,\r\n \"year_relation_applicant\":element.year_relation_applicant,\r\n \"months_relation_applicant\":element.months_relation_applicant,\r\n \"business_volume_amount\":element.business_volume_amount,\r\n \"business_volume_unit\":element.business_volume_unit,\r\n \"others_unit\":element.others_unit,\r\n \"reference_final_remarks\":element.reference_final_remarks,\r\n \"specify_final_remark\":element.specify_final_remark\r\n }) \r\n });\r\n saveRecords.referencecheck_list=referencecheck_list;\r\n \r\n // }\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n // saveRecords.check_type=answerData.check_type;\r\n saveRecords.fk_createdby = this.users;\r\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\r\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\r\n\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.neighbourhoodForm.reset(this.neighbourhoodForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n \r\n }\r\n\r\n getneighbourhood()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \r\n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let neighbourDetails = res['records'];\r\n // neighbourDetails.neighbourhood_list.=''\r\n \r\n // if(neighbourDetails.check_type==0)\r\n // {\r\n \r\n this.neighbourhoodForm.controls['check_type'].setValue(0);//this one for mobile only\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\r\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\r\n {\r\n return res['records'].neighbourhood_list[key];\r\n });\r\n console.log('neighbourhood_list',neighbourhood_list);\r\n console.log('length',neighbourhood_list.length);\r\n if(neighbourhood_list.length > 0){\r\n\r\n \r\n neighbourhood_list.forEach((element,index)=>\r\n {\r\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\r\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\r\n neicontrol.push(this.createNeighbourhood());\r\n this.getOtherOrganisationOwner(element.organisation_owner,index)\r\n });\r\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\r\n \r\n\r\n }else\r\n {\r\n this.addneighbourhood();\r\n }\r\n // if(neighbourDetails.check_type==1)\r\n // {\r\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\r\n {\r\n return res['records'].referencecheck_list[key];\r\n });\r\n console.log('referencecheck_list',referencecheck_list);\r\n console.log('length',referencecheck_list.length);\r\n if(referencecheck_list.length > 0){\r\n // this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n referencecheck_list.forEach((val,index)=>\r\n {\r\n let statecodesearch = val.landline.search(\"-\");\r\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\r\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\r\n control.push(this.createreferance());\r\n // this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\r\n });\r\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\r\n \r\n }else\r\n {\r\n this.addreferance();\r\n }\r\n }else\r\n {\r\n this.addneighbourhood();\r\n this.addreferance();\r\n }\r\n })\r\n }\r\n\r\n /*Image SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n\r\n\r\n}\r\n \n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,Validators,FormArray} from '@angular/forms';\r\n// import { t } from '@angular/core/src/render3';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { CameraProvider } from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionFinalRemarkPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-final-remark',\r\n templateUrl: 'pd-question-final-remark.html',\r\n})\r\nexport class PdQuestionFinalRemarkPage {\r\n\r\n m_remarkTypeCustomerBehaviour:any=[];\r\n\r\n users:any;\r\n pdDetails:any;\r\n pdid:any;\r\n FormId:any;\r\n _finalRemarkForm:FormGroup;\r\n m_recommendationList: any=[];\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder,\r\n public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=aws.getlocale()\r\n \r\n this._finalRemarkForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId.form_id],\r\n final_custormer_remark_type:[null,Validators.compose([Validators.required])],\r\n final_other_customer_behaviour:[null],\r\n is_service_provided:[null],\r\n final_form_remarks:[null],\r\n pd_officers_recommendation:[null],\r\n others_pd_officers_recommendation:[''],\r\n // reason_for_positive:[''],\r\n // reason_for_negative:[''],\r\n // reason_for_refer_to_credit:[''],\r\n recommendation_positive:this.fb.array([]),\r\n recommendation_negative:this.fb.array([]),\r\n recommendation_refer_to_credit:this.fb.array([])\r\n \r\n })\r\n this.getDropDown();\r\n \r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\r\n this.getFinalRemark();\r\n this.getPDImages();\r\n \r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this._finalRemarkForm.dirty);\r\n if(this._finalRemarkForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\ngetDropDown(){\r\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\r\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\r\n })\r\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\r\n this.m_recommendationList=res['records']\r\n })\r\n}\r\ncreateRecomendationPositive(data){\r\n console.log(\"val\",data)\r\n return this.fb.group({\r\n reason_for_positive: data != null ? [data.reason_for_positive] : ['']\r\n })\r\n}\r\naddRecomendationPositive(){\r\n const control= this._finalRemarkForm.controls['recommendation_positive'];\r\n control.push(this.createRecomendationPositive(null))\r\n}\r\nremoveRecomendationPositive(index){\r\n const control= this._finalRemarkForm.controls['recommendation_positive'];\r\n control.removeAt(index);\r\n}\r\ncreateRecomendationNegative(data){\r\n return this.fb.group({\r\n reason_for_negative:data !=null ? [data.reason_for_negative] : ['']\r\n })\r\n}\r\naddRecomendationNegative(){\r\n const control= this._finalRemarkForm.controls['recommendation_negative']\r\n control.push(this.createRecomendationNegative(null))\r\n}\r\nremoveRecomendationNegative(index){\r\n const control= this._finalRemarkForm.controls['recommendation_negative']\r\n control.removeAt(index)\r\n}\r\ncreateRecomendationCreditRefer(data){\r\n return this.fb.group({\r\n reason_for_refer_to_credit:data!=null ? [data.reason_for_refer_to_credit] : ['']\r\n })\r\n}\r\naddRecomendationCreditRefer(){\r\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\r\n control.push(this.createRecomendationCreditRefer(null));\r\n}\r\nremoveRecomendationCreditRefer(index){\r\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\r\n control.removeAt(index)\r\n}\r\n\r\nRecommendationChange(e) {\r\n // console.log('Event',e);\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n\r\n if (e == 1) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n }\r\n }\r\n \r\n\r\n }\r\n if (e == 2) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n // this._finalRemarkForm.controls['reason_for_positive'].setValidators([Validators.required]);\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[i];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValidators([Validators.required]);\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n if (e == 3) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[i];\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValidators([Validators.required]);\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n }\r\n }\r\n // this._finalRemarkForm.controls['reason_for_negative'].setValidators([Validators.required]);\r\n\r\n }\r\n if (e == 4) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[i];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValidators([Validators.required]);\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n }\r\n}\r\n getFinalRemark(){\r\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\r\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\r\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\r\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\r\n this._finalRemarkForm.controls.pd_officers_recommendation.setValue(data['records'].pd_officers_recommendation);\r\n this._finalRemarkForm.controls.others_pd_officers_recommendation.setValue(data['records'].others_pd_officers_recommendation)\r\n // this._finalRemarkForm.controls.reason_for_positive.setValue(data['records'].reason_for_positive)\r\n // this._finalRemarkForm.controls.reason_for_refer_to_credit.setValue(data['records'].reason_for_refer_to_credit);\r\n // this._finalRemarkForm.controls.reason_for_negative.setValue(data['records'].reason_for_negative);\r\n if(data['records'].recommendation_positive.length>0){\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n data['records'].recommendation_positive.forEach((val,index)=>{\r\n console.log(\"for\",val);\r\n if(val.reason_for_positive != null){\r\n let obj={'reason_for_positive':val.reason_for_positive};\r\n recommendationPositiveCtrl.push(this.createRecomendationPositive(obj));\r\n }\r\n })\r\n }\r\n if(data['records'].recommendation_negative.length>0){\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n data['records'].recommendation_negative.forEach((val,index)=>{\r\n console.log(\"for\",val);\r\n let obj={'reason_for_negative':val.reason_for_negative};\r\n recommendationNegativeCtrl.push(this.createRecomendationNegative(obj))\r\n })\r\n }\r\n if(data['records'].recommendation_refer_to_credit.length>0){\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n data['records'].recommendation_refer_to_credit.forEach(val=>{\r\n let obj={'reason_for_refer_to_credit':val.reason_for_refer_to_credit};\r\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(obj))\r\n })\r\n }\r\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\r\n }\r\n else{\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n recommendationPositiveCtrl.push(this.createRecomendationPositive(null));\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n recommendationNegativeCtrl.push(this.createRecomendationNegative(null));\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(null));\r\n }\r\n })\r\n \r\n }\r\n saveFinalRemark(){\r\n if(this._finalRemarkForm.invalid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields marked with '*' \")\r\n }\r\n else{\r\n var answerData=this._finalRemarkForm.value\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n this.qustcat.saveForm(answerData).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n //TO CHANGE THE FORM STATE \r\n this._finalRemarkForm.reset(this._finalRemarkForm.value);\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustcat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustcat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\r\nimport {PdQuestionAssessedDashPage} from '../../../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessGroupPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-group',\r\n templateUrl: 'pd-question-business-group.html',\r\n})\r\nexport class PdQuestionBusinessGroupPage {\r\n \r\n FormId: any;\r\n pdDetails: any = [];\r\n existCompanyList: any = [];\r\n waitLoading:boolean;\r\n count:number;\r\n forms_order:any=[]\r\n\r\n constructor(public navCtrl: NavController, \r\n public navParams: NavParams,\r\n public qustCat:QuestionCategoryProvider){\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n // this.getCompanyListForBusiness(); \r\n \r\n\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getCompanyListForBusiness(); \r\n //this.colorChange();\r\n\r\n }\r\n \r\n /** To Get General Form's Company List */\r\n getCompanyListForBusiness(): void{\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList = data.records.filter(val =>val.is_active);\r\n // let forms=Object.keys(this.existCompanyList.form_status).map(function (key){\r\n // return this.existCompanyList.form_status[key]\r\n // })\r\n //console.log(forms)\r\n // console.log(this.existCompanyList)\r\n this.existCompanyList.forEach((key,ele)=>{\r\n this.forms_order.push(key.form_status)\r\n })\r\n console.log(this.forms_order)\r\n this.forms_order=this.forms_order.filter(val=>val.isAnswerable == true)\r\n console.log(this.forms_order)\r\n // this.existCompanyList.forEach(element=>{\r\n // console.log(element);\r\n // })\r\n \r\n \r\n // this.existCompanyList.array.forEach(element => {\r\n // console.log(element)\r\n // });\r\n \r\n \r\n // this.forms_order=this.existCompanyList.form_status.filter(val=>val.isAnswerable==true)\r\n if(this.existCompanyList.length==1){\r\n this.count=0\r\n }\r\n this.waitLoading = true;\r\n }\r\n else {\r\n this.waitLoading = false;\r\n }\r\n })\r\n }\r\n \r\n\r\n /** To Get Related Form Details */\r\n OnSelectBusinessGroupForms(details: any, company: any) {\r\n \r\n this.pdDetails.company_id = company.company_order_id;\r\n this.pdDetails.company_name = company.company_name;\r\n this.pdDetails.business_entity_type = company.business_entity_type;\r\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\r\n this.pdDetails.business_years = company.business_years;\r\n this.pdDetails.business_month = company.business_month;\r\n console.log(details.form_id);\r\n \r\n if(details.form_id==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n }\r\n if(details.form_id==2){\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==11){\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==13){\r\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==14){\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==15){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==21){\r\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==22){\r\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==16){\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { createPipe } from '@angular/compiler/src/core';\r\nimport { elementAt, takeUntil } from 'rxjs/operators';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { Subject, ReplaySubject } from 'rxjs';\r\nimport {searchValue} from '../../search'\r\nimport { CameraProvider } from '../../../../providers/common-provider/camera'\r\nimport { LoadingProvider } from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionBusinessInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-info',\r\n templateUrl: 'pd-question-business-info.html',\r\n})\r\nexport class PdQuestionBusinessInfoPage {\r\n stateList:any=[];\r\n users: any;formdetails:any;\r\n FormId: any;\r\n pdDetails: any;\r\n businessForm:FormGroup;\r\n applicants:any=[];\r\n businessEntityTypeList: any ={\r\n business_entity_type_id:String,\r\n business_entity_type_name:String,\r\n sourcsection_labeleName:String\r\n }; \r\n generalExistEntityType:string\r\n generalExistEntityType_other:string;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n pdid:any;\r\n step:number\r\n\r\n relationData: any = [];\r\n industryData: any = [];\r\n activityData: any = [];\r\n relativeNames: any;\r\n companyRelationShipList:any=[]\r\n countryDataList:any=[]\r\n exist_status:any;\r\n \r\n filterCityList : any = [];\r\n errorMessage:any=[];\r\n appxSalaryAmtInwords:any;\r\n titleData:any=[]\r\n personsList:any=[]\r\n \r\n ManufacturingChecked: boolean;\r\n RetailedChecked: boolean;\r\n WholeSalesChecked: boolean;\r\n ServiceChecked: boolean;\r\n ExportFlag: boolean=false;\r\n bankList: any=[];\r\n bankListValue:any=[];\r\n temp_additiondetailofposmachine:any=[]\r\n isreadonlyyear: any=[];\r\n isreadonlymonth: any=[];\r\n EntityTypeFlag:boolean=false\r\n\r\n yearErrorMessage: any = [];\r\n monthErrorMessage: any = [];\r\n errorMessageForExistTotalWorkExperience : any = [];\r\n @ViewChild('shareholding') share_focus:ElementRef\r\n private search:searchValue[]\r\n protected _onDestroy = new Subject();\r\n public filteredCity: ReplaySubject = new ReplaySubject(1);\r\n //public filterCity=new Rx.Subject()\r\n public filteredState:ReplaySubject=new ReplaySubject(1)\r\n cityData:any=[]\r\n cityDataValue:any=[]\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public toast:ToastProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider,\r\n private loading:LoadingProvider,private cameraProvider:CameraProvider) {\r\n this.getStateCityDet();\r\n // console.log(typeof this.filteredCity)\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n \r\n this.formdetails = this.navParams.get('formDetails');\r\n \r\n this.FormId = this.formdetails.form_id;\r\n this.users = this.aws.getlocale();\r\n \r\n this.applicants=this.pdDetails.applicat_details;\r\n \r\n this.generalExistEntityType=this.pdDetails.business_entity_type\r\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\r\n this.generalExistBusinessYear=this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.step=0\r\n \r\n \r\n \r\n // this.initBusinessForm();\r\n // this.getBuisnessDetails();\r\n \r\n this.businessForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId],\r\n company_id: this.pdDetails.company_id,\r\n partners:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n select_business_activity_type:this.fb.array([]),\r\n manufacturing_activity_details:this.fb.array([]),\r\n retail_trading_activity_details:this.fb.array([]),\r\n wholesale_trading_activity_details:this.fb.array([]),\r\n service_provider_activity_details:this.fb.array([]),\r\n // others_activity_details:this.fb.array([]),\r\n export_sale_of_total_sales:[''],\r\n // applicant_use_mobile_wallets:[''],\r\n // applicant_use_pos_machines:[''],\r\n // no_of_pos_machines:[''],\r\n seasonality:[''],\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n employees_appx_salary:[''],\r\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n shop_eat_act_cert: [''],\r\n gst_Regn_cert: [''],\r\n //export_import_cert: [''],\r\n // factory_cert: [''],\r\n //practice_cert: [''],\r\n pf_regn: [''],\r\n esic_regn: [''],\r\n other_documents: [''],\r\n documents: this.fb.array([]),\r\n business_remarks:['']\r\n\r\n\r\n\r\n \r\n })\r\n this.getdropdown();\r\n \r\n// this.initBusinessForm();\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\r\n this.getPDImages();\r\n \r\n \r\n }\r\n getdropdown() {\r\n \r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.relationData.push(val);\r\n }\r\n })\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n let filterList = data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\r\n console.log(\"Filter\",filterList)\r\n if(filterList.length>0){\r\n this.businessEntityTypeList.business_entity_type_id = filterList[0].business_entity_type_id==1;\r\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\r\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\r\n \r\n if(this.businessEntityTypeList.business_entity_type_name == 'OPC (One Person Company)' || this.businessEntityTypeList.business_entity_type_name == 'Sole proprietorship'){ \r\n this.EntityTypeFlag = true;\r\n }\r\n }\r\n }\r\n\r\n });\r\n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.industryData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1 && val.type_of_activity_id != 1) {\r\n this.activityData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\r\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n \r\n \r\n \r\n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\r\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\r\n this.titleData=data['records'].filter(val=>val.isactive==1);\r\n })\r\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\r\n if(data.dataStatus){\r\n \r\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\r\n \r\n }\r\n })\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(data=>{\r\n this.bankList=data['records'].filter(val=>val.isactive ==1 && val.lender_type == 1);\r\n this.bankListValue=this.bankList.slice();\r\n })\r\n \r\n}\r\ngetStateCityDet(){\r\nthis.qustCat.getStateCityDetails().subscribe(data=>{\r\n \r\n\r\n this.stateList=data.records\r\n this.filteredState.next(this.stateList.slice())\r\n \r\n this.getDetails();\r\n });\r\n \r\n \r\n}\r\nchangeOfStartedBusiness(members,i,e){\r\n if(e == 'yes'){\r\n members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\r\n this.isreadonlyyear[i] = this.generalExistBusinessYear != undefined ? true : false;\r\n members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\r\n this.isreadonlymonth[i] = this.generalExistBusinessMonth != undefined ? true : false;\r\n }\r\n else{\r\n this.isreadonlyyear[i] =false;\r\n this.isreadonlymonth[i] = false;\r\n }\r\n }\r\n getDetails(){\r\n \r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = 13\r\n params.company_id = this.pdDetails.company_id;\r\n this.qustCat.retiverForm(params).subscribe(data=>{\r\n console.log('data[records]',data['records']);\r\n let businessVal=data['records']\r\n let constVal: any;\r\n \r\n \r\n const Partnr:any = this.businessForm.controls['partners'];\r\n \r\n const control1:any = this.businessForm.controls['persons_with_relationships'];\r\n \r\n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\r\n \r\n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\r\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\r\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\r\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\r\n // const othersControl:any=this.businessForm.controls['others_activity_details'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n //retailControl.push(this.manufactureDetails());\r\n //manufacture_details.push(this.manufactureDetails())\r\n \r\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\r\n //india_sales.push(this.indiaSalesDone())\r\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\r\n // country_sale.push(this.createCountrySale());\r\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\r\n //max_sale_state.push(this.maxSaleState())\r\n\r\n if(data['status']==200){\r\n let DocArray: any;\r\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\r\n return data['records'].partners[key];\r\n })\r\n \r\n if(PartnrArray.length==0){\r\n Partnr.push(this.createPartners())\r\n }\r\n else{\r\n PartnrArray.forEach((datas,key) => {\r\n Partnr.push(this.createPartners());\r\n if(datas.partner_name=='Others') {\r\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\r\n }\r\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\r\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else {\r\n Partnr.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n });\r\n }\r\n if(data['records'].persons_with_relationships){\r\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\r\n return data['records'].persons_with_relationships[key];\r\n })\r\n if(PartnrArray1.length>0){\r\n PartnrArray1.forEach((datas,key)=>{\r\n control1.push(this.createRelationShip());\r\n })\r\n businessVal.persons_with_relationships=PartnrArray1\r\n \r\n }\r\n else{\r\n //control1.push(this.createRelationShip());\r\n businessVal.persons_with_relationships=[]\r\n }\r\n }\r\n else{\r\n businessVal.persons_with_relationships=[]\r\n \r\n }\r\n \r\n\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n businessVal.pdid = this.pdid;\r\n businessVal.formid = 13;\r\n businessVal.company_id = this.pdDetails.company_id;\r\n businessVal.fk_createdby = this.users;\r\n //businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n // businessVal.persons_with_relationships=PartnrArray1\r\n businessVal.documents=DocArray\r\n \r\n if(businessVal.employees_appx_salary){\r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\r\n }\r\n \r\n \r\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\r\n // this.businessForm.setValue(businessVal);\r\n //this.businessForm.value.seasonality\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\r\n let exist_activity_data: any=[];\r\n if(data['records'].select_business_activity_type){\r\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\r\n return data['records'].select_business_activity_type[key].type_of_activity_id;\r\n });\r\n }\r\n \r\n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\r\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\r\n if (exist_activity_data.indexOf(id) < 0) {\r\n activityData[index].exist_status=0;\r\n return activityData[index];\r\n }\r\n else{\r\n activityData[index].exist_status=1;\r\n return activityData[index];\r\n }\r\n }).filter(item => item != undefined);\r\n \r\n if(check_exist_businees_activity.length > 0)\r\n {\r\n check_exist_businees_activity.forEach((val,index) => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\r\n \r\n });\r\n \r\n businessVal.select_business_activity_type=check_exist_businees_activity;\r\n }\r\n // business_activity.push(this.createBusinessActivity())\r\n \r\n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\r\n \r\n if(data['records'].manufacturing_activity_details){\r\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\r\n return data['records'].manufacturing_activity_details[key];\r\n });\r\n if(selectedManufacturing.length>0){\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n \r\n selectedManufacturing.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'MActivity',index)\r\n manufacture_details.push(this.manufactureDetails())\r\n if(element.area_of_sale=='Within India'){\r\n \r\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n })\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n \r\n }\r\n });\r\n businessVal.manufacturing_activity_details=selectedManufacturing;\r\n \r\n \r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n \r\n if(data['records'].retail_trading_activity_details){ \r\n\r\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\r\n return data['records'].retail_trading_activity_details[key];\r\n });\r\n if(selectedRetail.length > 0) {\r\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n selectedRetail.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'RActivity',index)\r\n retailControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n });\r\n businessVal.retail_trading_activity_details=selectedRetail;\r\n }\r\n else{\r\n businessVal.retail_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.retail_trading_activity_details=[];\r\n }\r\n \r\n\r\n // update whole sale details\r\n if(data['records'].wholesale_trading_activity_details){ \r\n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\r\n return data['records'].wholesale_trading_activity_details[key];\r\n });\r\n if(selectedWholesale.length > 0) {\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n selectedWholesale.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'WActivity',index)\r\n wholesaleControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n \r\n });\r\n businessVal.wholesale_trading_activity_details=selectedWholesale;\r\n }\r\n else{\r\n businessVal.wholesale_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.wholesale_trading_activity_details=[];\r\n\r\n } \r\n \r\n \r\n if(data['records'].service_provider_activity_details){\r\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\r\n return data['records'].service_provider_activity_details[key];\r\n })\r\n if(selectedService.length > 0) {\r\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n \r\n selectedService.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'SPActivity',index)\r\n serviceProviderControl.push(this.manufactureDetails());\r\n \r\n if(element.area_of_sale=='Within India'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n \r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n \r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n\r\n \r\n }\r\n });\r\n \r\n \r\n businessVal.service_provider_activity_details=selectedService;\r\n \r\n }\r\n else{\r\n businessVal.service_provider_activity_details=[];\r\n \r\n } \r\n }\r\n else {\r\n businessVal.service_provider_activity_details=[];\r\n\r\n }\r\n \r\n // if(data['records'].others_activity_details){ \r\n\r\n // // update others activity details\r\n // let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\r\n // return data['records'].others_activity_details[key];\r\n // });\r\n // if(selectedOthers.length > 0) {\r\n // selectedOthers.forEach((element,index)=>{\r\n // othersControl.push(this.createOthersActivity());\r\n // });\r\n // businessVal.others_activity_details=selectedOthers;\r\n // }\r\n // else{\r\n // businessVal.others_activity_details=[];\r\n // } \r\n // }\r\n // else {\r\n // businessVal.others_activity_details=[];\r\n\r\n // } \r\n \r\n // dynamically add form group control\r\n if(data['dataStatus']){\r\n \r\n if(data['records'].seasonality.toUpperCase()=='YES'){\r\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\r\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\r\n\r\n } \r\n\r\n // this.businessForm.controls['partners'].setValue(PartnrArray);\r\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\r\n \r\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\r\n if(businessVal.applicant_use_pos_machines == 'yes'){\r\n //For Adding the bank search in data\r\n businessVal.pos_machines_details.forEach(value=>{\r\n value.bankSearch=''\r\n })\r\n //-----------------------\r\n this.businessForm.controls.no_of_pos_machines.setValue(businessVal.no_of_pos_machines);\r\n const posControl: any = this.businessForm.controls['pos_machines_details'];\r\n for(let i = 1; i<= businessVal.no_of_pos_machines; i++ ){\r\n \r\n posControl.push(this.createPOSMachinesDetails(businessVal.pos_machines_details));\r\n }\r\n }\r\n \r\n this.businessForm.setValue(businessVal);\r\n \r\n \r\n }\r\n else{\r\n Partnr.push(this.createPartners());\r\n control1.push(this.createRelationShip())\r\n \r\n //otherDoc.push(this.createDocument());\r\n\r\n // find business activity type businees activity type list\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\r\n if(activityData.length > 0)\r\n {\r\n activityData.forEach(val => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n });\r\n }\r\n\r\n }\r\n})\r\n // change business sessional\r\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\r\n });\r\n \r\n \r\n }\r\n\r\n filterCity(datasource: any,filterid:number) {\r\n // if(val){\r\n // console.log(\"val\",val)\r\n // return val\r\n // }\r\n \r\n \r\n if(filterid){\r\n console.log(\"val filter\",filterid)\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n return filter.length > 0 ? filter[0].cities : [];\r\n }\r\n}\r\nfilterCityData(datasource: any,filterid:number,index) {\r\n console.log(\"test\")\r\n console.log(filterid,index)\r\n \r\n if(filterid){\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n this.cityData[index] = filter.length > 0 ? filter[0].cities : [];\r\n // this.filteredCity.next(this.cityData[index].slice())\r\n this.cityDataValue[index]=this.cityData[index].slice()\r\n console.log(\"filter \",this.cityDataValue[index])\r\n }\r\n // console.log(\"City value\",this.cityData[index])\r\n}\r\n\r\n // filter max sale options\r\n filterMaxSaleState(datasource: any,filterValues:any){\r\n this.filterCityList = filterValues;\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\r\n let setStateFilter: any=[];\r\n setStateFilter = getStateValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n return datasource[findIndex];\r\n });\r\n return setStateFilter.length > 0 ? setStateFilter : [];\r\n }\r\n }\r\n filterMaxSaleCities(datasource: any, filterValues: any, selectedCites: any) {\r\n if (filterValues) {\r\n let setCityValues: any=[];\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n filterValues.forEach((stateElement,statePos) => {\r\n selectedCites.forEach((existElement,existPos) => {\r\n if(stateElement==existElement.state_name && existElement.city_name.length>0){\r\n let findIndex = getOriginalStateList.indexOf(stateElement);\r\n findIndex = datasource[findIndex].cities;\r\n\r\n let getAllCities: any = existElement.city_name.filter(cVal=>cVal==\"1\");\r\n // this is for throuh out states city\r\n if(getAllCities.length>0){\r\n setCityValues= setCityValues.concat.apply(setCityValues, findIndex);\r\n // console.log(\"First\",setCityValues)\r\n }\r\n // this is for seleted states city\r\n else{\r\n let check: any = findIndex.filter(function (fVal) {\r\n return existElement.city_name.some(function (sVal) {\r\n return fVal.city_id == sVal;\r\n });\r\n });\r\n setCityValues= setCityValues.concat.apply(setCityValues, check); \r\n // console.log(\"second\",setCityValues) \r\n\r\n }\r\n }\r\n \r\n });\r\n });\r\n return setCityValues.length>0 ? setCityValues.filter(fVal=>fVal.city_id!=\"1\") : [];\r\n \r\n }\r\n else {\r\n return [];\r\n }\r\n}\r\n// filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \r\n// console.log(selectedCites)\r\n// let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\r\n// console.log(\"selectd\",existCities)\r\n// existCities = [].concat.apply([], existCities);\r\n// existCities.forEach(element=>{\r\n// if(element== 1){\r\n\r\n// }\r\n// })\r\n// console.log(\"concat\",existCities)\r\n// if(filterValues){\r\n// let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n// console.log(\"Original map\",getOriginalStateList)\r\n// let setCityFilter = filterValues.map(x => {\r\n// let findIndex = getOriginalStateList.indexOf(x);\r\n// findIndex = datasource[findIndex].cities;\r\n// return findIndex;\r\n// });\r\n// console.log(\"findindex\",setCityFilter)\r\n \r\n// let merged = [].concat.apply([], setCityFilter);\r\n// console.log(\"merge\",merged)\r\n \r\n// if(merged.length>0){\r\n// let check: any = merged.filter(function(fVal){\r\n// return existCities.some(function(sVal){\r\n// return fVal.city_id==sVal;\r\n// });\r\n// })\r\n// console.log(check);\r\n// return check;\r\n \r\n// }\r\n// else {\r\n// return [];\r\n// }\r\n// }\r\n// else {\r\n// return [];\r\n// }\r\n// }\r\n\r\n\r\ncheckTotalEmployee(FormData){\r\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\r\n }\r\n// checkWithExistBusinessYear(e,i){\r\n// if(e > this.generalExistBusinessYear){\r\n// this.errorMessage[i] = \"Higher than Business Vintage\";\r\n// }\r\n// else{\r\n// this.errorMessage[i] = '';\r\n// }\r\n// }\r\n\r\ncheckWithExistBusinessYear(e, i, members) {\r\n\r\n if (+e > this.generalExistBusinessYear) {\r\n this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n members.controls.current_business_experiance_year.setValue('');\r\n }\r\n else {\r\n this.yearErrorMessage[i] = '';\r\n }\r\n}\r\n\r\ncheckWithExistTotalWorkExperience(e, i, members) {\r\n\r\n if (+members.value.current_business_experiance_year > +e) {\r\n this.errorMessageForExistTotalWorkExperience[i] = \"Total Experience is Lower Than Experience in The Current Company\";\r\n members.controls.total_business_experiance.setValue('');\r\n }\r\n else {\r\n this.errorMessageForExistTotalWorkExperience[i] = '';\r\n }\r\n}\r\n\r\n// businees activity type change event\r\nchangeBusinessActivity(event: any){\r\n \r\n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.controls = [];\r\n manufacturingControl.setValue([]); \r\n \r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n \r\n \r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.controls = [];\r\n retailControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.controls = [];\r\n wholesaleControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.controls = [];\r\n serviceControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n\r\n // if(event.value.exist_status==true && event.value.type_of_activity_id==1){\r\n // let othersControl = this.businessForm.controls['others_activity_details'];\r\n // othersControl.controls = [];\r\n // othersControl.setValue([]);\r\n // }\r\n // else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\r\n // let othersControl = this.businessForm.controls['others_activity_details'];\r\n // othersControl.push(this.createOthersActivity());\r\n // }\r\n // check activity type for make dosument sighted filed dynamically\r\n this.businessForm.value.manufacturing_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl(this.businessForm.value.export_import_cert, Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n this.businessForm.value.manufacturing_activity_details.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl(this.businessForm.value.factory_cert, Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl(this.businessForm.value.practice_cert, Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n // check activity for extra question make dynamic\r\n \r\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl(this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl(this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n \r\n\r\n if(this.ManufacturingChecked || this.ManufacturingChecked==undefined && this.RetailedChecked || this.RetailedChecked==undefined && this.WholeSalesChecked ||this.WholeSalesChecked==undefined && this.ServiceChecked || this.ServiceChecked==undefined){\r\n this.ExportFlag = false;\r\n }\r\n}\r\n\r\n\r\nchangeManufacturingAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n // change retail options\r\n changeRetailAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n// change whole options\r\nchangeWholesaleAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n// change service provider \r\nchangeServiceArea(getDetails: any, getIndex) {\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n\r\nchangePanIndiaOptions(type,selectedIndex,value) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n \r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==3){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==4){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n}\r\n\r\n // update partner group other form control\r\n changePartnerGroup(value,key) {\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\r\n }\r\n\r\n createDesignation(): FormGroup {\r\n return this.fb.group({\r\n sec_name: ['', Validators.compose([Validators.required])],\r\n sec_designation: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n getWorkExperience(event, key) {\r\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\r\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n if(total_experience > current_experience) {\r\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else if(total_experience < current_experience) {\r\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n\r\n else {\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n // let total ;\r\n // if(control.length > 0){\r\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\r\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\r\n // this.businessForm.controls.business_years.updateValueAndValidity();\r\n // }\r\n}\r\n // Out of Total Export Sales what % of Sales is done in Albania?\r\n getPlaceHolderName(id) {\r\n let name = this.countryDataList.filter(value => value.country_id == id);\r\n\r\n return 'Out of Total Export Sales what % of Sales is done in ' + name[0].country_name + ' ?';\r\n // return name[0].country_name +'?';\r\n}\r\nConvertMonthintoYear(itemrow,e,i){\r\n\r\nconsole.log('datas',e,i);\r\n let year = itemrow.controls.current_business_experiance_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n\r\n // if (year > this.generalExistBusinessYear) {\r\n // console.log('data')\r\n // this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n // itemrow.controls.current_business_experiance_year.setValue('');\r\n // itemrow.controls.current_business_experiance_month.setValue('');\r\n\r\n // }\r\n // else {\r\n // if (year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {\r\n // this.monthErrorMessage[i] = \"Higher than Business Vintage\";\r\n // itemrow.controls.current_business_experiance_year.setValue('');\r\n // itemrow.controls.current_business_experiance_month.setValue('');\r\n\r\n // } else {\r\n // this.monthErrorMessage[i] = '';\r\n // this.yearErrorMessage[i] = '';\r\n // itemrow.controls.current_business_experiance_year.setValue(year);\r\n // itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n // }\r\n // }\r\n \r\n}\r\n\r\n\r\n\r\ncreatePartners(): FormGroup {\r\n return this.fb.group({\r\n partner_name: ['', Validators.compose([Validators.required])],\r\n // partner_other_name:[''],\r\n shareholding:[''],\r\n started_business:[''],\r\n current_business_experiance_year:[''],\r\n current_business_experiance_month:[''],\r\n total_business_experiance:[''],\r\n total_business_previous_experience:['']\r\n /* shareholding: ['', Validators.compose([Validators.required])],\r\n current_business_experiance: ['', Validators.compose([Validators.required])],\r\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\r\n });\r\n}\r\ncreateRelationShip(): FormGroup {\r\n return this.fb.group({\r\n family_member_salutation:[''],\r\n family_member_name:[''],\r\n other_family_relationship_id:[''],\r\n relation_to_id:[''],\r\n relationship_with_company_id:[''],\r\n started_business:['']\r\n });\r\n}\r\ncreateBusinessActivity(details):FormGroup {\r\n return this.fb.group({\r\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\r\n name: [details.name, Validators.compose([Validators.required])],\r\n exist_status:[details.exist_status==1 ? true : false]\r\n });\r\n}\r\ncreateServiceActivity(): FormGroup {\r\n return this.fb.group({\r\n main_products: ['', Validators.compose([Validators.required])],\r\n area_of_sale: ['', Validators.compose([Validators.required])],\r\n description: ['']\r\n });\r\n}\r\ncreateOthersActivity(): FormGroup {\r\n return this.fb.group({\r\n others_details: ['', Validators.compose([Validators.required])]\r\n });\r\n}\r\nmanufactureDetails():FormGroup{\r\n return this.fb.group({\r\n main_products:[''],\r\n area_of_sale:[''],\r\n description:['']\r\n // pan_india_options:[''],\r\n // india_where_sale_done:this.fb.array([]),\r\n //max_sale_state_name:this.fb.array([]),\r\n //countries_where_export_done:this.fb.array([])\r\n })\r\n}\r\nindiaSalesDone():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:[''],\r\n stateSearch:[''],\r\n citySearch:['']\r\n })\r\n}\r\nmaxSaleState():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:[''],\r\n stateSearch:[''],\r\n citySearch:['']\r\n })\r\n}\r\ncreateDocument() {\r\n return this.fb.group({\r\n document: ['']\r\n });\r\n}\r\naddDesignation() {\r\n const control = this.businessForm.controls['designation'];\r\n control.push(this.createDesignation());\r\n}\r\ndeleteDesignation(index) {\r\n const control = this.businessForm.controls['designation'];\r\n if(control.length==1){\r\n this.businessForm.controls['designation'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddPartnerDetails(event) {\r\n const control = this.businessForm.controls['partners'];\r\n event.stopPropagation()\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createPartners());\r\n}\r\naddPersonRelationship(event){\r\n event.stopPropagation()\r\n const control=this.businessForm.controls['persons_with_relationships']\r\n let length=control.length\r\n this.step=length\r\n control.push(this.createRelationShip());\r\n}\r\ndeletePersonRelationship(index){\r\n const control=this.businessForm.controls['persons_with_relationships'];\r\n control.removeAt(index)\r\n}\r\ndeletePartnerDetails(index) {\r\n const control = this.businessForm.controls['partners'];\r\n if(control.length==1){\r\n this.businessForm.controls['partners'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddMoreManufacturing() {\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n}\r\nremoveManufacturing(index){\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n if(manufacturingControl.length>1){\r\n manufacturingControl.removeAt(index)\r\n }\r\n else{\r\n manufacturingControl.reset();\r\n }\r\n}\r\naddMoreRetail(){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n}\r\nremoveRetail(index){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n if(retailControl.length>1){\r\n retailControl.removeAt(index)\r\n }\r\n else{\r\n retailControl.reset();\r\n }\r\n}\r\naddMoreWholesale() {\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n}\r\nremoveWholesale(index){\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n if(wholesaleControl.length>1){\r\n wholesaleControl.removeAt(index)\r\n }\r\n else{\r\n wholesaleControl.reset();\r\n }\r\n}\r\naddMoreServiceprovider() {\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n}\r\nremoveServiceProvider(index){\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n if(serviceControl.length>1){\r\n serviceControl.removeAt(index)\r\n }\r\n else{\r\n serviceControl.reset();\r\n }\r\n}\r\n// addMoreOthersActivity(){\r\n// let othersControl = this.businessForm.controls['others_activity_details'];\r\n// othersControl.push(this.createOthersActivity());\r\n// }\r\ncreateCountrySale() {\r\n return this.fb.group({\r\n country_name: ['',Validators.compose([Validators.required])],\r\n approx_sale: ['', Validators.compose([Validators.required])]\r\n }); \r\n}\r\n\r\naddMoreState(mindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n \r\n\r\n}\r\nremoveState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n\r\naddRetailMoreState(rindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n}\r\nremoveRetailState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n// add more whole sale state\r\naddWholesaleMoreState(windex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n\r\n}\r\n// remove for whole sale\r\nremoveWholesaleState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n // add more service provider\r\n addServiceMoreState(sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n }\r\n \r\n // remove service provider\r\n\r\nremoveServiceState(mindex,sindex,type){\r\n if(type==1){\r\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\r\n control1.removeAt(sindex)\r\n }\r\n}\r\naddDocuments() {\r\n const control = this.businessForm.controls['documents'];\r\n control.push(this.createDocument());\r\n}\r\ndeleteDocuments(index) {\r\n const control = this.businessForm.controls['documents'];\r\n if(control.length==1){\r\n this.businessForm.controls['documents'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\n\r\nrelationChanged(event) {\r\n this.relativeNames = [];\r\n event.value.forEach(option => {\r\n this.relativeNames.push({member: option});\r\n });\r\n}\r\ncreatePOSMachinesDetails(data){\r\n if(data==null){\r\n return this.fb.group({\r\n pos_machines_financial_institution_name: [''],\r\n bankSearch:[''],\r\n tid_no_of_pos_machine: [''],\r\n })\r\n }\r\n else{\r\n return this.fb.group({\r\n pos_machines_financial_institution_name: [data.pos_machines_financial_institution_name],\r\n bankSearch:[''],\r\n tid_no_of_pos_machine: [data.tid_no_of_pos_machine],\r\n })\r\n }\r\n}\r\n\r\n public initBusinessForm(): void {\r\n this.businessForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n fk_createdby: this.users,\r\n profession_name: ['', Validators.compose([Validators.required])],\r\n business_years: ['', Validators.compose([Validators.required])],\r\n industry: ['', Validators.compose([Validators.required])],\r\n type_of_activity: ['', Validators.compose([Validators.required])],\r\n seasonality: ['', Validators.compose([Validators.required])],\r\n designation: this.fb.array([]),\r\n partners: this.fb.array([]),\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n officer_permanent: ['', Validators.compose([Validators.required])],\r\n officer_temporary: ['', Validators.compose([Validators.required])],\r\n invested_amount: ['', Validators.compose([Validators.required])],\r\n working_capital: ['', Validators.compose([Validators.required])],\r\n is_service_provided: ['', Validators.compose([Validators.required])],\r\n ownership_setup: ['', Validators.compose([Validators.required])],\r\n ownership_others: [''],\r\n rent_paid: [''],\r\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\r\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\r\n export_import_cert: ['', Validators.compose([Validators.required])],\r\n factory_cert: ['', Validators.compose([Validators.required])],\r\n practice_cert: ['', Validators.compose([Validators.required])],\r\n pf_regn: ['', Validators.compose([Validators.required])],\r\n esic_regn: ['', Validators.compose([Validators.required])],\r\n other_documents: ['', Validators.compose([Validators.required])],\r\n documents: this.fb.array([]),\r\n business_remarks: ['', Validators.compose([Validators.required])],\r\n who_started: ['', Validators.compose([Validators.required])],\r\n main_person: ['', Validators.compose([Validators.required])],\r\n other_main_person: [''],\r\n family_members_involved: ['', Validators.compose([Validators.required])],\r\n before_business: ['', Validators.compose([Validators.required])],\r\n any_delays: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\n\r\nsubmitDetails() {\r\n\r\n if(this.EntityTypeFlag == true){\r\n let control: any = this.businessForm.controls['partners'];\r\n let control2:any = control.controls[0];\r\n\r\n control2.controls['shareholding'].clearValidators();\r\n control2.controls['shareholding'].updateValueAndValidity();\r\n control2.controls['shareholding'].setValue('100');\r\n\r\n \r\n // control.controls[0].removeControl('shareholding');\r\n // control.controls[0].removeControl('started_business');\r\n // control.controls[0].removeControl('current_business_experiance_year');\r\n // control.controls[0].removeControl('current_business_experiance_month');\r\n // control.controls[0].removeControl('total_business_experiance');\r\n \r\n control2.controls['started_business'].setValue('');\r\n\r\n control2.controls['current_business_experiance_year'].clearValidators();\r\n control2.controls['current_business_experiance_year'].updateValueAndValidity();\r\n control2.controls['current_business_experiance_year'].setValue('');\r\n\r\n control2.controls['current_business_experiance_month'].setValue('');\r\n\r\n control2.controls['total_business_experiance'].clearValidators();\r\n control2.controls['total_business_experiance'].updateValueAndValidity();\r\n control2.controls['total_business_experiance'].setValue('');\r\n // if(control2.controls['total_business_previous_experience'].value !=undefined){\r\n // control2.controls['total_business_previous_experience'].clearValidators();\r\n // control2.controls['total_business_previous_experience'].updateValueAndValidity();\r\n // control2.controls['total_business_previous_experience'].setValue('0');\r\n // }\r\n\r\n }\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n console.log(\"manufacture\",control);\r\n // control.controls.forEach(element=>{\r\n // if(element.controls['india_where_sale_done']){\r\n // element.controls\r\n // }\r\n // })\r\n \r\n let family: any = [];\r\n \r\n let design: any;\r\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\r\n let records:any;\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId;\r\n // records.fk_createdby = this.users;\r\n records=this.businessForm.value;\r\n\r\n //if(records.persons_with_relationships=='')\r\n if (records.other_documents == 'no') {\r\n delete records.documents;\r\n }\r\n if (records.rent_paid == '') {\r\n delete records.rent_paid;\r\n }\r\n if (records.ownership_others == '') {\r\n delete records.ownership_others;\r\n }\r\n // records.family_members_involved = this.relativeNames;\r\nif(!this.EntityTypeFlag) {\r\nlet count:number=0;\r\nif(records.partners.length>0){\r\n records.partners.forEach(element=>{\r\n console.log(element)\r\n count+=element.shareholding\r\n })\r\n}\r\nif(count>=101){\r\n this.toast.pdTriggerappmessage(\"Share Holding is Greater than 100 %\");\r\n // this.businessForm.get('shareholding').value.setFocus()\r\n //this.businessForm.controls['partners']\r\n console.log(this.businessForm.controls)\r\n // const control=this.businessForm.controls['partners'] as FormArray\r\n this.share_focus.nativeElement.focus();\r\n //control.get('shareholding').Focus()\r\n // this.businessForm.get('business_remarks').value.setFocus()\r\n return\r\n}\r\n}\r\n let validationFlag : number = 0;\r\n\r\n //type 1: Checking manufacturing_activity_details \r\n if(records.manufacturing_activity_details.length > 0){\r\n\r\n records.manufacturing_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale!= \"Within India\"){ \r\n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n //type 3 checking wholesale_trading_activity_details\r\n if(records.wholesale_trading_activity_details.length > 0){\r\n\r\n records.wholesale_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //type 2 checking retail_trading_activity_details\r\n if(records.retail_trading_activity_details.length > 0){\r\n\r\n records.retail_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n //type 4 checking service_provider_activity_details\r\n if(records.service_provider_activity_details.length > 0){\r\n\r\n records.service_provider_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){\r\n \r\n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //validationFlag is greater then 0 means its display the notifer as warning\r\n if(validationFlag > 0){\r\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\r\n return;\r\n }\r\n\r\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\r\nif(records.pos_machines_details){\r\n records.pos_machines_details.forEach(value=>{\r\n delete value.bankSearch\r\n })\r\n}\r\n \r\n// if(records.manufacturing_activity_details.length > 0){\r\n// records.manufacturing_activity_details.forEach((val,index) => {\r\n// let manufacturingControl: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n// let childCtrl1 : any = manufacturingControl.controls[index].get('india_where_sale_done') as FormArray;\r\n// let childCtrl2 : any = manufacturingControl.controls[index].get('max_sale_state_name') as FormArray;\r\n// if(val.area_of_sale != \"Export\"){ \r\n// if(val.india_where_sale_done.length > 0){\r\n// val.india_where_sale_done.forEach((vals,inx) => {\r\n// childCtrl1.controls[inx].removeControl('citySearch');\r\n// delete vals.citySearch;\r\n// childCtrl1.controls[inx].removeControl('stateSearch');\r\n// delete vals.stateSearch;\r\n// });\r\n// }\r\n// if(val.max_sale_state_name.length > 0){\r\n// val.max_sale_state_name.forEach((vals,inx) => {\r\n// childCtrl2.controls[inx].removeControl('citySearch');\r\n// childCtrl2.controls[inx].removeControl('stateSearch');\r\n// });\r\n// }\r\n// }\r\n// });\r\n// }\r\n// console.log('records',records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.businessForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },3000);\r\n }\r\n });\r\n}\r\n getBuisnessDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId}; \r\n this.qustCat.retiverForm(records).subscribe(data => {\r\n let businessVal = data['records'];\r\n \r\n let constVal: any;\r\n const Desgn = this.businessForm.controls['designation'];\r\n const Partnr = this.businessForm.controls['partners'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n\r\n if (data['status'] == 200) {\r\n let DocArray: any;\r\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\r\n return data['records'].designation[key];\r\n });\r\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\r\n return data['records'].partners[key];\r\n });\r\n\r\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\r\n return data['records'].family_members_involved[key];\r\n });\r\n let enduse: any = [];\r\n let existRelative: any =[];\r\n selectedMembers.forEach(val => {\r\n enduse.push(val.member);\r\n existRelative.push(val);\r\n });\r\n this.relativeNames = existRelative;\r\n if (DesgnArray.length == 0) {\r\n Desgn.push(this.createDesignation());\r\n } else {\r\n DesgnArray.forEach(datas => {\r\n Desgn.push(this.createDesignation());\r\n });\r\n \r\n }\r\n if (PartnrArray.length == 0) {\r\n Partnr.push(this.createPartners());\r\n } else {\r\n PartnrArray.forEach(datas => {\r\n Partnr.push(this.createPartners());\r\n });\r\n }\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n if (data['records'].ownership_setup != 'others') {\r\n businessVal.ownership_others = '';\r\n }\r\n if (data['records'].ownership_setup != 'rented') {\r\n businessVal.rent_paid = '';\r\n }\r\n businessVal.family_members_involved = enduse;\r\n businessVal.pdid = this.pdDetails.pd_id;\r\n businessVal.formid = this.FormId;\r\n businessVal.fk_createdby = this.users;\r\n businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n businessVal.documents = DocArray;\r\n\r\n this.businessForm.setValue(businessVal);\r\n } else {\r\n Desgn.push(this.createDesignation());\r\n Partnr.push(this.createPartners());\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n });\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n}\r\ninWords(e,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n }\r\n }\r\n ManufacturingCounterArray: any = [];\r\nRetailCounterArray: any = [];\r\nWholeSaleCounterArray: any = [];\r\nServiceCounterArray: any = [];\r\n\r\n CheckExport(value,stringFlag,index){\r\n //this.ExportFlag=false\r\n const parentControl = this.businessForm.controls['select_business_activity_type'];\r\n const childControl = parentControl.controls[0];\r\n\r\n\r\n // childControl.forEach((datas,index) => {\r\n \r\n \r\n // // exist_status==true && event.value.type_of_activity_id\r\n\r\n // });\r\n\r\n \r\n\r\n \r\n \r\n if(!this.ManufacturingChecked){\r\n // console.log(\"Manu\")\r\n if(stringFlag == 'MActivity' && value == \"Both\"){\r\n this.ManufacturingCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'MActivity' && value != \"Both\"){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\r\n // console.log(\"manu\");\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.RetailedChecked){ \r\n if(stringFlag == 'RActivity' && value == \"Both\"){\r\n this.RetailCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'RActivity' && value != \"Both\"){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.WholeSalesChecked){\r\n if(stringFlag == 'WActivity' && value == \"Both\"){\r\n this.WholeSaleCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'WActivity' && value != \"Both\"){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n \r\n if(!this.ServiceChecked){\r\n \r\n if(stringFlag == 'SPActivity' && value == \"Both\")\r\n { \r\n this.ServiceCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'SPActivity' && value != \"Both\"){\r\n this.ServiceCounterArray[index] = 0;\r\n }\r\n\r\n }else if(stringFlag == 'SPActivity'){\r\n this.ServiceCounterArray[index] = 0;\r\n } \r\n\r\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n\r\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\r\n \r\n\r\n this.ExportFlag = overallCounter > 0 ? true : false ;\r\n // console.log(this.ExportFlag);\r\n //console.log(overallCounter)\r\n\r\n}\r\nchangePOSMachinesAvailablity(e, flag) {\r\n\r\n e == 'yes'\r\n ? this.businessForm.addControl('no_of_pos_machines', new FormControl(''))\r\n : this.businessForm.removeControl('no_of_pos_machines');\r\n\r\n if (flag == 2) {\r\n e == 'yes'\r\n ? this.businessForm.controls.no_of_pos_machines.setValue('')\r\n : this.businessForm.removeControl('no_of_pos_machines');\r\n }\r\n\r\n}\r\ntoGetPOSMachinesDetails(e,flag){\r\n\r\n if(flag == 1){ this.businessForm.addControl('pos_machines_details', this.fb.array([])); }\r\n const control = this.businessForm.controls['pos_machines_details'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n if(flag == 1){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n control.push(this.createPOSMachinesDetails(null));\r\n }\r\n }\r\n else if(flag == 2){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n control.push(this.createPOSMachinesDetails(this.temp_additiondetailofposmachine));\r\n }\r\n }\r\n }\r\n }\r\n searchFun(control:any,i:number,option){\r\n \r\n if (option == 'city') {\r\n // this.cityData[i]=this.filterCity(this.stateList,control.value.state_name)\r\n control.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.SearchCity(control.controls['citySearch'].value, i);\r\n })\r\n }\r\n if (option == 'state') {\r\n // console.log(\"state\")\r\n control.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchState(control.controls['stateSearch'].value)\r\n \r\n })\r\n }\r\n //For Pos bank search using constant provider\r\n if(option == 'bank'){\r\n console.log(\"bank\", control.controls['bankSearch'].value)\r\n control.controls['bankSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.bankListValue=this.cons.searchData(this.bankList,control.controls['bankSearch'].value,option)\r\n })\r\n }\r\n }\r\n SearchCity(val: any, i: number) {\r\n // let cityData=\r\n // console.log(this.cityData[i])\r\n if (!this.cityData[i]) {\r\n return\r\n }\r\n let searchValue = val\r\n if (!searchValue) {\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n return\r\n } else {\r\n searchValue = searchValue.toLowerCase()\r\n }\r\n this.cityDataValue[i]=\r\n this.cityData[i].filter(val=>val.city_name.toLowerCase().indexOf(searchValue)> -1)\r\n \r\n // console.log(\"City Data value\",this.cityDataValue[i])\r\n // this.filterCity('',1,this.cityData[i])\r\n // this.filteredCity.next(\r\n // this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // )\r\n \r\n }\r\n searchState(val: any) {\r\n console.log(\"statedata\")\r\n if (!this.stateList) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n this.filteredState.next(this.stateList.slice())\r\n return\r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n this.filteredState.next(\r\n this.stateList.filter(res => res.state_name.toLowerCase().indexOf(searchVal) > -1)\r\n )\r\n }\r\n \r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n \r\n \r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\r\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionBusinessAssetsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-assets',\r\n templateUrl: 'pd-question-business-assets.html',\r\n})\r\nexport class PdQuestionBusinessAssetsPage {\r\n currentYear:any=new Date().getFullYear();\r\n\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n\r\n company_id:any;\r\n pdDetails:any;\r\n formDetails : any;\r\n users:any;\r\n _businessAssetsQuesFrom:FormGroup;\r\n m_assets_type:any;\r\n m_propertyType:any;\r\n AssetValueInwords:any=[];\r\n appxMarketAmtInwords:any=[];\r\n RentAmtInwords:any=[]\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any=[]\r\n applicants:any;\r\n data_all:any;\r\n CustSegAbbr: any;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n yearErrorMessage: any=[];\r\n monthErrorMessage: any=[];\r\n addressLabel: any=[];\r\n placeholderName : any = []\r\n m_address_type:any=[]\r\n pageTitle: string;\r\n main_applicant: any;\r\n lender_applicant_id: any;\r\n subproduct_abbr: any;\r\n customer_segment_abbr: any;\r\n RentAmtInwordsForAddress: any =[];\r\n appxMarketAmtInwordsForAddress: any =[];\r\n isOtherOwnerForAddress : boolean = false;\r\n isOtherOwner: boolean = false;\r\n public m_vehicle_type = [];\r\n cityArr: any=[];\r\n pinArr: any=[];\r\n m_state_for_address: any=[];\r\n @ViewChild('remarksFocus') focusRemark:ElementRef\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,\r\n public cons:ConstantsProvider,public toast:ToastProvider,private loading:LoadingProvider,\r\n private cameraProvider:CameraProvider) {\r\n \r\n \r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users=this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n this.generalExistBusinessYear = this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\r\n this.main_applicant = this.pdDetails.applicant_name;\r\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\r\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n this.getDropDown()\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\r\n this.getDetails()\r\n //this.getAddress()\r\n this.getPDImages();\r\n }\r\n getAddress(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id;\r\n params.pd_form_id='5'\r\n\r\n this.qustcat.retiverForm(params).subscribe(data => {\r\n const control= this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n if(data['status'] == 200) {\r\n \r\n \r\n if(data['records'].addresses.length > 0){\r\n data['records'].addresses.forEach((data,inx)=>{\r\n this.addressLabel[inx] = '';\r\n console.log(\"address\",data)\r\n this.qustcat.getStateWiseCities(data.state).subscribe(res=>{\r\n if(res.dataStatus== true){\r\n console.log(\"state\",res)\r\n this.cityArr=res.records.cities\r\n this.pinArr = res.records.pincode;\r\n let selectedAddressType = this.m_address_type.filter(element => element.address_type_id == data.address_type)[0];\r\n let selectedState = this.m_state_for_address.filter(element => element.state_id == data.state)[0];\r\n let selectedCity = this.cityArr.filter(element => element.city_id == data.city)[0]; \r\n let selectedPincode = this.pinArr.filter(element => element.pincode_id == data.pincode)[0];\r\n \r\n console.log(selectedCity)\r\n let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\r\n let address = data.address + ' , ' + selectedCity.city_name + ','+selectedState.name +'-' + (data.pincode == 1 ? data.pincode_others : selectedPincode.pincode);\r\n \r\n \r\n // let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];\r\n // let address = data.address;\r\n // let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\r\n \r\n this.placeholderName[inx] = 'Was any business activity seen at the '+addressType+' during PD visit?';\r\n //console.log(this.placeholderName)\r\n let addressLabel = \" : \"+address+' / '+addressType ;\r\n console.log(\"dd\",addressLabel)\r\n let values={\r\n address_label:addressLabel,\r\n business_years: '',\r\n business_month: '',\r\n business_address_availability: '',\r\n business_is_pd_visited: '',\r\n business_pd_visited_remark: '', \r\n business_approximate_market_value: '',\r\n business_ownership_type: '',\r\n business_monthly_rented_amt: '',\r\n business_name_of_the_owner: '',\r\n business_name_of_the_other_owner: '',\r\n business_vintage: '',\r\n business_purchase_year: '',\r\n business_emi: ''\r\n }\r\n control.push(this.initBusinessDetailsWithdata(values));\r\n }\r\n })\r\n\r\n })\r\n \r\n }\r\n else{\r\n control.push(this.initBusinessDetails())\r\n }\r\n }\r\n else{\r\n control.push(this.initBusinessDetails());\r\n }\r\n });\r\n }\r\n getDropDown(){\r\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\r\n data => {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n })\r\n \r\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\r\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\r\n \r\n })\r\n\r\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\r\n })\r\n\r\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\r\n \r\n }\r\n \r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n })\r\n this.qustcat.getcommondrop('STATE').subscribe(data=>{\r\n this.m_state_for_address = data['records'].filter(val=>val.isactive ==1 )\r\n })\r\n\r\n \r\n \r\n }\r\n apiLoadFinish:boolean=false\r\n getDetails(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id\r\n params.company_id=this.company_id\r\n params.pd_form_id=22\r\n this.qustcat.retiverForm(params).subscribe(res=>{\r\n \r\n if(res['dataStatus']==true){\r\n \r\n //this.data_all=res['records']\r\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\r\n return res['records'].business_assets_details[key]\r\n });\r\n \r\n //this.formLoadData(assestArray)\r\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\r\n if(assestArray.length>0){\r\n for(let val of assestArray){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\r\n }\r\n }*/\r\n this.formLoadData(res['records'])\r\n }\r\n\r\n \r\n else{\r\n this.formLoadData(null);\r\n }\r\n this.apiLoadFinish=true\r\n \r\n \r\n })\r\n //this.formLoadData(null);\r\n \r\n }\r\n \r\n formLoadData(data){\r\n if(data==null){\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n \r\n business_assets_for_address: this.fb.array([]),\r\n //this.createBusinessAssetsForAddress(),\r\n business_assets_details : this.fb.array([\r\n this.initBusinessDetails(),\r\n ]),\r\n business_assets_form_remark:['']\r\n });\r\n this.getAddress();\r\n this.loadDetails=true;\r\n }\r\n else{\r\n \r\n let value=data;\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n // business_years:[value.business_years],\r\n // business_month:[value.business_month],\r\n // business_address_availability:[value.business_address_availability],\r\n // business_is_pd_visited:[value.business_is_pd_visited],\r\n // business_pd_visited_remark:[value.business_pd_visited_remark],\r\n business_assets_for_address: this.fb.array([]),\r\n business_assets_details : this.fb.array([]),\r\n business_assets_form_remark:[value.business_assets_form_remark || '']\r\n });\r\n // if (value.business_assets_for_address.business_address_availability == 'yes') {\r\n \r\n // this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n // }\r\n // else {\r\n // const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n // control.push(this.createBusinessAssetsForAddress());\r\n // } \r\n // this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n }\r\n\r\n this.loadDetails=true\r\n }\r\n\r\n initBusinessDetails(){\r\n return this.fb.group({\r\n address_label:[''],\r\n business_assets_mode:[''],\r\n business_details: this.fb.array([]),\r\n \r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n \r\n business_approximate_market_value: [''],\r\n business_ownership_type:[''],\r\n business_monthly_rented_amt:[''],\r\n business_name_of_the_owner: [],\r\n business_name_of_the_other_owner: [],\r\n business_vintage: [''],\r\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [''],\r\n \r\n })\r\n }\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: ['']\r\n });\r\n }\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n\r\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n addAssetDetails(e) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetails());\r\n \r\n }\r\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n removeAssetsDetails(i: number) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.removeAt(i);\r\n\r\n}\r\n\r\ncreateBusinessAssetsForAddress(): FormGroup {\r\n return this.fb.group({\r\n address_label:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n\r\n business_approximate_market_value: [''],\r\n business_ownership_type: [''],\r\n business_monthly_rented_amt: [''],\r\n business_name_of_the_owner: [''],\r\n business_name_of_the_other_owner: [''],\r\n business_vintage: [''],\r\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: ['']\r\n });\r\n}\r\n\r\n selectedAssetsType(e: any, i: any): void {\r\n let val = i;\r\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n arr.controls.splice(0);\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n let val = i;\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n \r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadPropertyWithData(data) { \r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n });\r\n }\r\n load_Four_WeelerWithData(data){\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n })\r\n }\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadDetails:boolean\r\n addBusinessAssetsForAddress(data) {\r\n console.log(\"add business\")\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n });\r\n if (result.length > 0) {\r\n result.forEach((datas, index) => {\r\n //this.placeholderName[index]=datas.address_label.split('/')\r\n // console.log(datas.address_label.split('/'))\r\n // console.log(datas.address_label.split('/')[0])\r\n if(datas.address_label != null && datas.address_label !=''){\r\n let splitted=datas.address_label.split('/')[1]\r\n this.placeholderName[index]='Was any business activity seen at the '+splitted+' during PD visit?';\r\n }\r\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\r\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\r\n let Avaliablity = 1;\r\n \r\n if(datas.business_name_of_the_owner.length > 0){\r\n datas.business_name_of_the_owner.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\r\n });\r\n\r\n for (let val of result) {\r\n \r\n let vals = {\r\n address_label:val.address_label,\r\n business_years:val.business_years,\r\n business_month:val.business_month,\r\n business_address_availability:val.business_address_availability,\r\n business_is_pd_visited:val.business_is_pd_visited,\r\n business_pd_visited_remark:val.business_pd_visited_remark,\r\n\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type: val.business_ownership_type,\r\n business_monthly_rented_amt: val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_vintage: val.business_vintage,\r\n business_purchase_year: val.business_purchase_year,\r\n business_emi: val.business_emi\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddressWithData(vals));\r\n }\r\n } else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n }\r\n }\r\n addBusinessAssetsDetailsWithData(supp_data){\r\n var result=Object.keys(supp_data).map(function(key){\r\n return supp_data[key];\r\n })\r\n \r\n if(result.length>0){\r\n console.log(\"length >0\")\r\n result.forEach((datas,index)=>{\r\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\r\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\r\n });\r\n for(let val of result){\r\n let formData={\r\n address_label:val.address_label,\r\n business_assets_mode: val.business_assets_mode,\r\n\r\n business_years:val.business_year,\r\n business_month:val.business_month,\r\n business_address_availability:val.business_address_availability,\r\n business_is_pd_visited:val.business_is_pd_visited,\r\n business_pd_visited_remark:val.business_pd_visited_remark,\r\n\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type:val.business_ownership_type,\r\n business_monthly_rented_amt:val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\r\n }\r\n \r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n createBusinessAssetsForAddressWithData(data): FormGroup {\r\n return this.fb.group({\r\n address_label:[data.address_label],\r\n business_years:[data.business_years],\r\n business_month:[data.business_month],\r\n business_address_availability:[data.business_address_availability],\r\n business_is_pd_visited:[data.business_is_pd_visited],\r\n business_pd_visited_remark:[data.business_pd_visited_remark],\r\n\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type: [data.business_ownership_type],\r\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\r\n business_vintage: [data.business_vintage],\r\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [data.business_emi]\r\n });\r\n }\r\n\r\n initBusinessDetailsWithdata(data) {\r\n \r\n\r\n let formGroup= this.fb.group({\r\n address_label:[data.address_label],\r\n business_assets_mode: [data.business_assets_mode],\r\n \r\n business_years:[data.business_year],\r\n business_month:[data.business_month],\r\n business_address_availability:[data.business_address_availability],\r\n business_is_pd_visited:[data.business_is_pd_visited],\r\n business_pd_visited_remark:[data.business_pd_visited_remark],\r\n\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type : [data.business_ownership_type],\r\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\r\n // relation: [data.relation || ''],\r\n business_vintage: [data. business_vintage],\r\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n // purchase_month: [data.purchase_month],\r\n business_emi: [data.business_emi || ''],\r\n });\r\n return formGroup;\r\n }\r\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\r\n \r\n let val = i;\r\n let data = datas;\r\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n control.controls.splice(0);\r\n\r\n switch (assets_details_mode) {\r\n case '2': {\r\n let business_property_datas : any;\r\n data.forEach((datas,i) => {\r\n business_property_datas = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, 'address_of_the_property': datas.address_of_the_property };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadPropertyWithData(business_property_datas));\r\n break;\r\n }\r\n case '3': {\r\n let business_Four_Weeler_datas : any;\r\n data.forEach((datas,i) => {\r\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\r\n break;\r\n }\r\n case '4': {\r\n let equipment_manufacturing_description_datas : any;\r\n data.forEach((datas,i) => {\r\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\r\n break;\r\n }\r\n \r\n case '1': {\r\n let array_datas : any;\r\n data.forEach((datas,i) => {\r\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\r\n array_datas = {\r\n 'any_other_assets': datas.any_other_assets,\r\n // 'any_other_asset_value': datas.any_other_asset_value,\r\n 'any_other_asset_loan': datas.any_other_asset_loan,\r\n };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public paymentModeTextBox: number;\r\n selectedPM(e) {\r\n this.paymentModeTextBox = e.value;\r\n // this.f.supplier_details.controls.get('payment_mode_value');\r\n }\r\n\r\n public freqPurchaseTextBox: number;\r\n selectedFreqPurchase(e) {\r\n this.freqPurchaseTextBox = e.value;\r\n }\r\n \r\n\r\n onSubmit(){\r\n if(!this._businessAssetsQuesFrom.valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill the Required Field\")\r\n this.focusRemark.nativeElement.focus();\r\n return;\r\n }\r\n \r\n var answerData=this._businessAssetsQuesFrom.value;\r\n \r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n\r\n this.qustcat.saveForm(answerData).subscribe(result=>{\r\n if(result['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\r\n }\r\n })\r\n \r\n }\r\n // calculate vintage and purchase {}\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 2) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n if (type == 3) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n\r\n // // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n\r\n setRequiredValidation(value, item, flag,i) {\r\nif(flag== 11){\r\n if(value == 'yes'){\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\r\n }\r\n else if(value == 'no'){\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n }\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\r\n}\r\n if (flag == 1) {\r\n if (value == 'yes') {\r\n console.log(\"bu\",this._businessAssetsQuesFrom.controls);\r\n // this._businessAssetsQuesFrom.controls.business_assets_for_address.value[i].business_years.setValidators([Validators.required]);\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.setValidators([Validators.required]);\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n }\r\n else {\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.clearValidators();\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.clearValidators();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n }\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.updateValueAndValidity();\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n\r\n\r\n }\r\n // if(flag == 2){\r\n // value==1\r\n // ? item.controls.premises_type_others.setValidators([Validators.required])\r\n // : item.controls.premises_type_others.clearValidators();\r\n // item.controls.premises_type_others.updateValueAndValidity();\r\n // }\r\n if (flag == 3) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwner = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwner = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n\r\n // value == 0\r\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\r\n // : item.controls.business_name_of_the_other_owner.clearValidators();\r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n }\r\n if (flag == 5) {\r\n value == 1\r\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\r\n : item.controls.other_vehicle_type.clearValidators();\r\n item.controls.other_vehicle_type.updateValueAndValidity();\r\n }\r\n if (flag == 6) {\r\n value == 1\r\n ? item.controls.other_property_type.setValidators([Validators.required])\r\n : item.controls.other_property_type.clearValidators();\r\n item.controls.other_property_type.updateValueAndValidity();\r\n\r\n value != ''\r\n ? item.controls.address_of_the_property.setValidators([Validators.required])\r\n : item.controls.address_of_the_property.clearValidators();\r\n item.controls.address_of_the_property.updateValueAndValidity();\r\n }\r\n if (flag == 7) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n // if(flag == 8){\r\n // let Avaliablity = 1;\r\n // value.forEach(option => {\r\n // if(option.id == 0 && option.group_id == 2){\r\n \r\n // Avaliablity = option.id;\r\n // }\r\n // });\r\n // this.isOtherOwner = false;\r\n // if(Avaliablity == 0){\r\n \r\n // item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n // this.isOtherOwnerForAddress = true;\r\n // }else{\r\n \r\n // item.controls.business_name_of_the_other_owner.setValue('');\r\n // item.controls.business_name_of_the_other_owner.clearValidators();\r\n // this.isOtherOwnerForAddress = false;\r\n // }\r\n \r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n \r\n // }\r\n\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(e,ind){\r\n console.log( this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years)\r\n let business_year = this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.value;\r\n \r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n let Year = +business_year + +Math.floor(converted_year);\r\n \r\n if(Year > this.generalExistBusinessYear){\r\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\r\n \r\n }\r\n else{\r\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\r\n {\r\n this.monthErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\r\n \r\n }else{\r\n this.monthErrorMessage[ind] = '';\r\n this.yearErrorMessage[ind] = '';\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n }\r\n\r\n checkWithExistBusinessYear(e,ind){\r\n \r\n if(+e > this.generalExistBusinessYear){\r\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n \r\n }\r\n else{\r\n this.yearErrorMessage[ind] = '';\r\n }\r\n }\r\n\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1:\r\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 : \r\n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 3:\r\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 9:\r\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 10:\r\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustcat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustcat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\n// import { QueryState } from '@angular/core/src/render3/interfaces';\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport { Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-banking',\r\n templateUrl: 'pd-question-business-banking.html',\r\n})\r\nexport class PdQuestionBusinessBankingPage {\r\npdDetails:any;\r\nm_btLenderList: any;\r\napplicants: any \r\nsalaryField: boolean;\r\nformDetails: any;\r\nform_id:any;\r\naccountType: any;\r\nusers: any;\r\nbankingForm:FormGroup;\r\npublic pd_cus_segment:string\r\ncompany_id:any;\r\n\r\npdid:any;\r\nitemRows:FormArray;\r\n\r\nexistCompanyList: any=[];\r\nmergeCompanyApplicant: any=[];\r\nstep:number\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n limitCaseFlag: any=[];\r\n generalExistBusinessYear: number;\r\n generalExistBusinessMonth:number\r\n yearErrorMessage: any=[];\r\n monthErrorMessage: any=[];\r\n m_btLenderListValue:any=[]\r\n protected _onDestroy = new Subject();\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,\r\n public cons:ConstantsProvider,public toast:ToastProvider,private loading:LoadingProvider,\r\n private cameraProvider:CameraProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails')\r\n \r\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\r\n this.pdid=this.pdDetails.pd_id;\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id=this.pdDetails.company_id\r\n \r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n this.generalExistBusinessMonth=this.pdDetails.business_month\r\n this.generalExistBusinessYear=this.pdDetails.business_years\r\n \r\n\r\n this.users = this.aws.getlocale();\r\n this.step=0\r\n this.bankingForm = this.fb.group(\r\n {\r\n itemRows:this.fb.array([]),\r\n banking_form_remark:[''],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\r\n this.getPDImages();\r\n }\r\n searchFun(control){\r\n if(!this.m_btLenderListValue){\r\n return\r\n }\r\n let searchVal=control.controls['filterCtrl'].value\r\n if(!searchVal){\r\n this.m_btLenderListValue=this.m_btLenderList.slice()\r\n return\r\n }\r\n else{\r\n searchVal=searchVal.toLowerCase();\r\n this.m_btLenderListValue=this.m_btLenderList.filter(val=>val.lender_name.toLowerCase().indexOf(searchVal)>-1)\r\n }\r\n }\r\n getdropdown(){\r\n \r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n this.m_btLenderListValue=this.m_btLenderList.slice();\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true) /*&& val.is_company_applicant===true*/\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n \r\n checkWithExistBusinessYear(itemrow,e, i) {\r\nconsole.log(this.generalExistBusinessYear)\r\n if (+e > this.generalExistBusinessYear) {\r\n this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n itemrow.controls.vintage_year.setValue('');\r\n }\r\n else {\r\n this.yearErrorMessage[i] = '';\r\n }\r\n }\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow, e,i) {\r\n console.log(this.generalExistBusinessMonth)\r\n\r\n\r\n let year = itemrow.controls.vintage_year.value;\r\n\r\n let converted_month: number = e % 12;\r\n let converted_year: number = e / 12;\r\n let Year = +year + +Math.floor(converted_year);\r\n \r\n if (Year > this.generalExistBusinessYear) {\r\n this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n itemrow.controls.vintage_year.setValue('');\r\n itemrow.controls.vintage_month.setValue('');\r\n\r\n }\r\n else {\r\n if (Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {\r\n this.monthErrorMessage[i] = \"Higher than Business Vintage\";\r\n itemrow.controls.vintage_year.setValue('');\r\n itemrow.controls.vintage_month.setValue('');\r\n console.log(this.monthErrorMessage[i])\r\n\r\n } else {\r\n this.monthErrorMessage[i] = '';\r\n this.yearErrorMessage[i] = '';\r\n itemrow.controls.vintage_year.setValue(Year);\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n\r\n\r\n}\r\n /** Amount InWords */\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setRequiredValidation(value,item,flag) {\r\n \r\n \r\n if(flag == 1){\r\n value==0\r\n ? item.controls.other_applicant.setValidators([Validators.required])\r\n : item.controls.other_applicant.clearValidators();\r\n item.controls.other_applicant.updateValueAndValidity();\r\n }\r\n if(flag == 2){\r\n value==1\r\n ? item.controls.other_bank.setValidators([Validators.required])\r\n : item.controls.other_bank.clearValidators();\r\n item.controls.other_bank.updateValueAndValidity();\r\n }\r\n \r\n }\r\n\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n \r\n bank_name: [''],\r\n filterCtrl:[''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n addBankDetails(index,event) {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n event.stopPropagation()\r\n const control = this.bankingForm.controls['itemRows'];\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\r\n \r\n this.itemRows.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n const control = this.bankingForm.controls['itemRows'];\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else\r\n \r\n \r\n control.removeAt(i);\r\n }\r\n \r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n retiveBankDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\r\n const control = this.bankingForm.controls['itemRows'];\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n \r\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n \r\n \r\n if(result.length == 0){\r\n \r\n control.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n result.forEach((datas,index)=>\r\n {\r\n datas.filterCtrl=''\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n if(datas.limit != ''){\r\n \r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n }\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n control.push(this.createBankItem(''));\r\n })\r\n \r\n this.bankingForm.controls['itemRows'].setValue(result);\r\n } \r\n }else\r\n {\r\n \r\n control.push(this.createBankItem(''));\r\n }\r\n });\r\n \r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n answerData.itemRows.forEach(element=>{\r\n delete element.filterCtrl\r\n })\r\n console.log(\"logs\",answerData)\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.form_id;\r\n records.fk_createdby = this.users;\r\n records.company_id=this.company_id;\r\n records.banking_details = answerData.itemRows;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.bankingForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n })\r\n \r\n }\r\n \r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\nchangeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdGeneralImagesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-general-images',\r\n templateUrl: 'pd-general-images.html',\r\n})\r\nexport class PdGeneralImagesPage {\r\n\r\n cameraArr:any = [];\r\n applicatentDetails: any;\r\n count:any = 0;\r\n saveAccess:boolean =false;\r\n FormId:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdGeneralImagesPage');\r\n }\r\n \r\n takePicture()\r\n {\r\n this.camera.getpicture().then(image=>\r\n {\r\n this.count = this.count+1;\r\n \r\n this.cameraArr.push({'image':image,'name':''});\r\n });\r\n }\r\n\r\n removeimage(i)\r\n {\r\n this.count = this.count - 1; \r\n this.cameraArr.splice(i,1);\r\n }\r\n\r\n docnames(doc,i,img)\r\n {\r\n \r\n this.cameraArr[i] = {'image':img,'Name':doc};\r\n // console.log(JSON.stringify(this.pddocdata)); \r\n }\r\n savePDImages()\r\n {\r\n \r\n this.saveAccess = true;\r\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\r\n records.images = this.cameraArr;\r\n this.qustCat.savePDImages(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.saveAccess = false;\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } \r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PdListPage } from '../../pd-list/pd-list';\r\nimport {ToastProvider} from '../../../providers/common-provider/toast'\r\n\r\n/**\r\n * Generated class for the BouncedRejectPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-bounced-reject',\r\n templateUrl: 'bounced-reject.html',\r\n})\r\nexport class BouncedRejectPage {\r\n\r\n users: any;\r\n bounseMaster: any;\r\n pdDetails: any;\r\n status: any;\r\n bounce_reason:any;\r\n bounce_reason_others:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,\r\n public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public toast:ToastProvider) {\r\n // this.pdDetails = this.navParams.get('appdetails');\r\n // this.status = this.navParams.get('status');\r\n this.pdDetails=this.navParams.get('details')\r\n // console.log(this.pdDetails)\r\n this.users = this.aws.getlocale();\r\n this.getDropdown();\r\n \r\n }\r\n\r\n getDropdown()\r\n {\r\n \r\n \r\n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\r\n console.log(this.bounseMaster);\r\n }\r\n })\r\n \r\n }\r\n updatePDStatus()\r\n {\r\n if(this.bounce_reason !=null && this.bounce_reason !=1)\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n // console.log(this.bounce_reason)\r\n // console.log(this.bounce_reason_others);\r\n console.log(data);\r\n this.toast.pdTriggerappmessage(\"Thank You\");\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n else if(this.bounce_reason == 1 && this.bounce_reason_others != '' && this.bounce_reason_others !=null )\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n // console.log(this.bounce_reason)\r\n // console.log(this.bounce_reason_others);\r\n console.log(data);\r\n this.toast.pdTriggerappmessage(\"Thank You\");\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n \r\n \r\n\r\n else{\r\n this.toast.pdTriggerappmessage(\"Please Choose the Reason to Reject\");\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\r\n/*\r\n Generated class for the DatabaseProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class DatabaseProvider {\r\n database:SQLiteObject;\r\n constructor(public http: HttpClient,public sql:SQLite) {\r\n console.log('Hello DatabaseProvider Provider');\r\n this.createnewdb();\r\n }\r\n\r\n createnewdb()\r\n {\r\n // alert('function in');\r\n this.sql.create(\r\n {\r\n name:'sinnedge',\r\n location:'defalut',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \r\n {\r\n // alert('db create');\r\n this.getuserDetails();\r\n })\r\n .catch(e => console.log(e));\r\n })\r\n }\r\n getuserDetails()\r\n {\r\n // alert('getusers');\r\n this.sql.create(\r\n {\r\n name:'sineedge',\r\n location:'default',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\r\n {\r\n console.log(res);\r\n })\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the PasswordPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-password',\r\n templateUrl: 'password.html',\r\n})\r\nexport class PasswordPage {\r\n commonImage: string;\r\n newpassword: any;\r\n confirmPassword: any;\r\n pin:any;\r\n Username:any;\r\n Password:any;\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.Username = this.navParams.get('Username');\r\n this.Password = this.navParams.get('Password');\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PasswordPage');\r\n }\r\n setNewPassword(newpass)\r\n {\r\n if(newpass !='' && newpass !=null && newpass !== undefined){\r\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\r\n console.log(auth);\r\n this.aws.dologin(auth).subscribe(res => {\r\n console.log(res);\r\n this.navCtrl.setRoot(PdListPage);\r\n // this.router.navigate(['/home']);\r\n }, err => {\r\n this.toast.pdTriggerappmessage(err.message);\r\n // alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the new Password');\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\n\r\nimport { LoadingProvider } from '../../providers/common-provider/loading';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the AuthPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n \r\n\r\n@Component({\r\n selector: 'page-auth',\r\n templateUrl: 'auth.html',\r\n})\r\nexport class AuthPage {\r\n pinAccess: any;\r\n newpindetails: any;\r\n userDetails: any;\r\npin:any;\r\n mpinaccess:boolean =false;\r\n newpassword:any;\r\n ConfirmPassword:any;\r\n commonImage:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public Menu:MenuController,public fb:FormBuilder,public shared:CognitoServiceProvider,public toast:ToastProvider,public faio:FingerprintAIO,public aws:AwsServiceProvider,public loadingCtrl:LoadingProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.shared.refresh();\r\n this.getuserDetails();\r\n \r\n\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad AuthPage');\r\n }\r\n ionViewDidEnter(){\r\n this.Menu.enable(false);\r\n }\r\n ionViewWillLeave(){\r\n this.Menu.enable(true);\r\n }\r\n getuserDetails()\r\n {\r\n this.loadingCtrl.pdloader('loading...');\r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.loadingCtrl.loading.dismiss();\r\n this.userDetails = this.userDetails.records;\r\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\r\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\r\n if(this.userDetails[0].mpin ==null)\r\n {\r\n \r\n this.mpinaccess = true;\r\n \r\n }else\r\n {\r\n this.mpinaccess = false;\r\n }\r\n }else{\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n }else{\r\n this.toast.pdTriggerappmessage('')\r\n }\r\n //console.log(this.mpinaccess);\r\n });\r\n }\r\n setnewpin(newpin)\r\n {\r\n console.log(\"set Pin\")\r\n this.aws.userpinupdate(newpin).subscribe(res=>\r\n {\r\n this.newpindetails = res;\r\n if(this.newpindetails.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n /**Finger print */\r\n \r\n checkpin(pin) {\r\n console.log(\"Check pin\",pin);\r\n if(pin !='' && pin !=null)\r\n {\r\n if(this.userDetails[0].mpin == pin)\r\n {\r\n console.log(\"Entering List page\")\r\n this.navCtrl.setRoot(PdListPage);\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\r\n }\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The PIN');\r\n }\r\n\r\n \r\n \r\n }\r\n checkfingerprint()\r\n {\r\n console.log(\"Check Finger\");\r\n this.faio.show({\r\n clientId: 'Fingerprint-Demo',\r\n clientSecret: 'password', // Only Android\r\n localizedFallbackTitle: 'Use Pin', // Only iOS\r\n localizedReason: 'Please authenticate',\r\n disableBackup:true,\r\n })\r\n .then((result: any) => {\r\n this.navCtrl.setRoot(PdListPage);\r\n })\r\n .catch((error: any) => {\r\n this.toast.pdTriggerappmessage('err: '+ error);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\nimport { enableProdMode } from '@angular/core';\r\nenableProdMode();\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\n\r\nimport { MyApp } from './app.component';\r\n\r\n\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { SQLite } from '@ionic-native/sqlite';\r\nimport { DatabaseProvider } from '../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthGuard } from '../providers/_guard/auth.guard';\r\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { ConstantsProvider } from '../providers/constants/constants';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\r\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\r\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\r\nimport { InputPage } from '../pages/input/input';\r\nimport { ToastProvider } from '../providers/common-provider/toast';\r\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\n\r\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\r\nimport { OtpPage } from '../pages/otp/otp';\r\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\r\n\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\r\nimport { CameraProvider } from '../providers/common-provider/camera';\r\nimport { LoadingProvider } from '../providers/common-provider/loading';\r\nimport { Camera } from '@ionic-native/camera';\r\n\r\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\r\n\r\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\r\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { Geolocation } from '@ionic-native/geolocation';\r\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { DatePicker } from '@ionic-native/date-picker';\r\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\r\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\r\n\r\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\r\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport { PdPipe } from '../pipes/pd/pd';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\r\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\r\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport {PdQuestionAssessedSummaryPage} from '../pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary'\r\nimport { NgxMatSelectSearchModule} from 'ngx-mat-select-search'\r\nimport { ContentLoaderModule } from '@netbasal/content-loader';\r\nimport {PdQuestionAssessedDailyPurchasePage} from '../pages/pd-question/pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase'\r\nimport {RupeeCurrencyFormatPipe} from '../pipes/rupee-currency-format/rupee-currency-format'\r\nimport {PdQuestionAssessedImagesPage} from '../pages/pd-question/pd-question-assessed-images/pd-question-assessed-images'\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n PdQuestionAssessedSummaryPage,\r\n PdQuestionAssessedDailyPurchasePage,\r\n PdQuestionAssessedImagesPage,\r\n RupeeCurrencyFormatPipe\r\n ],\r\n imports: [\r\n BrowserModule,ReactiveFormsModule,FormsModule,\r\n IonicModule.forRoot(MyApp),\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,HttpClientModule,IonicImageViewerModule,NgxMatSelectSearchModule,\r\n ContentLoaderModule,\r\n \r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n PdQuestionAssessedSummaryPage,\r\n PdQuestionAssessedDailyPurchasePage,\r\n PdQuestionAssessedImagesPage\r\n \r\n ],\r\n providers: [\r\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\r\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\r\n {\r\n provide:HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: IonicErrorHandler\r\n },LaunchNavigator,\r\n AwsServiceProvider,\r\n QuestionCategoryProvider,\r\n CameraProvider,Camera,\r\n PdPipe,LocationAccuracy,\r\n LoadingProvider,Geolocation,\r\n DatabaseProvider\r\n ]\r\n})\r\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { Nav, Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { MethodCall } from '@angular/compiler';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport {AlertController} from 'ionic-angular'\r\nimport { platformBrowser } from '@angular/platform-browser';\r\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n userDetails: any;\r\n userAccess:boolean = false;\r\n @ViewChild(Nav) nav: Nav;\r\n\r\n rootPage: any = LoginPage;\r\n public alertShown:boolean=false\r\n\r\n pages: Array<{title: string,icon:any, method: any}>;\r\n\r\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider\r\n ,public alertCtrl:AlertController) {\r\n this.initializeApp();\r\n\r\n // used for an example of ngFor and navigation\r\n this.pages = [ \r\n // { title: 'Home', component: HomePage, icon: 'home' },\r\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\r\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\r\n ];\r\n\r\n\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n // Okay, so the platform is ready and our plugins are available.\r\n // Here you can do any higher level native things you might need.\r\n this.statusBar.styleDefault();\r\n if (this.platform.is('android')) {\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n \r\n }\r\n this.splashScreen.hide();\r\n\r\n this.shared.getAccessToken().then(()=>{\r\n this.getuserDetails();\r\n this.rootPage = AuthPage\r\n }).catch(()=>{\r\n setTimeout(() => {\r\n this.rootPage = LoginPage;\r\n }, 1000);\r\n });\r\n \r\n });\r\n this.platform.registerBackButtonAction(()=>{\r\n if(this.nav.length()==1){\r\n if(this.alertShown==false){\r\n //this.presentConfirm(); \r\n let alert=this.alertCtrl.create({\r\n title:'Confirm Exit',\r\n message:'Do You Want Exit ?',\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.platform.exitApp();\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n this.alertShown=true\r\n }\r\n }\r\n else{\r\n this.nav.pop()\r\n }\r\n });\r\n }\r\n\r\n presentConfirm(){\r\nlet alert=this.alertCtrl.create({\r\n title:'Confirm Exit',\r\n message:'Do You Want Exit ?',\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n // this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.platform.exitApp();\r\n }\r\n }\r\n ]\r\n});\r\n alert.present();\r\n // this.alertShown=true;\r\n }\r\n getuserDetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.userAccess = true;\r\n this.userDetails = this.userDetails.records[0];\r\n \r\n }\r\n \r\n });\r\n }\r\n menulist(id){\r\n //alert();\r\n switch(id)\r\n {\r\n case 1:\r\n this.nav.setRoot(PdListPage);\r\n break;\r\n case 2:\r\n this.AWS.logout().subscribe(()=>{\r\n \r\n this.nav.setRoot(LoginPage);\r\n });\r\n break;\r\n case 3:\r\n break;\r\n case 4:\r\n break;\r\n}\r\n}\r\n logout()\r\n {\r\n // this.aws.logout();\r\n this.nav.setRoot(LoginPage);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\r\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n \r\n constructor() { \r\n\r\n \r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // // if (this.shared.getToken()) {\r\n // alert(\"if\");\r\n // // this.router.navigate(['']);\r\n // return true\r\n // } else {\r\n // alert(\"else\");\r\n // this.router.navigate(['/login']);\r\n // return false;\r\n // }\r\n // }\r\n getlogin(){\r\n // if (this.shared.getToken()) {\r\n // // alert(\"if\");\r\n // //alert();\r\n // return true;\r\n // } else {\r\n // // alert(\"else\");\r\n \r\n // //this.myGlobalServiceNav.setRoot(LoginPage);\r\n // this.shared.isloggin = false;\r\n // return false;\r\n \r\n \r\n // }\r\n }\r\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n \r\n \r\n // }\r\n\r\n // public getToken(): string {\r\n // return localStorage.getItem('token');\r\n // }\r\n\r\n // public logOut() {\r\n // localStorage.clear();\r\n // if(localStorage.getItem('token') === null){\r\n // this.router.navigate(['/login']);\r\n // }\r\n // }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\n// import { AuthGuard } from './auth.guard';\r\nimport { Observable, of} from 'rxjs';\r\n\r\n// import { Router } from '@angular/router';\r\n\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor{\r\n constructor(public shared:CognitoServiceProvider ) {\r\n \r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // request = request.clone({\r\n // setHeaders: {\r\n // Authorization: `${this.auth.getToken()}`\r\n // }\r\n // });\r\n let token:any;\r\n this.shared.refresh();\r\n token = this.shared.getToken() || null;\r\n \r\n token = token.getIdToken().getJwtToken();\r\n \r\n //console.log(token);\r\n let requests = request.clone({\r\n headers:new HttpHeaders({\r\n \r\n 'Authorization': 'sparqvenba2018',\r\n 'Token':token,\r\n 'From':'1',\r\n \r\n \r\n }) \r\n \r\n });\r\n \r\n return next.handle(requests).pipe(\r\n catchError(this.handleError('role', []))\r\n )\r\n }\r\n\r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n if(error instanceof HttpErrorResponse){\r\n console.error(\"Error: \" + error.status);\r\n if(error.status == 401){\r\n localStorage.clear();\r\n // this.router.navigate(['/authentication/login']);\r\n }\r\n return of(result as T);\r\n }\r\n };\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\r\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the GoogleplaytabPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-googleplaytab',\r\n templateUrl: 'googleplaytab.html',\r\n})\r\nexport class GoogleplaytabPage {\r\n\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= true;\r\n isLeft:boolean= true;\r\n tabs:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\r\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n \r\n}\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n\r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n\r\n this.isLeft=false;\r\n this.isRight=false;\r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n \r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the PdAllocationPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-allocation',\r\n templateUrl: 'pd-allocation.html',\r\n})\r\nexport class PdAllocationPage {\r\npdFullDetails:any = [];\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n \r\n this.pdFullDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdFullDetails);\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdAllocationPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business',\r\n templateUrl: 'pd-question-business.html',\r\n})\r\nexport class PdQuestionBusinessPage {\r\n pdDetails:any;\r\n pdid:any;\r\n users:any;\r\n FormId:any;\r\n existCompanyList:any=[]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=this.aws.getlocale\r\n\r\n this.getDropDown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\r\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\r\n console.log(this.existCompanyList);\r\n })\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionSalaryInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-salary-info',\r\n templateUrl: 'pd-question-salary-info.html',\r\n})\r\nexport class PdQuestionSalaryInfoPage {\r\n\r\n salaryDetails:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.salaryDetails = this.fb.group(\r\n {\r\n gross:[null],\r\n netTakeHome:[null],\r\n bounsIncentive:[null],\r\n salaryDate:[null],\r\n anydelays:[null], \r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","import { Injectable } from '@angular/core';\r\n\r\n// import { CanActivateChild, Router } from '@angular/router';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\n\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { BehaviorSubject,Observable,of } from 'rxjs';\r\n\r\nconst sineedge_poolData = { \r\n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\r\n};\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"\",\r\n ClientId: \"\"\r\n}\r\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"\";\r\n// serviceProvider\r\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\r\n// const apiurl = \"http://localhost/sparqapi/api/\";\r\n\r\n@Injectable()\r\n\r\nexport class CognitoServiceProvider {\r\n public loggedIn :boolean = false;\r\n // public static _REGION = environment.region;\r\n\r\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\r\n // public static _USER_POOL_ID = environment.UserPoolId;\r\n // public static _CLIENT_ID = environment.ClientId;\r\n\r\n // public static _POOL_DATA: any = {\r\n // UserPoolId: CognitoService._USER_POOL_ID,\r\n // ClientId: CognitoService._CLIENT_ID\r\n // };\r\n \r\n\r\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\r\nisloggin:boolean = false; \r\n\r\n\r\n \r\n\r\n \r\n constructor() { \r\n \r\n }\r\n getCurrentUser() {\r\n \r\n return sineedgedevUserpool.getCurrentUser();\r\n}\r\n get isLoggedIn() {\r\n if(sineedgedevUserpool.getCurrentUser() !=null){\r\n this.loggedIn = true;\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n return this.loggedIn; // {2}\r\n }\r\n \r\nrefresh() {\r\n let tokenexp:boolean;\r\n \r\n if(this.getCurrentUser() !=null){\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n }\r\n\r\n else {\r\n if (session.isValid()) {\r\n tokenexp = session.isValid();\r\n of(tokenexp)\r\n console.log(\"CognitoUtil: refreshed successfully\");\r\n \r\n } else {\r\n tokenexp = session.isValid();\r\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\r\n \r\n }\r\n }\r\n \r\n return tokenexp;\r\n \r\n });\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n}\r\ngetAccessToken(){\r\n this.refresh();\r\n return new Promise((resolve, reject) => {\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n //console.log(JSON.stringify(this.getCurrentUser()));\r\n // console.log('76 if');\r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n jwttoken ='';\r\n // console.log('81 if')\r\n reject(err);\r\n }\r\n else {\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n resolve();\r\n } else {\r\n \r\n }\r\n }\r\n });\r\n }\r\n else {\r\n //console.log(\"else\");\r\n reject();\r\n }\r\n});\r\n}\r\n\r\ngetToken():any {\r\n let isloggin = false;\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n isloggin = false;\r\n //console.log('81 if')\r\n }\r\n else {\r\n //alert('function else');\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n isloggin = true;\r\n } else {\r\n \r\n isloggin = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // console.log(\"else\");\r\n isloggin = false;\r\n }\r\n return jwttoken;\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { Component,ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { InputPage } from '../input/input';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { parseDate } from 'ionic-angular/util/datetime-util';\r\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\r\nimport { OtpPage } from '../otp/otp';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { DatabaseProvider } from '../../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n/**\r\n * Generated class for the PdListPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-list',\r\n templateUrl: 'pd-list.html',\r\n})\r\nexport class PdListPage {\r\n\r\n @ViewChild('slider') slider:Slides;\r\n searchinprogress: any;\r\n searchpast: any;\r\n pdschduleDetails: any;\r\n bgColorPast: any = [];\r\n bgColor: any = [];\r\n pdinprogress: any=[];\r\n pdlistdetails: any=[];\r\n viewchange: boolean;\r\n pdlist:any = \"0\";\r\n pdlistaccess:boolean = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\r\n //this.getlenderpddetails(); \r\n // this.getpdTriggerdetails();\r\n \r\n }\r\n selectedTab(ind)\r\n {\r\n this.slider.slideTo(ind)\r\n }\r\n moveButton(event){\r\n this.pdlist=event._snapIndex.toString();\r\n }\r\n\r\n ionViewDidLoad() {\r\n \r\n console.log('ionViewDidLoad PdListPage');\r\n this.db.getuserDetails();\r\n this.setpermission();\r\n }\r\n ionViewCanEnter()\r\n {\r\n console.log(\"Pd list ionViewCanEnter\")\r\n this.getpdTriggerdetails();\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n this.pdinprogress = this.pdinprogress;\r\n this.pdschduleDetails = this.pdschduleDetails;\r\n }\r\n \r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n \r\n this.pdinprogress = this.searchinprogress;\r\n this.pdschduleDetails = this.searchpast;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n \r\n if(this.pdlist == \"inpro\"){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n this.pdinprogress = this.searchinprogress.filter((v) => {\r\n if (v.applicat_details !== undefined && v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1 || v.city_name != null && v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n \r\n return ;\r\n }else{\r\n this.pdschduleDetails = this.searchpast.filter((v) => {\r\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\r\n || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1|| v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n })\r\n }\r\n \r\n}\r\n}\r\n newpage(){\r\n this.navCtrl.push(InputPage);\r\n }\r\n getpdTriggerdetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n //.log(\"User\",userid)\r\n this.pdlistaccess = true;\r\n\r\n this.pdofficer.getpddetails(userid).subscribe(res=>\r\n {\r\n this.pdlistdetails = res;\r\n if(this.pdlistdetails.dataStatus == true)\r\n {\r\n this.pdlistaccess = false;\r\n \r\n this.pdschduleDetails = this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" || sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\" || sch.pd_status ==\"INPROGRESS\" && sch.applicat_details);\r\n this.searchpast = this.pdschduleDetails;\r\n \r\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\r\n this.searchinprogress = this.pdinprogress;\r\n \r\n this.random_bg_color();\r\n this.random_ng_past();\r\n }else\r\n {\r\n this.pdlistaccess = false;\r\n this.pdlistdetails = \"No Records Found\";\r\n }\r\n })\r\n }\r\n\r\n random_bg_color() {\r\n for(let id of this.pdinprogress){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n \r\n return this.bgColor;\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.pdschduleDetails){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n doRefresh(refresher) {\r\n this.bgColor = [];\r\n this.pdschduleDetails = [];\r\n this.pdinprogress = [];\r\n // this.pdlistaccess = true;\r\n this.shared.refresh();\r\n this.getpdTriggerdetails();\r\n setTimeout(() => {\r\n \r\n refresher.complete();\r\n }, 2000);\r\n }\r\n \r\n PdAllocation(pddetails)\r\n {\r\n \r\n if(pddetails.pd_status == 'STARTED')\r\n {\r\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\r\n }else if(pddetails.pd_status == 'INPROGRESS'){\r\n this.navCtrl.push(PdQuestionCategoryPage,{'pdDetails':pddetails});\r\n }else{\r\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\r\n }\r\n }\r\n\r\n setpermission()\r\n {\r\n // let permission = this.androidPermissions.PERMISSION; \r\n // let premission_list = [\r\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\r\n // permission.CAMERA,\r\n\r\n\r\n // ];\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n\r\n\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { CognitoServiceProvider } from './cognito.service';\r\nimport { ConstantsProvider } from '../constants/constants';\r\nimport { UrlResolver } from '@angular/compiler';\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"ap-south-1_K57yPaWxV\",\r\n ClientId: \"\"\r\n}\r\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\r\n\r\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Injectable()\r\nexport class AwsServiceProvider {\r\napiurl:any;\r\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\r\n this.apiurl = con.apiurl();\r\n }\r\n\r\n dologin(authenticationData) {\r\n // alert();\r\n //(authenticationData);\r\n const authenticationDetails = new AuthenticationDetails(authenticationData);\r\n let Newpassword = authenticationData.newpassword;\r\n let attributesData = [];\r\n const userData = {\r\n Username: authenticationData.Username, // User email id\r\n Pool: sineedgedevUserpool // user Pool ID\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observer => {\r\n cognitoUser.authenticateUser(authenticationDetails, {\r\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \r\n cognitoUser.completeNewPasswordChallenge(\r\n Newpassword,\r\n attributesData,\r\n {\r\n onSuccess: function (result) {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n onFailure: function (err) {\r\n //(err);\r\n observer.error(err);\r\n //LoginComponent.prototype.open();\r\n }\r\n }\r\n );\r\n },\r\n onSuccess: function (result) { // success user login\r\n // let accessToken = result.getAccessToken().getJwtToken();\r\n ////(result);\r\n //window.localStorage.setItem('Currentuser', '1');\r\n observer.next(result);\r\n observer.complete();\r\n this.shared.isloggin = true;\r\n },\r\n onFailure: function (err) { // error user login\r\n\r\n //alert(err.message);\r\n observer.error(err);\r\n }\r\n });\r\n });\r\n }\r\n userforgotpass(auth) {\r\n ////(auth);\r\n const userData = {\r\n Username: auth.Username,\r\n Pool: sineedgedevUserpool\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observe => {\r\n cognitoUser.forgotPassword({\r\n onSuccess: function (data) {\r\n // successfully initiated reset password request\r\n //('CodeDeliveryData from forgotPassword: ' + data);\r\n observe.next(data);\r\n },\r\n onFailure: function (err) {\r\n alert(err.message || JSON.stringify(err));\r\n },\r\n //Optional automatic callback\r\n inputVerificationCode: function (data) {\r\n //('Code sent to: ' + data);\r\n var verificationCode = prompt('Please input verification code ', '');\r\n var newPassword = prompt('Enter new password ', '');\r\n cognitoUser.confirmPassword(verificationCode, newPassword, {\r\n onSuccess() {\r\n //('Password confirmed!');\r\n },\r\n onFailure(err) {\r\n //('Password not confirmed!');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n /**\r\n * End of the function \r\n */\r\n\r\n /**\r\n * Logout function\r\n */\r\n logout(){\r\n \r\n return Observable.create(observe=>{\r\n this.shared.getCurrentUser().signOut(); \r\n \r\n observe.next();\r\n \r\n observe.complete();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Config function\r\n */\r\n // getconfig() {\r\n // let session:any = this.shared.getAccessToken() || \"\";\r\n \r\n // let config = \"\";\r\n // config += AWS.config.region = \"ap-south-1\";\r\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\r\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\r\n // Logins: {\r\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\r\n // .getIdToken()\r\n // .getJwtToken()\r\n // }\r\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\r\n // });\r\n // return config;\r\n // }\r\n\r\n getlocale(){\r\n let session:any = this.shared.getToken() || null;\r\n let userid = session.idToken.payload.locale;\r\n return userid;\r\n }\r\n getuserprofile(userid)\r\n {\r\n \r\n \r\n // alert();\r\n \r\n //console.log(cogusers.idToken.payload.locale);\r\n let roles = {'userid':userid}; \r\n \r\n \r\n // let request = new RequestOptions({headers:headers});\r\n return this.http.post(this.apiurl+'getUsersDetails',roles);\r\n \r\n }\r\n\r\n userpinupdate(pin)\r\n {\r\n let userid = this.getlocale(); \r\n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\r\n let formdata = new FormData();\r\n \r\n formdata.append('records',JSON.stringify(records));\r\n return this.http.post(this.apiurl+'updateExistUser',formdata);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {ConstantsProvider} from '../constants/constants';\r\n\r\n/*\r\n Generated class for the PdtriggerProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\r\n@Injectable()\r\nexport class PdtriggerProvider {\r\n apiurl:any;\r\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\r\n this.apiurl = constants.apiurl();\r\n console.log('Hello PdtriggerProvider Provider');\r\n }\r\n\r\n \r\n\r\n /**get dropdonw list */\r\n\r\n /**Get list of PD Trigger */\r\n\r\n getpddetails(userid)\r\n { \r\n console.log(userid);\r\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\r\n }\r\n\r\n getFullPDdetails(pdid)\r\n {\r\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\r\n }\r\n\r\n updatepdStatus(dataStatus)\r\n {\r\n let records = {'records':dataStatus};\r\n return this.http.post(this.apiurl+'updatePDMaster',records);\r\n }\r\n\r\n saveCurrentLocation(data)\r\n {\r\n let records = {'records':data};\r\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\r\n }\r\n\r\n checkotp(otpDetails)\r\n {\r\n\r\n let records = {'records':otpDetails};\r\n \r\n return this.http.post(this.apiurl+'checkOTP',records); \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Toast, ToastController,AlertController} from 'ionic-angular';\r\n\r\n/*\r\n Generated class for the ToastProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ToastProvider {\r\n\r\n constructor(public http: HttpClient,public toast:ToastController,private alertCtrl:AlertController) {\r\n console.log('Hello ToastProvider Provider');\r\n }\r\n pdTriggerappmessage(mess){\r\n let valalert = this.toast.create({\r\n message:mess, \r\n duration: 3000, \r\n position: 'bottom',\r\n dismissOnPageChange: true,\r\n });\r\n\r\n valalert.present();\r\n} \r\nsetAlert(title_name,msg){\r\n \r\n\r\nlet alert=this.alertCtrl.create({\r\n title:title_name,\r\n message:msg,\r\n cssClass:'buttoncss',\r\n buttons:[{\r\n text:'Yes',\r\n cssClass:'btnYes',\r\n handler:()=>{\r\n alert.dismiss('s')\r\n return false\r\n }\r\n },\r\n {\r\n text:'No',\r\n cssClass:'btnNo',\r\n handler:()=>{\r\n alert.dismiss(false)\r\n return false\r\n }\r\n }]\r\n});\r\n//alert.present()\r\nreturn alert\r\n\r\n}\r\nsetAlertForDocName(){\r\n \r\n let alert=this.alertCtrl.create({\r\n title:'Document Name',\r\n message: 'Please Enter the Document Name',\r\n cssClass:'prompt_alert',\r\n inputs:[\r\n {\r\n name:'Name',\r\n //value:this.imageBucket[index].Name\r\n placeholder:'Document Name'\r\n }\r\n ],\r\n buttons:[\r\n {\r\n text:'Submit',\r\n handler:data=>{\r\n console.log(data.Name)\r\n alert.dismiss(data.Name)\r\n }\r\n }\r\n ]\r\n })\r\n //alert.present();\r\n //this.inputFocus.setFocus();\r\n\r\nreturn alert\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../../src/providers/question-category/question-category.ts","../../src/pages/pd-question-category/pd-question-category.ts","../../src/providers/constants/constants.ts","../../src/pages/otp/otp.ts","../../src/providers/storage/storage.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","../../src/pipes/rupee-currency-format/rupee-currency-format.ts","../../src/providers/common-provider/camera.ts","../../node_modules/@angular/core/esm5 lazy","../../src/providers/common-provider/loading.ts","../../src lazy","../../src/pages/login/login.ts","../../src/pages/input/input.ts","../../src/pages/pd-question/pd-question.ts","../../src/pages/pd-question/pd-question-address/pd-question-address.ts","../../src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","../../src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","../../src/pages/pd-question/pd-question-loans/pd-question-loans.ts","../../src/pages/pd-question/pd-question-banking/pd-question-banking.ts","../../src/pages/pd-question/pd-question-family/pd-question-family.ts","../../src/pages/pd-question/pd-question-assests/pd-question-assests.ts","../../src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","../../src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","../../src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","../../src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","../../src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","../../src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","../../src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","../../src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","../../src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","../../src/pages/pd-question/pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase.ts","../../src/pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary.ts","../../src/pages/pd-question/pd-question-assessed-images/pd-question-assessed-images.ts","../../src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","../../src/pipes/pd/pd.ts","../../src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","../../src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash.ts","../../src/pages/pd-general-images/pd-general-images.ts","../../src/pages/input/bounced-reject/bounced-reject.ts","../../src/providers/database/database.ts","../../src/pages/password/password.ts","../../src/pages/auth/auth.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/_guard/auth.guard.ts","../../src/providers/_guard/token.interceptor.ts","../../src/pages/googleplaytab/googleplaytab.ts","../../src/pages/pd-allocation/pd-allocation.ts","../../src/pages/pd-question/pd-question-business/pd-question-business.ts","../../src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","../../src/providers/aws-service/cognito.service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/aws-service/aws-service.ts","../../src/providers/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAkD;AACP;AACgB;AAE3D;;;;;EAKE;AAEF;IAEE,kCAAmB,IAAgB,EAAQ,QAA0B;QAAlD,SAAI,GAAJ,IAAI,CAAY;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QACnE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAGD,kDAAe,GAAf,UAAgB,IAAI;QAElB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAC,yBAAyB,GAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,+CAAY,GAAZ,UAAa,QAAQ;QAEjB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,CAAC,QAAQ,CAAC,EAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAGD,oDAAiB,GAAjB,UAAkB,WAAW;QAE3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,gDAAa,GAAb,UAAc,SAAS;QAEnB,IAAI,OAAO,GAAG,EAAC,aAAa,EAAC,SAAS,EAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,2CAAQ,GAAR,UAAS,OAAO;QACd,IAAI,MAAM,GAAG,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,mBAAmB,EAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,8CAAW,GAAX,UAAY,OAAO;QAEjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,kBAAkB,EAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,+BAA+B;IAC/B,oDAAiB,GAAjB,UAAkB,GAAG,EAAC,QAAQ;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,GAAG,EAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,sDAAmB,GAAnB,UAAoB,GAAG,EAAC,OAAO;QAE7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,GAAG,EAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,oDAAiB,GAAjB,UAAkB,QAAa;QAC7B,iDAAiD;QACjD,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,EAAC,sBAAsB,EAAE,QAAQ,EAAC,CAAC;IAGtG,CAAC;IAED,mDAAgB,GAAhB,UAAiB,IAAQ,EAAC,UAAU;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAE,iBAAiB,EAAC,EAAE,SAAS,EAAC,EAAE,OAAO,EAAG,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,EAAC,CAAC;IACvH,CAAC;IACD,+DAA4B,GAA5B,UAA6B,IAAQ;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAE,8BAA8B,EAAE,EAAE,SAAS,EAAC,EAAE,OAAO,EAAG,IAAI,EAAC,EAAC,CAAC;IACzG,CAAC;IACD,qDAAkB,GAAlB,UAAmB,OAAW;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,0BAA0B,EAAE,EAAE,SAAS,EAAC,EAAE,UAAU,EAAG,OAAO,EAAC,EAAC,CAAC;IAC5G,CAAC;IACD,oDAAiB,GAAjB,UAAkB,IAAQ;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,EAAC,OAAO,EAAG,IAAI,EAAC,CAAC;IAEjF,CAAC;IACD,sDAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,uBAAuB,EAAC,EAAE,CAAC;IACtE,CAAC;IACD,gEAA6B,GAA7B,UAA8B,IAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,+BAA+B,EAAC,EAAE,OAAO,EAAG,IAAI,EAAC,CAAC;IAE7F,CAAC;IAGD,uEAAoC,GAApC,UAAqC,KAAU,EAAC,UAAc;QAC5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,mCAAmC,EAAE,EAAC,SAAS,EAAE,EAAE,OAAO,EAAG,KAAK,EAAC,YAAY,EAAC,UAAU,EAAE,EAAC,CAAC,CAAC;IACxI,CAAC;IAED;;QAEI;IACJ,kDAAe,GAAf,UAAgB,IAAS,EAAC,SAAc;QACtC,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,EAAC,OAAO,EAAG,IAAI,EAAE,YAAY,EAAC,SAAS,EAAE,CAAC,CAAC;IACjH,CAAC;IAID,oBAAoB;IACpB,+CAAY,GAAZ,UAAa,aAAa;QAEtB,IAAI,MAAM,GAAG,EAAC,SAAS,EAAC,aAAa,EAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,cAAc,EAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,8CAAW,GAAX,UAAY,OAAO;QACjB,IAAI,MAAM,GAAC,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,aAAa,EAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,mDAAgB,GAAhB,UAAiB,IAAQ;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,kBAAkB,EAAC,EAAC,OAAO,EAAC,IAAI,EAAC,CAAC;IAC3E,CAAC;IACD,oDAAiB,GAAjB,UAAkB,IAAQ;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,cAAc,EAAC,EAAC,OAAO,EAAC,IAAI,EAAC,CAAC;IACvE,CAAC;IACD,8DAA2B,GAA3B,UAA4B,MAAU;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,6BAA6B,EAAC,EAAC,SAAS,EAAC,MAAM,EAAC,CAAC;IAC1F,CAAC;IAtHY,wBAAwB;QADpC,yEAAU,EAAE;yCAGc,wEAAU,EAAiB,+EAAiB;OAF1D,wBAAwB,CAuHpC;IAAD,+BAAC;CAAA;AAvHoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXgB;AACI;AAEsC;AACV;AACzB;AAEU;AACO;AACL;AACxB;AAC+C;AACE;AACe;AACvB;AAEM;AACH;AACG;AACc;AAC8B;AAC3B;AACkB;AACY;AACT;AAGrB;AACwB;AAC3B;AACM;AACN;AAEK;AACa;AAC/H;;;;;GAKG;AACH,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAOrE;IAmBE,gCAAmB,OAAsB,EAAS,SAAoB,EAAQ,WAAoC,EAAQ,GAAsB,EAAS,MAA6B,EAAQ,KAAmB,EAAQ,eAAiC;QAAvO,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,gBAAW,GAAX,WAAW,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAuB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,oBAAe,GAAf,eAAe,CAAkB;QAd1P,oBAAe,GAAM,EAAE,CAAC;QACxB,mBAAc,GAAM,EAAE,CAAC;QAMzB,uBAAkB,GAAW,IAAI,CAAC;QAClC,yBAAoB,GAAM,EAAE,CAAC;QAC7B,cAAS,GAAK,EAAE,CAAC;QACjB,8BAAyB,GAAW,IAAI,CAAC;QAKrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAGnD,CAAC;IAED,gDAAe,GAAf;QAEE,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,kBAAkB;IAClB,IAAI;IACJ,wEAAwE;IAExE,wBAAwB;IACxB,cAAc;IACd,6EAA6E;IAC7E,uBAAuB;IACvB,mCAAmC;IACnC,0BAA0B;IAC1B,kCAAkC;IAClC,gDAAgD;IAChD,6CAA6C;IAC7C,gDAAgD;IAChD,gDAAgD;IAChD,iDAAiD;IACjD,+CAA+C;IAC/C,kBAAkB;IAClB,sCAAsC;IACtC,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,gBAAgB;IAChB,aAAa;IACb,QAAQ;IAER,MAAM;IACN,IAAI;IACJ,+CAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,gDAAe,GAAf;QAAA,iBAsEC;QApEC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAEhE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,CACxC,CAAC;gBAEC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,sFAAsF;gBACtF,IAAI;gBACJ,oCAAoC;gBACpC,gCAAgC;gBAChC,2CAA2C;gBAC3C,0FAA0F;gBAC1F,8DAA8D;gBAE9D,uNAAuN;gBACvN,IAAI;gBACJ,4CAA4C;gBAC5C,QAAQ;gBACR,IAAI;gBACJ,2CAA2C;gBAC3C,IAAI;gBAMJ,SAAS;gBACT,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,cAAc,IAAE,EAAE,CAAC,CACxC,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY;oBACrC,KAAI,CAAC,SAAS,GAAC,KAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,YAAY,IAAE,IAAI,EAAtB,CAAsB,CAAE,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;oBAEtC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,cAAc;oBAC1D,gCAAgC;oBAChC,WAAW;oBACX,IAAI;oBACJ,IAAI,QAAQ,GAAC,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,UAAU,IAAI,IAAI,EAAtB,CAAsB,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC;oBAC/B,EAAE,EAAC,QAAQ,CAAC,MAAM,IAAI,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAC;wBAC3C,KAAI,CAAC,yBAAyB,GAAE,IAAI,CAAC;oBACvC,CAAC;oBACD,IAAI,EAAC;wBACH,KAAI,CAAC,yBAAyB,GAAC,KAAK;oBACtC,CAAC;oBAGC,uNAAuN;oBACvN,IAAI;oBACJ,4CAA4C;oBAC5C,QAAQ;oBACR,IAAI;oBACJ,2CAA2C;oBAC3C,IAAI;gBACJ,CAAC;gBACD,IAAI,CACJ,CAAC;oBACC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,KAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IAEN,CAAC;IACD,+CAAc,GAAd;QAEI,GAAG,EAAW,UAAkC,EAAlC,SAAI,CAAC,YAAY,CAAC,gBAAgB,EAAlC,cAAkC,EAAlC,IAAkC;YAA5C,IAAI,EAAE;YACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAEhE;QACD,GAAG,EAAW,UAAgC,EAAhC,SAAI,CAAC,YAAY,CAAC,cAAc,EAAhC,cAAgC,EAAhC,IAAgC;YAA1C,IAAI,EAAE;YACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAEjE;IACH,CAAC;IACH,6CAAY,GAAZ,UAAa,UAAU;QAErB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,uBAAuB,IAAI,UAAU,EAA1C,CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,iDAAiD;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gFAAc,EAAC,EAAC,iBAAiB,EAAC,IAAI,CAAC,YAAY,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAElG,QAAQ;QACR,IAAI;QACJ,4BAA4B;QAC5B,6DAA6D;QAC7D,IAAI;IACN,CAAC;IAED,+CAAc,GAAd,UAAe,UAAU;QAExB,oCAAoC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,OAAO,GAAE,IAAI,CAAC,YAAY,CAAC,oBAAoB;QACnD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAC,OAAO;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,OAAO,IAAE,UAAU,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,EAAE,EAAC,UAAU,IAAG,CAAC,CAAC,CAClB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAErF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,EAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QACzF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8GAAmB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QACrF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qIAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA2B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAG7F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEvF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iHAAoB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEtF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAG,CAAC,CAAC,EAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEvF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kIAAyB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC3F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gKAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qIAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uJAAuB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEzF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mKAA2B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE7F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAG,CAAC,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0JAAwB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC1F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAG,EAAE,CAAC,CACzB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uJAAwB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE1F,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qIAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6JAAkC,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEpG,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kIAAyB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC3F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA2B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kIAAyB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IACD,uCAAM,GAAN,UAAO,IAAI;QACT,EAAE,EAAC,CAAC,IAAI,CAAC,EAAC;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAAA,IAAI,EAAC;YACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,yBAAyB;IAC3B,CAAC;IACD,6CAAY,GAAZ,UAAa,SAAS;QACpB,2CAA2C;QAC3C,0DAA0D;QAC1D,yCAAyC;QACzC,4CAA4C;QAC5C,sCAAsC;QACtC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/B,yDAAyD;QACvD,EAAE,EAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,EAAC;YACtC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACR,2EAA2E;gBAC3E,uEAAuE;gBACvE,uBAAuB;gBACvB,QAAQ;gBACR,KAAK;YACP,CAAC;QACD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACR,yEAAyE;gBACzE,mEAAmE;gBACnE,uBAAuB;gBACvB,QAAQ;gBACR,OAAO;YACL,CAAC;QACD,CAAC;IACH,CAAC;IACC,0CAAS,GAAT;QAAA,iBAuBD;QArBG,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACjC,EAAE,EAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAC;YAClC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,EAAC;YACL,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,cAAc,EAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YAEjI,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEjD,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC;gBAC3B,EAAE,EAAC,KAAI,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAC3C,CAAC;oBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC;oBAC3D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;oBACnC,CAAC,EAAC,IAAI,CAAC,CAAC;gBAGV,CAAC;YACL,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IACC,0CAAS,GAAT,UAAU,SAAS;QACjB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,UAAU,CAAC;YACT,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAjUU,sBAAsB;QAJlC,wEAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;WACG;SACzC,CAAC;+BAoB0P;OAnB/O,sBAAsB,CAkUlC;IAAD,CAAC;AAAA;SAlUY,sBAAsB,iB;;;;;;;;;;;;;;;;;;;;AChDe;AACP;AAE3C;;;;;EAKE;AAEF;IAEE,2BAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAD9B,gBAAW,GAAG,kDAAkD,CAAC;QAEpE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED,kCAAM,GAAN;QAEE,IAAI,UAAU,GAAG,wCAAwC,CAAC;QAC1D,IAAI,eAAe,GAAC,6CAA6C,CAAC;QAClE,IAAI,cAAc,GAAG,4CAA4C,CAAC;QAClE,IAAI,SAAS,GAAG,uCAAuC,CAAC;QACxD,IAAI,WAAW,GAAG,kCAAkC,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC;IACxB,CAAC;IAED,0CAAc,GAAd;QAEE,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAClF,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,GAAC,GAAG,GAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,GAAC,GAAG,GAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5E,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,WAAW,GAAG,IAAI,GAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,gDAAoB,GAApB,UAAqB,KAAK;QACxB,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAC3F,QAAQ,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,EACzH,SAAS,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAErG,WAAW,GAAG,UAAS,GAAG,EAAE,OAAO;YAC/B,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAChF,CAAC,EACD,WAAW,GAAG,UAAS,GAAG,EAAE,MAAM,EAAE,KAAK;YACrC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE,CAAC;QAC7G,CAAC,CAAC;QAEF,IAAI,GAAG,GAAG,EAAE,EACR,QAAQ,GAAG,CAAC,EACZ,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,CAAC,EACZ,KAAK,GAAG,EAAE,CAAC;QACf,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,GAAG,GAAG,EAAE,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,EAAE;gBAC5D,MAAM,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;oBACzH,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC7C,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC1I,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;wBACrD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;wBACjD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;wBAClD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,KAAK,CAAC;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAMvJ,CAAC;YACD,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,mFAAmF;QACvF,CAAC;QAAC,IAAI;YAAC,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG;QAEd,2BAA2B;QAC3B,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;QACxB,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;QACzB,yBAAyB;QACzB,2BAA2B;QAC3B,0BAA0B;QAC1B,0BAA0B;QAC1B,wBAAwB;QACxB,wBAAwB;QACxB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,yBAAyB;QACzB,wBAAwB;QACxB,wBAAwB;QACxB,8BAA8B;QAC9B,iCAAiC;QACjC,6CAA6C;QAC7C,gCAAgC;QAChC,sBAAsB;QACtB,yBAAyB;QACzB,uBAAuB;QACvB,8DAA8D;QAC9D,0CAA0C;QAC1C,2CAA2C;QAC3C,qDAAqD;QACrD,QAAQ;QACR,2DAA2D;QAC3D,4CAA4C;QAC5C,QAAQ;QACR,gDAAgD;QAChD,sDAAsD;QACtD,qCAAqC;QACrC,0DAA0D;QAC1D,kCAAkC;QAClC,gBAAgB;QAChB,YAAY;QACZ,QAAQ;QACR,kBAAkB;QAClB,oCAAoC;QACpC,sDAAsD;QACtD,uCAAuC;QACvC,mBAAmB;QACnB,kCAAkC;QAClC,YAAY;QACZ,4BAA4B;QAC5B,kDAAkD;QAClD,YAAY;QACZ,yFAAyF;QACzF,yCAAyC;QACzC,YAAY;QACZ,yFAAyF;QACzF,wCAAwC;QACxC,YAAY;QACZ,yFAAyF;QACzF,2CAA2C;QAC3C,YAAY;QACZ,sFAAsF;QACtF,8CAA8C;QAC9C,6CAA6C;QAC7C,0CAA0C;QAC1C,YAAY;QACZ,QAAQ;QACR,yDAAyD;QACzD,IAAI;QACJ,uBAAuB;IAC3B,CAAC;IACD,0BAA0B;IAC1B,sCAAU,GAAV,UAAW,IAAI,EAAC,GAAQ,EAAC,MAAM;QAC3B,IAAI,SAAa;QAClB,iCAAiC;QAChC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACV,MAAM;QACR,CAAC;QACD,IAAI,SAAS,GAAG,GAAG;QACnB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAChB,kDAAkD;YACjD,SAAS,GAAC,IAAI,CAAC,KAAK,EAAE;YACtB,MAAM,CAAC,SAAS;QAElB,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE;QACrC,CAAC;QACD,EAAE,EAAC,MAAM,IAAI,MAAM,CAAC,EAAC;YACjB,SAAS,GAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAArD,CAAqD,CAAC;YACnF,MAAM,CAAC,SAAS;QACpB,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,IAAI,MAAM,CAAC,EAAC;YACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC;YACxB,SAAS,GAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAnD,CAAmD,CAAC;YAC/E,MAAM,CAAC,SAAS;QAClB,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,IAAI,KAAK,CAAC,EAAC;YACvB,SAAS,GAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAjD,CAAiD,CAAC;YAC7E,MAAM,CAAC,SAAS;QAClB,CAAC;QACD,IAAI,EAAC;YACH,4BAA4B;YAC5B,SAAS,GAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAA9C,CAA8C,CAAC;YAC5E,MAAM,CAAC,SAAS;QAClB,CAAC;QACD,2BAA2B;QAC3B,uFAAuF;QACvF,IAAI;IACN,CAAC;IAnNU,iBAAiB;QAD7B,yEAAU,EAAE;yCAGc,wEAAU;OAFxB,iBAAiB,CAoN7B;IAAD,wBAAC;CAAA;AApN6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVY;AACgD;AAClB;AACc;AAChB;AACE;AACK;AACkB;AAC3B;AACZ;AACe;AAEvE;;;;;GAKG;AAOH;IAgBE,iBAAmB,OAAsB,EAAS,SAAoB,EAAQ,SAA2B,EAAQ,KAAmB,EAAQ,IAAmB,EAAQ,cAAgC,EAAQ,GAAsB,EAAQ,SAAyB,EAAQ,OAAgC,EAAQ,EAAc,EAAQ,WAAuB,EAAQ,kBAAqC;QAA7X,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,cAAS,GAAT,SAAS,CAAkB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAe;QAAQ,mBAAc,GAAd,cAAc,CAAkB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAgB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,gBAAW,GAAX,WAAW,CAAY;QAAQ,uBAAkB,GAAlB,kBAAkB,CAAmB;QAVhZ,YAAO,GAAY,IAAI,CAAC;QAIxB,oBAAe,GAAW,IAAI,CAAC;QAG/B,YAAO,GAAM,EAAE,CAAC;QAId,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC7B;YACE,MAAM,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,aAAa,EAAC,CAAC,IAAI,CAAC;SACrB,CAAC;QAEJ,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,gCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,iCAAe,GAAf;QACE,0BAA0B;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElB,CAAC;IAED,+BAAa,GAAb;QAAA,iBAeC;QAbC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACrG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAApG,CAAoG,CAC5G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjK,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,IAAI,CACnG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAlG,CAAkG,CAC1G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACzJ,CAAC;IACD,kCAAgB,GAAhB;QACE,yBAAyB;QACzB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,6BAAW,GAAX;QAAA,iBAWC;QATC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YAEpD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;YAEhC,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IACD,0BAAQ,GAAR,UAAS,GAAG;QAAZ,iBAgBC;QAdC,wBAAwB;QACtB,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YAEvC,wBAAwB;YACxB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,EAAE,EAAC,KAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CACrC,CAAC;gBACC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,KAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;YACrF,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IAED,uBAAK,GAAL,UAAM,SAAS;QAAf,iBA4DC;QA3DC,0BAA0B;QAC1B,IAAI,CAAC,GAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,GAAO,SAAS,GAAG,EAAE,CAAC;QAE3B,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChC,SAAS,IAAG,CAAC,CAAC;QACd,kCAAkC;QAClC,EAAE,EAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAK,UAAU,CAAC;gBAC1B,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC,EAAE,IAAI,CAAC,CAAC;YACP,MAAM,CAAC;QACT,CAAC;QAED,EAAE,EAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,yBAAyB;YACzB,MAAM,CAAC;QACT,CAAC;QAED,wBAAwB;QAExB,IAAI,IAAQ,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,sBAAsB;oBAE5B,OAAO,EAAE;wBAEP,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC/B,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE;wBAEP,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;4BAC9C,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;4BAC1E,IAAI,GAAG,EAAC,OAAO,EAAC,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,cAAc,EAAC,KAAI,CAAC,KAAK,EAAC,MAAM,EAAC,mBAAmB,EAAC,CAAC;4BAC5L,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC3B,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gCAE7C,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BACjB,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACK,8BAA8B;oBAElC,CAAC;iBACA;aAEF;SAEF,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,+BAAa,GAAb;QAAA,iBAqBC;QAnBC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CACzB,CAAC;YACG,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,CAAC;YACxK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEvC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,EAAE,EAAC,KAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CACrC,CAAC;oBACC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,KAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;gBACrF,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,2DAA2D;gBAC7D,CAAC;YACH,CAAC,CAAC;QACN,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IA7KU,OAAO;QAJnB,wEAAS,CAAC;YACT,QAAQ,EAAE,UAAU;WACG;SACxB,CAAC;gBAiBgZ;OAhBrY,OAAO,CA+KnB;IAAD,CAAC;AAAA;SA/KY,OAAO,e;;;;;;;;;;;;;;;;;;;;;;ACxB8B;AACP;AACL;AACgB;AAEtD;;;;;EAKE;AACF,gCAAgC;AAGhC;IAEE,yBAAmB,IAAgB,EAAQ,OAAe,EAAQ,KAAmB;QAAlE,SAAI,GAAJ,IAAI,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAQ;QAAQ,UAAK,GAAL,KAAK,CAAc;QACnF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IACH,oCAAU,GAAV,UAAW,IAAI;QAAf,iBA8CC;QA7CC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAM,WAAW,GAAC,IAAI,CAAC,KAAK;QAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC;YACtB,EAAE,EAAC,GAAG,IAAI,IAAK,CAAC,EAAC;gBACf,IAAI,MAAM,GAAS,KAAK;gBACxB,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,EAAC;oBACpD,2BAA2B;oBAC3B,uCAAuC;oBACvC,oBAAoB;oBACpB,QAAQ;oBACR,KAAK;oBACL,IAAI,OAAO,GAAC,GAAG,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,OAAO,IAAE,IAAI,CAAC,OAAO,EAAzB,CAAyB,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;oBAC/B,EAAE,EAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;wBACrB,IAAI,KAAK,GAAK,EAAE;wBAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;wBAChB,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAK,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBACM,IAAI,QAAQ,GAAK,EAAE;gBAClB,QAAQ,GAAC,GAAG;gBACb,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,QAAQ,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,QAAQ,CAAC;YAEhD,CAAC;YACD,IAAI,EAAC;gBACH,gBAAgB;gBAChB,qDAAqD;gBACrD,sBAAsB;gBACtB,KAAK;gBACL,IAAI,KAAK,GAAK,EAAE;gBAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChB,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAK,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;IAIJ,CAAC;IACD,8CAAoB,GAApB,UAAqB,IAAI;QACvB,IAAM,WAAW,GAAC,IAAI,CAAC,KAAK;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAG;YAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,GAAG,CAAC;YAC9B,EAAE,EAAC,GAAG,IAAI,IAAI,CAAC,EAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,OAAO,IAAE,IAAI,CAAC,OAAO,EAAzB,CAAyB,CAAC;YACjD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA5DY,eAAe;QAD3B,yEAAU,EAAE;yCAGc,wEAAU,EAAgB,+DAAO,EAAc,6EAAa;OAF1E,eAAe,CA6D3B;IAAD,sBAAC;CAAA;AA7D2B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdc;AACe;AACU;AACgB;AACkB;AACzB;AACD;AACE;AAC7E;;;;;GAKG;AAOH;IAsBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAS,EAAe,EACpF,GAAuB,EAAS,OAAiC,EAChE,KAAoB,EAAS,cAA6B,EAAS,OAAuB;QAFrG,iBAuDC;QAvDkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,OAAE,GAAF,EAAE,CAAa;QACpF,QAAG,GAAH,GAAG,CAAoB;QAAS,YAAO,GAAP,OAAO,CAA0B;QAChE,UAAK,GAAL,KAAK,CAAe;QAAS,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QAfrG,mCAA8B,GAAQ,EAAE,CAAC;QACzC,6BAAwB,GAAQ,EAAE,CAAC;QACnC,gBAAW,GAAQ,EAAE,CAAC;QACtB,kBAAa,GAAQ,EAAE,CAAC;QACxB,8BAAyB,GAAQ,EAAE,CAAC;QAEpC,mBAAc,GAAY,KAAK,CAAC;QACzB,cAAS,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAQ,EAAE,CAAC;QAEvB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAS,GAAG,CAAC;QAkEhB,wBAAmB,GAAY,KAAK,CAAC;QAsHrC,sBAAiB,GAAY,KAAK,CAAC;QAenC,gBAAW,GAAY,KAAK,CAAC;QAiN7B,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAY,KAAK,CAAC;QACnC,eAAU,GAAQ,EAAE,CAAC;QACrB,eAAU,GAAQ,EAAE,CAAC;QApZnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YAErG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAEpB,IAAI,OAAK,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzB,KAAI,CAAC,mBAAmB,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC;gBACjD,KAAI,CAAC,8BAA8B,GAAG,OAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,OAAI,IAAI,CAAC,QAAQ,UAAjB,CAAkB,CAAC,CAAC;gBACpK,wJAAwJ;gBAExJ,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBAC7D,MAAM,CAAC,OAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACnD,CAAC;wBACH,CAAC;wBAED,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACnD,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,KAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,wBAAwB,CAAC,CAAC;YAErF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,CAAC;QACH,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,0CAA0C,CAAC;QACjE,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAGD,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAID,wDAAmB,GAAnB,UAAoB,MAAM;QAA1B,iBAmHC;QAlHC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CACxC,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;oBAC3B,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBACpC,IAAI,EAAE,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5B,MAAM,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC;wBACtB,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,yBAAyB,EAAE,CAAC,QAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,6FAA6F;wBAC7F,6CAA6C;wBAC7C,MAAM;wBACN,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;4BAC9C,IAAI,sBAAsB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;4BAElF,KAAI,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;4BAC9D,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mDAAmD,IAAI,IAAI,CAAC,CAAC;wBACjP,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;4BAC5C,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvJ,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,yFAAyF;wBACzF,2CAA2C;wBAC3C,MAAM;wBACN,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;4BACtC,IAAI,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BACtE,KAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;4BACtD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;wBAC7N,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;4BACtC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC9I,CAAC;oBACH,CAAC;oBACD,IAAI,MAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,MAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAClC,CAAC;oBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBACpC,IAAI,EAAE,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5B,MAAM,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC;wBACtB,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,yBAAyB,EAAE,CAAC,QAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;wBAC5C,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACxJ,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;wBACtC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;oBAC5M,CAAC;oBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,IAAI,EAAE,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBAC5B,MAAM,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC;oBACtB,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;oBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;oBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,yBAAyB,EAAE,EAAE;oBAC7B,8EAA8E;iBAC/E,CAAC,CAAC;gBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxJ,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;gBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBACtC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9I,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAClC,CAAC;gBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,aAAG;QAEN,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,8DAAyB,GAAzB,UAA0B,GAAG;QAC3B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,mDAAmD,EAAE,EAAE;aACxD,CAAC;YACF,IAAI;QACN,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,wDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;QAC7F,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iDAAiD,EAAE,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAED,qEAAgC,GAAhC,UAAiC,KAAK;QAAtC,iBAUC;QATC,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjI,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8DAAyB,GAAzB,UAA0B,OAAO;QAC/B,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,+BAA+B,EAAE,CAAC,EAAE,CAAC;gBACrC,2BAA2B,EAAE,CAAC,EAAE,CAAC;gBACjC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,wBAAwB,EAAE,CAAC,EAAE,CAAC;gBAC9B,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,mCAAmC,EAAE,CAAC,EAAE,CAAC;gBACzC,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,wGAAwG;gBACxG,eAAe,EAAE,CAAC,EAAE,CAAC;aAGtB,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,+BAA+B,EAAE,CAAC,OAAO,CAAC,+BAA+B,IAAI,IAAI,CAAC;gBAClF,2BAA2B,EAAE,CAAC,OAAO,CAAC,2BAA2B,IAAI,IAAI,CAAC;gBAC1E,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;gBACpE,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,IAAI,IAAI,CAAC;gBACtF,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,IAAI,IAAI,CAAC;gBACxG,2EAA2E;gBAC3E,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,IAAI,IAAI,CAAC;gBAChF,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,IAAI,IAAI,CAAC;gBAC5E,mCAAmC,EAAE,CAAC,OAAO,CAAC,mCAAmC,IAAI,IAAI,CAAC;gBAC1F,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,wGAAwG;gBACxG,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;aAEnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+DAA0B,GAA1B,UAA2B,KAAK;QAAhC,iBAWC;QAVC,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEvH,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wDAAmB,GAAnB,UAAoB,OAAO;QACzB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,wBAAwB,EAAE,CAAC,EAAE,CAAC;gBAC9B,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,cAAc,EAAE,CAAC,IAAI,CAAC;gBACtB,wGAAwG;gBACxG,eAAe,EAAE,CAAC,IAAI,CAAC;gBACvB,wGAAwG;gBACxG,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC,EAAE,CAAC,EAAE,CAAC;gBACzC,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAChD,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAChD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBAC5D,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAClD,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;gBAC9E,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;gBAChG,2EAA2E;gBAC3E,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,wGAAwG;gBACxG,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC1C,wGAAwG;gBACxG,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,mCAAmC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;gBAClF,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC;gBACxE,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEjI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,uDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEvH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,yDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACvH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAGD,gDAAW,GAAX;QAAA,iBAkBC;QAhBC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChD,uCAAuC;YACvC,iIAAiI;QACnI,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC5C,cAAI;YACF,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,cAAI;YACF,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,qDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAkBC;QAhBC,IAAI,gBAAgB,GAAG,UAAU,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QAEhH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,mBAAS;YACzD,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC/B,KAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;gBACxC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,8DAAyB,GAAzB,UAA0B,KAAK,EAAE,CAAC,EAAE,IAAI;QACtC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACjB,0FAA0F;YAC1F,gIAAgI;YAChI,+EAA+E;QACjF,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACjB,wFAAwF;YACxF,8HAA8H;YAC9H,6EAA6E;QAC/E,CAAC;IACH,CAAC;IAMD,8CAAS,GAAT,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK;QACtB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAEhD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IAClD,CAAC;IAED,yDAAoB,GAApB,UAAqB,KAAK,EAAE,CAAC,EAAE,IAAI;QACjC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACX,0FAA0F;gBAC1F,wFAAwF;YAC1F,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACnE,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9D,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjE,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACX,sFAAsF;YACxF,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACnE,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9D,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjE,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IAEA,iBAAiB;IACjB,gDAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,+CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,wDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,8CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,uDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,4CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,8CAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YACjC,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA7iBQ,0BAA0B;QALtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;4NAwB6D,CAAiC;YAC/E,kLAAoC,6FAAwB;YACzD,aAAa,EAAwB,QAA8C;OAxB1F,0BAA0B,CA+iBtC;IAAD,CAAC;AAAA;SA/iBY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBG;AACe;AAC4C;AAClB;AACP;AACT;AACW;AACnC;AACZ;AAC4C;AACE;AAC7E;;;;;GAKG;AAOH;IAqCE,iCAAmB,OAAsB,EAAS,SAAoB,EAAS,OAAiC,EACvG,GAAuB,EAAS,KAAoB,EAAS,EAAe,EAC5E,QAA2B,EAAS,cAA6B,EAAS,OAAuB;QAF1G,iBA+BC;QA/BkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,YAAO,GAAP,OAAO,CAA0B;QACvG,QAAG,GAAH,GAAG,CAAoB;QAAS,UAAK,GAAL,KAAK,CAAe;QAAS,OAAE,GAAF,EAAE,CAAa;QAC5E,aAAQ,GAAR,QAAQ,CAAmB;QAAS,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QA3B1G,iBAAY,GAAQ,EAAE,CAAC;QACvB,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,wBAAmB,GAAQ,EAAE,CAAC;QAC9B,8BAAyB,GAAQ,EAAE,CAAC;QACpC,8BAAyB,GAAQ,EAAE,CAAC;QACpC,mBAAc,GAAQ,EAAE,CAAC;QACzB,mBAAc,GAAQ,EAAE,CAAC;QACzB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,oBAAe,GAAQ,EAAE,CAAC;QAC1B,wBAAmB,GAAY,KAAK,CAAC;QACrC,4BAAuB,GAAQ,EAAE,CAAC;QAClC,mCAA8B,GAAQ,EAAE,CAAC;QACzC,sCAAiC,GAAQ,EAAE,CAAC;QAC5C,6BAAwB,GAAQ,EAAE,CAAC;QAEzB,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QAE3C,kBAAa,GAAY,KAAK,CAAC;QAC/B,kBAAa,GAAY,KAAK;QACvB,qBAAgB,GAAQ,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,EAAC,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,EAAC,EAAC,KAAK,EAAC,gBAAgB,EAAC,cAAc,EAAC,qCAAqC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC;QACzN,qBAAgB,GAAQ,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,KAAK,EAAC,gBAAgB,EAAC,cAAc,EAAC,qCAAqC,EAAC,UAAU,EAAC,KAAK,EAAC,CAAC,CAAC;QAEtO,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAS,GAAG,CAAC;QA+PhB,sBAAiB,GAAY,KAAK,CAAC;QAyBnC,eAAU,GAAY,KAAK,CAAC;QAuB5B,gBAAW,GAAY,KAAK,CAAC;QAoV7B,8BAAyB,GAAQ,EAAE,CAAC;QACpC,yBAAoB,GAAQ,EAAE,CAAC;QAC/B,uBAAkB,GAAQ,EAAE,CAAC;QAC7B,0BAAqB,GAAQ,EAAE,CAAC;QAEhC,oBAAe,GAAQ,EAAE,CAAC;QAC1B,oBAAe,GAAQ,EAAE,CAAC;QAC1B,oBAAe,GAAQ,EAAE,CAAC;QAC1B,oBAAe,GAAQ,EAAE,CAAC;QAroBxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YACrE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC5B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC;gBAClC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0DAA0D,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC;gBAC7G,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,yDAAyD,GAAG,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3G,MAAM,CAAC;YACT,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0DAA0D,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC;gBAC7G,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,yDAAyD,GAAG,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3G,MAAM,CAAC;YACT,CAAC;QACH,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6EAA6E,CAAC,CAAC;YAC9G,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,0CAA0C,CAAC;QACjE,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,gDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEM,+CAAa,GAApB,UAAqB,MAAM;QAA3B,iBAyMC;QAxMC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC3D,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;YAC/E,IAAI,aAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACrF,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;YAC/E,IAAI,aAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACrF,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;YAC/E,IAAI,aAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAGrF,IAAI,QAAM,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC;YAE1G,IAAI,MAAM,GAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YACzB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAK;gBAC9C,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAI,UAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;oBAChC,gDAAgD;oBAChD,uDAAuD;oBACvD,0BAA0B;oBAC1B,OAAO;oBACP,sDAAsD;oBACtD,0BAA0B;oBAC1B,OAAO;oBACP,KAAK;oBACL,EAAE,CAAC,CAAC,UAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;wBAC3B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;4BAC7B,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;4BACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;4BAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;4BAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;4BAC1B,aAAa,EAAE,CAAC,UAAQ,CAAC,aAAa,CAAC;4BAEvC,kDAAkD;4BAClD,sDAAsD;4BACtD,uCAAuC,EAAE,CAAC,UAAQ,CAAC,uCAAuC,CAAC;4BAC3F,iCAAiC,EAAE,CAAC,UAAQ,CAAC,iCAAiC,CAAC;4BAE/E,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,EAAC,aAAW,CAAC,CAAC,CAAC;4BAC1F,cAAc,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,aAAW,CAAC,CAAC,CAAC;4BACrE,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,aAAW,CAAC,CAAC,CAAC;yBACtE,CAAC,CAAC;wBACH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BACnB,GAAG,CAAC,OAAO,CAAC,aAAG;gCACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,sHAAsH;wCACtH,IAAI,qBAAqB,GAAG,EAAE,CAAC;wCAC/B,qBAAqB,CAAC,6BAA6B,CAAC,GAAG,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;wCACrH,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;4CAC3J,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;wCAChK,qBAAqB,CAAC,8BAA8B,CAAC,GAAG,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;wCACvH,KAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;oCACvD,CAAC;gCACH,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,iDAAiD;wCACjD,IAAI,cAAc,GAAG,EAAE,CAAC;wCACxB,cAAc,CAAC,qBAAqB,CAAC,GAAG,UAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;wCAEvF,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;oCACzC,CAAC;gCACH,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,iDAAiD;wCACjD,IAAI,eAAe,GAAG,EAAE,CAAC;wCACzB,eAAe,CAAC,sBAAsB,CAAC,GAAG,UAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;wCACzF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;wCACrC,KAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;oCAC3C,CAAC;gCACH,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oCAClC,CAAC;gCACH,CAAC;4BACH,CAAC,CAAC,CAAC;4BACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,CAAC;wBACJ,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;4BAC7B,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;4BACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;4BAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;4BAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;4BAC1B,aAAa,EAAE,CAAC,EAAE,CAAC;4BACnB,0BAA0B;4BAC1B,4BAA4B;4BAC5B,uCAAuC,EAAE,CAAC,EAAE,CAAC;4BAC7C,iCAAiC,EAAE,CAAC,EAAE,CAAC;4BACvC,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,EAAC,aAAW,CAAC,CAAC,CAAC;4BAC1F,cAAc,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,aAAW,CAAC,CAAC,CAAC;4BACrE,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,aAAW,CAAC,CAAC,CAAC;yBACtE,CAAC,CAAC;wBACH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BACnB,GAAG,CAAC,OAAO,CAAC,aAAG;gCACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,iDAAiD;wCACjD,KAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,QAAQ,CAAC;wCAC7C,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;wCACpC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC;4CACzK,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;oCAC1K,CAAC;gCACH,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,iDAAiD;wCACjD,KAAI,CAAC,8BAA8B,GAAG,GAAG,CAAC,QAAQ,CAAC;wCACnD,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oCAC/B,CAAC;gCACH,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,iDAAiD;wCACjD,KAAI,CAAC,iCAAiC,GAAG,GAAG,CAAC,QAAQ,CAAC;wCACtD,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oCAChC,CAAC;gCACH,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wCACjB,iDAAiD;wCACjD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oCAClC,CAAC;gCACH,CAAC;4BACH,CAAC,CAAC,CAAC;4BACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAC7B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAC7B,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,aAAa,EAAE,CAAC,EAAE,CAAC;wBAEnB,0BAA0B;wBAC1B,4BAA4B;wBAC5B,uCAAuC,EAAE,CAAC,EAAE,CAAC;wBAC7C,iCAAiC,EAAE,CAAC,EAAE,CAAC;wBAEvC,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,EAAC,aAAW,CAAC,CAAC,CAAC;wBAC1F,cAAc,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,aAAW,CAAC,CAAC,CAAC;wBAErE,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,aAAW,CAAC,CAAC,CAAC;qBACtE,CAAC,CAAC;oBACH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,GAAG,CAAC,OAAO,CAAC,aAAG;4BACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oCACjB,iDAAiD;oCACjD,KAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,QAAQ,CAAC;oCAC7C,KAAI,CAAC,uBAAuB,GAAG,QAAM,CAAC;oCACtC,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oCACpC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oCAC7G,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACjH,CAAC;4BACH,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oCACjB,iDAAiD;oCACjD,KAAI,CAAC,8BAA8B,GAAG,GAAG,CAAC,QAAQ,CAAC;oCACnD,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gCAC/B,CAAC;4BACH,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oCACjB,iDAAiD;oCACjD,KAAI,CAAC,iCAAiC,GAAG,GAAG,CAAC,QAAQ,CAAC;oCACtD,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gCAChC,CAAC;4BACH,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oCACjB,iDAAiD;oCACjD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gCAClC,CAAC;4BACH,CAAC;wBACH,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0DAA0D,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7G,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,yDAAyD,GAAG,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3G,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAKD,6CAAW,GAAX;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC/B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAAjE,CAAiE,CAAC,CAAC;gBAChH,KAAI,CAAC,YAAY,GAAC,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,2DAAyB,GAAzB,UAA0B,MAAM,EAAC,MAAM;QACrC,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC;QAC1G,oCAAoC;QACpC,+BAA+B;QAC/B,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,EAAE;gBACrB,mBAAmB,EAAE,EAAE;gBACvB,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,EAAE;gBACrB,mBAAmB,EAAE,EAAE;gBACvB,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAChD,CAAC;YACF,UAAU;QACZ,CAAC;IACH,CAAC;IAGD,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,8DAA8D;QAC9D,IAAI,GAAG,GAAG,GAAG;QACb,oCAAoC;QACpC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,iCAAiC;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,SAAS;YACT,6BAA6B;YAC7B,YAAY;YACZ,MAAM;QACR,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,UAAU;QACZ,CAAC;IACH,CAAC;IAGD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,GAAG,GAAG;QACb,8DAA8D;QAE9D,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAEZ,kCAAkC;YAElC,8BAA8B;YAC9B,YAAY;YACZ,IAAI;YACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;YACH,UAAU;QACZ,CAAC;IACH,CAAC;IAED,0DAAwB,GAAxB,UAAyB,KAAK;QAA9B,iBAsEC;QArEC,IAAM,WAAW,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QACvI,IAAM,aAAa,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QAC1I,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC1H,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAG;oBACtC,IAAI,gBAAgB,GAAQ;wBAC1B,UAAU,EAAE,GAAG;wBACf,gBAAgB,EAAE,EAAE;wBACpB,cAAc,EAAE,EAAE;wBAClB,SAAS,EAAE,EAAE;wBACb,WAAW,EAAE,EAAE;wBACf,WAAW,EAAE,EAAE;wBACf,mBAAmB,EAAE,EAAE;wBACvB,qBAAqB,EAAE,EAAE;qBAC1B,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,aAAG;oBACvC,IAAI,kBAAkB,GAAQ;wBAC5B,YAAY,EAAE,GAAG;wBACjB,gBAAgB,EAAE,EAAE;wBACpB,gBAAgB,EAAE,EAAE;wBACpB,WAAW,EAAE,EAAE;wBACf,iBAAiB,EAAE,EAAE;wBACrB,aAAa,EAAE,EAAE;wBACjB,qBAAqB,EAAE,EAAE;wBACzB,uBAAuB,EAAE,EAAE;qBAC5B,CAAC;oBACF,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,IAAI,SAAS,CAAC,CAAC,CAAC;gBACnD,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;oBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;wBAClB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBACxC,CAAC;oBACD,qDAAqD;oBACrD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjD,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,IAAI,SAAS,CAAC,CAAC,CAAC;gBACpD,KAAK,CAAC,4BAA4B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;oBACpD,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;wBACpB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC1C,CAAC;oBACD,uDAAuD;oBACvD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjD,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE5C,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,OAAO;QACvB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,SAAS,EAAC,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,mBAAmB,EAAE,CAAC,EAAE,CAAC;aAC1B,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC5B,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,YAAY,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;gBACpC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1B,SAAS,EAAC,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC9B,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC9B,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;aACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAqCC;QApCC,IAAM,WAAW,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACxH,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,iCAAiC;gBACjC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,aAAG;oBAC7C,IAAI,eAAe,GAAQ;wBACzB,mBAAmB,EAAE,GAAG;wBACxB,uBAAuB,EAAE,EAAE;wBAC3B,uBAAuB,EAAE,EAAE;wBAC3B,kBAAkB,EAAE,EAAE;wBACtB,wBAAwB,EAAE,EAAE;wBAC5B,8BAA8B,EAAE,EAAE;wBAClC,4BAA4B,EAAE,EAAE;wBAChC,sBAAsB,EAAE,EAAE;qBAC3B,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC5C,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;oBAC3C,EAAE,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;wBACrC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3D,CAAC;oBACD,8DAA8D;oBAC9D,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBACxD,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAGD,6CAAW,GAAX,UAAY,OAAO;QACjB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,SAAS,EAAC,CAAC,IAAI,CAAC;gBAChB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,qBAAqB,EAAE,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;gBAChC,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC9B,SAAS,EAAC,CAAC,IAAI,CAAC;gBAChB,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC1C,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBAClC,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAClD,qBAAqB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;aACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAqCC;QApCC,IAAM,WAAW,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACxH,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,aAAG;oBAChD,IAAI,eAAe,GAAQ;wBACzB,mBAAmB,EAAE,GAAG;wBACxB,uBAAuB,EAAE,EAAE;wBAC3B,uBAAuB,EAAE,EAAE;wBAC3B,kBAAkB,EAAE,EAAE;wBACtB,wBAAwB,EAAE,EAAE;wBAC5B,8BAA8B,EAAE,EAAE;wBAClC,4BAA4B,EAAE,EAAE;wBAChC,sBAAsB,EAAE,EAAE;qBAC3B,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QAEH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC7C,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;oBAC5C,EAAE,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;wBACrC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3D,CAAC;oBACD,+DAA+D;oBAC/D,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBACxD,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,OAAO;QACvB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,qBAAqB,EAAE,CAAC,EAAE,CAAC;gBAC3B,qBAAqB,EAAE,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBACtB,SAAS,EAAC,CAAC,IAAI,CAAC;gBAChB,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5B,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,oBAAoB,EAAE,CAAC,EAAE,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,qBAAqB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACtD,qBAAqB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACtD,gBAAgB,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5C,SAAS,EAAC,CAAC,IAAI,CAAC;gBAChB,sBAAsB,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBACxD,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;gBACpE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,oBAAoB,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;aACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,iDAAe,GAAf,UAAgB,IAAI;QAClB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,oDAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI;QAC5B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,0CAAQ,GAAR,UAAS,IAAI;QACX,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;YACpI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,6CAAW,GAAX,UAAY,KAAK,EAAE,IAAI;QACrB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;YACpI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gDAAc,GAAd,UAAe,IAAI;QACjB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC;YACR,CAAC;YACD,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;MAGE;IACF,mDAAiB,GAAjB,UAAkB,KAAK,EAAE,IAAI;QAC3B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACpH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACxB,KAAK,CAAC;YACR,CAAC;YACD,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACpH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACxB,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;QAED,qEAAqE;IAEvE,CAAC;IAWD,+CAAa,GAAb,UAAc,KAAK,EAAE,IAAI,EAAE,KAAK;QAEhC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAEd,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAErD,IAAI,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,aAAa,GAAG,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;YAEvD,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;YACrC,EAAE,EAAC,UAAU,GAAG,CAAC,CAAC,EAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzC,mFAAmF;YACrF,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,CAAC,CAAC,EAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,UAAU,CAAC,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC1C,iGAAiG;YACnG,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QACnF,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAEvD,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;QACrC,EAAE,EAAC,UAAU,GAAG,CAAC,CAAC,EAAC;YACjB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;YAC3C,mFAAmF;QACrF,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,CAAC,CAAC,EAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,UAAU,CAAC,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5C,iGAAiG;QACnG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,4BAA4B;QAC5B,sFAAsF;QACtF,IAAI;IAEN,CAAC;IAGD,gCAAgC;IAChC,+CAAa,GAAb,UAAc,gBAAgB;QAA9B,iBA4BC;QA3BC,oCAAoC;QACpC,8CAA8C;QAC9C,6DAA6D;QAC7D,6CAA6C;QAC7C,kEAAkE;QAClE,sCAAsC;QACtC,SAAS;QACT,MAAM;QACN,4CAA4C;QAC5C,4DAA4D;QAC5D,iCAAiC;QACjC,SAAS;QACT,MAAM;QACN,OAAO;QACP,IAAI;QACJ,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QAChH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,mBAAS;YACzD,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC/B,KAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;gBACjC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAO,GAAP,UAAQ,CAAC,EAAE,IAAY,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,KAAK,CAAC;gBACJ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClE,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC1E,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC1E,KAAK,CAAC;YACR;gBACE,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IACD,2CAAS,GAAT,UAAU,OAAO,EAAC,KAAK;QAAvB,iBAQC;QAPC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY;aACzC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC,SAAS,CAAC;YACT,KAAI,CAAC,YAAY,GAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAI,CAAC,OAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAC,EAAE,CAAC;QACjG,CAAC,CAAC;IAEJ,CAAC;IACA,iBAAiB;IACjB,6CAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,4CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,qDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,2CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,yCAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,2CAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YACjC,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA53BQ,uBAAuB;QAJnC,wEAAS,CAAC;YACT,QAAQ,EAAE,6BAA6B;WACG;SAC3C,CAAC;mMAsC4B,qEAAiC,CAAmD;YAClG,0FAAkB,0FAA6B,EAAa,4FAAW;YAClE,iBAAiB,EAAwB,CAA8C;OAvC/F,uBAAuB,CA83BnC;IAAD,CAAC;AAAA;SA93BY,uBAAuB,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBwB;AACH;AACuB;AACP;AACyB;AACtB;AACD;AACA;AACE;AAC7E;;;;;GAKG;AAQH;IAuCE,qCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EACzE,KAAmB,EAAS,OAAgC,EAC5D,EAAc,EAAQ,IAAsB,EAAS,cAA6B,EACjF,OAAuB;QAHhC,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QACzE,UAAK,GAAL,KAAK,CAAc;QAAS,YAAO,GAAP,OAAO,CAAyB;QAC5D,OAAE,GAAF,EAAE,CAAY;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAAS,mBAAc,GAAd,cAAc,CAAe;QACjF,YAAO,GAAP,OAAO,CAAgB;QAhCnD,0BAAqB,GAAY,EAAE;QACnC,2BAAsB,GAAM,EAAE;QAC9B,yBAAoB,GAAM,EAAE;QAC5B,0BAAqB,GAAM,EAAE;QAC7B,2BAAsB,GAAM,EAAE;QAC9B,yBAAoB,GAAM,EAAE;QAC5B,8BAAyB,GAAM,EAAE;QACjC,6BAAwB,GAAM,EAAE;QAChC,4BAAuB,GAAM,EAAE;QAC/B,2BAAsB,GAAM,EAAE;QAC9B,uBAAkB,GAAM,EAAE;QAC1B,sBAAiB,GAAM,EAAE;QACzB,oBAAe,GAAM,EAAE,CAAC;QACxB,8BAAyB,GAAM,EAAE,CAAC;QAClC,4BAAuB,GAAM,EAAE,CAAC;QAI9B,OAAE,GAAQ,CAAC,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,kBAAkB,EAAC;YAC5C,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,gBAAgB,EAAC;YAC/B,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,mBAAmB,EAAC;YAClC,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,UAAU,EAAC;YACzB,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,WAAW,EAAC;YAC1B,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,YAAY,EAAC;YAC3B,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,QAAQ,EAAC,CAAC;QAExB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAS,GAAG,CAAC;QAMhB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACvC,4CAA4C;QAC5C,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU;QACzC,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAC,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,iBAAiB,EAAE;QACxB,mEAAmE;QACnE,2EAA2E;QAC3E,sFAAsF;QACtF,sHAAsH;QACtH,4BAA4B;QAC5B,6CAA6C;QAC7C,kCAAkC;QAClC,KAAK;QACT,GAAG;IACD,CAAC;IAED,oDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oDAAc,GAAd,UAAe,OAAO,EAAC,KAAK;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,CAAC;QAC1B,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,KAAK,IAAG,KAAK,CAAC,EAAC;YAC5H,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;gBACvH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;gBAClC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAC,OAAO,CAAC;YAC3C,CAAC;QACL,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,KAAK,IAAG,IAAI,CAAC,EAAC;YAC7H,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;gBACnH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;gBAClC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAC,OAAO,CAAC;YAC3C,CAAC;QACL,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,KAAK,IAAG,KAAK,CAAC,EAAC;YAC5H,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;gBACnH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;gBAClC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAC,OAAO,CAAC;YACzC,CAAC;QACL,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,KAAK,IAAG,IAAI,CAAC,EAAC;YAC3H,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;gBAC/G,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAC,OAAO,CAAC;YACzC,CAAC;QACL,CAAC;IACH,CAAC;IACD,uDAAiB,GAAjB,UAAkB,CAAM;QAEtB,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,EAAC;YAEX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEtE,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,IAAI,IAAI,CAAC,EAAC;YAEf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,wCAAwC;YAEvC,IAAM,gBAAgB,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEtF,OAAO,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEjE,qCAAqC;YACrC,0CAA0C;YAC1C,6DAA6D;YAC7D,gCAAgC;QAEpC,CAAC;IAEL,CAAC;IACC,2CAA2C;IAC3C,+DAAyB,GAAzB,UAA0B,CAAM;QAC9B,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,EAAC;YACX,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAE1E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;YAChB,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,8DAAwB,GAAxB,UAAyB,CAAC,EAAC,MAAM;QAE/B,EAAE,EAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YACb,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAGE,kCAAkC;IAClC,sDAAgB,GAAhB,UAAiB,MAAM;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,GAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK;QAChE,EAAE,EAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAC;YACxB,EAAE,EAAC,CAAC,IAAI,CAAC,CAAC,EAAC;gBACP,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACtC,CAAC;YACD,IAAI,EAAC;gBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACrC,CAAC;YAED,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;YAEhF,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAE7E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,EAAE,EAAC,CAAC,GAAG,CAAE,CAAC,EAAC;gBACP,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,IAAG,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC;oBAC1B,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,GAAE,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;QACL,CAAC;IACE,CAAC;IAGF,uDAAiB,GAAjB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,uBAAuB,EAAG,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,oBAAoB,EAAG,CAAC,EAAE,CAAC;YAC3B,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,kBAAkB,EAAC,CAAC,EAAE,CAAC;YACvB,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,6CAA6C,EAAC,CAAC,EAAE,CAAC;YAClD,qCAAqC;YACrC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACrC,CAAC,CAAC;IACH,CAAC;IACD,gDAAU,GAAV,UAAW,IAAI;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvF,qBAAqB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACrF,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,oBAAoB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACtF,kBAAkB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACpF,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,wBAAwB,EAAE,CAAC,EAAE,CAAC;YAC9B,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,+BAA+B,EAAG,CAAC,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IACA,kEAAkE;IAClE,iDAAW,GAAX,UAAY,IAAI;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAEjB,wFAAwF;YACxF,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAC5B,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,+BAA+B,EAAC,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAC/B,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,8BAA8B,EAAC,CAAC,EAAE,CAAC;YACnC,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,2BAA2B,EAAC,CAAC,EAAE,CAAC;YAChC,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACxB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,4BAA4B,EAAC,CAAC,EAAE,CAAC;YACjC,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,iBAAiB,EAAC,CAAC,EAAE,CAAC;YACtB,wBAAwB,EAAC,CAAC,EAAE,CAAC;SAQhC,CAAC,CAAC;IACP,CAAC;IACD,mDAAa,GAAb;QAAA,iBA+CC;QA5CO,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAC;YAE/E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEnG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,eAAe,EAAE,CAAC;YAC1F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEnG,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEnG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7G,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAE3G,CAAC;QACG,IAAI,OAAO,GAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACxC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAG,GAAG,CAAC,EAAC;gBACpB,KAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;gBACrC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;gBAC5D,UAAU,CAAC;oBACP,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACd,CAAC;YACD,IAAI,EAAC;gBACD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,EAAC,aAAG;YACD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC;IACC,gDAAU,GAAV;QAAA,iBAoEC;QAnEC,IAAM,WAAW,GAAY,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9E,uCAAuC;QACvC,IAAM,QAAQ,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC1E,qCAAqC;QACrC,IAAI,MAAM,GAAK,EAAE;QACjB,MAAM,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QACjC,MAAM,CAAC,UAAU,GAAC,IAAI,CAAC,MAAM;QAC7B,MAAM,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU;QACjC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAK;YAC9C,EAAE,EAAC,KAAK,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,IAAI,YAAY,GAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAClC,EAAE,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,uBAAuB,IAAI,KAAK,CAAC,EAAC;oBACpD,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACxE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBACnD,CAAC,CAAC;oBACF,EAAE,EAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAClB,KAAI,CAAC,oBAAoB,GAAC,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAI,IAAI;wBAC5D,MAAM,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;4BACvB,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;4BAC5F,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;4BAC5F,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC;4BACvF,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;wBACH,YAAY,CAAC,kBAAkB,GAAC,MAAM,CAAC;oBACzC,CAAC;oBACD,IAAI,EAAC;wBACH,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBACD,EAAE,EAAC,KAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAC;oBAC7B,EAAE,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,qBAAqB,IAAI,IAAI,CAAC,EAAC;wBACnD,IAAI,UAAU,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;4BAC3E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;wBAC9C,CAAC,CAAC,CAAC;wBACH,EAAE,EAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACtB,UAAU,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gCAC3B,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCACrG,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;gCACrG,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;gCAClG,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCAC/G,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCAC/G,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCAC9G,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;gCACzG,KAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gCAC3G,KAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCAC7G,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCAC5G,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;gCACrG,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;4BACrC,CAAC,CAAC,CAAC;4BACH,YAAY,CAAC,eAAe,GAAC,UAAU;wBACzC,CAAC;wBACD,IAAI,EAAC;4BACH,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACO,YAAY,CAAC,IAAI,GAAC,KAAI,CAAC,SAAS,CAAC,KAAK;gBACtC,YAAY,CAAC,UAAU,GAAC,KAAI,CAAC,UAAU;gBACvC,YAAY,CAAC,YAAY,GAAC,KAAI,CAAC,KAAK;gBACpC,YAAY,CAAC,MAAM,GAAC,KAAI,CAAC,MAAM;gBAC/B,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,yCAAyC;gBACzC,2CAA2C;YAC/C,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAEK;;QAEI;IACJ,sEAAgC,GAAhC;QAEI,IAAI,WAAW,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/E,mCAAmC;QACnC,qCAAqC;QACrC,mCAAmC;QACnC,kCAAkC;QAClC,gCAAgC;QAChC,gCAAgC;QAChC,8BAA8B;QAC9B,8BAA8B;QAC9B,6BAA6B;QAC7B,2BAA2B;QAC3B,IAAI,gBAAgB,GAAS,EAAE,CAAC;QAChC,IAAI,kBAAkB,GAAS,EAAE,CAAC;QAClC,IAAI,gBAAgB,GAAS,EAAE,CAAC;QAChC,IAAI,eAAe,GAAS,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAS,EAAE,CAAC;QAC7B,IAAI,aAAa,GAAS,EAAE,CAAC;QAC7B,IAAI,WAAW,GAAS,EAAE,CAAC;QAC3B,IAAI,WAAW,GAAS,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAS,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAS,EAAE,CAAC;QAExB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;YAEhC,IAAI,UAAU,GAAoB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC;YAEpC;;;eAGG;YAEH,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBACT,EAAE,EAAC,WAAW,IAAI,EAAE,CAAC,EAAC;oBAClB,IAAI,qBAAqB,GAAI,CAAC,CAAE,WAAW,GAAG,gBAAgB,CAAC,GAAC,gBAAgB,CAAC,GAAG,GAAG,CAAE;oBACzF,IAAI,2BAA2B,GAAG,CAAC,qBAAqB,IAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAE,IAAI,GAAG,IAAI,CAAC;oBAC9J,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBAC9F,CAAC;YACT,CAAC;YACD,IAAI,EAAC;gBACG,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3E,CAAC;YAGD,gBAAgB,GAAG,WAAW,CAAC;YAC/B,0LAA0L;YAG1L,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC;YACtC,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC;YAElC;;;eAGG;YACH,EAAE,EAAC,CAAC,UAAU,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5C,EAAE,EAAC,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,EAAC;oBAC3B,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACD,QAAQ,GAAG,GAAG,CAAC,kBAAkB,IAAI,CAAC,GAAG,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC;oBAChG,aAAa,GAAG,aAAa,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAE;oBAE3E,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,GAAG,UAAU,GAAG,QAAQ,CAAE,GAAG,CAAC,eAAe,IAAI,EAAE,GAAG,eAAe,GAAG,aAAa,CAAE,CAAC,GAAE,CAAC,eAAe,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAClN,IAAI,eAAe,GAAG,SAAS,IAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAE;oBAC9G,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAEtE,CAAC;YACb,CAAC;YACD,eAAe,GAAG,GAAG,CAAC,oBAAoB,IAAI,EAAE,GAAG,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAChF,aAAa,GAAG,GAAG,CAAC,kBAAkB,IAAG,EAAE,GAAG,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAE;YAC1E,6IAA6I;YAE7I;;;gBAGI;YACJ,IAAI,oBAAoB,GAAG,GAAG,CAAC,wBAAwB,CAAC;YAExD,EAAE,EAAC,oBAAoB,IAAI,CAAC,CAAC,EAAC;gBAE3B,WAAW,GAAG,EAAE,CAAC;gBACjB,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEzD,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,IAAI,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtD,EAAE,EAAC,CAAC,UAAU,GAAC,CAAC,WAAW,CAAC,EAAC;wBACzB,KAAK,CAAC,qCAAqC,CAAC,CAAC;wBAC7C,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACrD,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC5D,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,EAAC;wBACD,aAAa,GAAG,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC;wBAC7E,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,aAAa,IAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAEtJ,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,oBAAoB,IAAI,CAAC,CAAC,EAAC;gBAC/B,aAAa,GAAG,EAAE,CAAC;gBACnB,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAE5D,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,IAAI,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpD,EAAE,EAAC,CAAC,GAAG,CAAC,kBAAkB,GAAC,CAAC,WAAW,CAAC,EAAC;wBACrC,KAAK,CAAC,mCAAmC,CAAC,CAAC;wBAC3C,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,EAAE,EAAC,CAAC,QAAQ,GAAC,CAAC,WAAW,CAAC,EAAC;wBACvB,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,EAAC;wBAGL,WAAW,GAAG,CAAC,GAAG,CAAC,kBAAkB,GAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAG9E,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE/I,CAAC;gBACL,CAAC;YACL,CAAC;YACL,gFAAgF;YAChF,8CAA8C;YAC9C,kHAAkH;YAClH,wGAAwG;YACxG,mGAAmG;YACnG,kBAAkB,CAAC,KAAK,CAAC,GAAG,aAAa,IAAI,EAAE,GAAG,aAAa,GAAG,CAAC,CAAC;YACpE,gBAAgB,CAAC,KAAK,CAAC,GAAG,WAAW,IAAG,EAAE,GAAG,WAAW,GAAG,CAAC,CAAE;YAG9D,mBAAmB;YAEnB,6PAA6P;YAE7P,yIAAyI;YAEzI,4FAA4F;YAE5F,IAAI;YAEJ,8IAA8I;YAE9I;;gBAEI;YAEJ,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAG3D,oDAAoD;gBACpD,uDAAuD;gBAEvD,mCAAmC;gBAEnC,WAAW,GAAG,WAAW,KAAK,SAAS,GAAI,WAAW,GAAG,CAAC,CAAC;gBAC3D,aAAa,GAAG,aAAa,KAAK,SAAS,GAAG,aAAa,GAAC,CAAC,CAAC;gBAC9D,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK,SAAS,GAAG,gBAAgB,CAAC,KAAK,GAAC,CAAC,CAAC,GAAG,CAAC,CAAE;gBACrG,IAAI,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK,SAAS,GAAG,kBAAkB,CAAC,KAAK,GAAC,CAAC,CAAC,GAAI,CAAC,CAAE;gBAE5G,8CAA8C;gBAC9C,6DAA6D;gBAC7D,0CAA0C;gBAC1C,iEAAiE;gBAGjE,EAAE,EAAC,WAAW,IAAI,EAAE,CAAC,EAAC;oBAGlB,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,GAAG,aAAa,GAAI,WAAW,CAAE,GAAG,CAAC,uBAAuB,IAAI,CAAC,GAAG,uBAAuB,GAAI,qBAAqB,CAAC,CAAC;oBAClJ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACjH,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBAEhB,IAAI,aAAa,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAE;oBAEpG,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACnF,CAAC;YACL,CAAC;YACD,8IAA8I;QAGlJ,CAAC,CAAC,CAAC;IACP,CAAC;IAGH,kDAAY,GAAZ,UAAa,CAAC,EAAE,OAAO;QAErB,IAAI,mBAAmB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC7D,IAAI,iBAAiB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAEzD,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,CAAC,EAAC;YAE1D,EAAE,EAAC,CAAC,mBAAmB,GAAC,CAAC,iBAAiB,CAAC,EAAC;gBAC1C,qDAAqD;gBACrD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,GAAG,CAAC;YAExC,EAAE,EAAC,mBAAmB,IAAI,OAAO,CAAC,EAAC;gBAC/B,EAAE,EAAC,CAAC,GAAG,EAAE,CAAC,EAAC;oBACP,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;oBACpG,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,mBAAmB,GAAG,OAAO,IAAK,mBAAmB,IAAI,QAAQ,CAAC,EAAC;gBACvE,EAAE,EAAC,CAAC,GAAG,EAAE,CAAC,EAAC;oBACP,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;oBACpG,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,mBAAmB,GAAG,QAAQ,CAAC,EAAC;gBACpC,EAAE,EAAC,CAAC,GAAG,EAAE,CAAC,EAAC;oBACP,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;oBACpG,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;YACpG,CAAC;YAED,eAAe;YACf,gEAAgE;YAChE,uBAAuB;YACvB,4EAA4E;YAC5E,aAAa;YACb,2DAA2D;YAC3D,kBAAkB;YAClB,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,sEAAsE;YACtE,IAAI;QACR,CAAC;QACA,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEC,2DAAqB,GAArB,UAAsB,CAAC,EAAE,OAAO;QAE9B,IAAI,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC5D,IAAI,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAExD,EAAE,EAAC,mBAAmB,IAAI,EAAE,IAAK,iBAAiB,IAAI,EAAE,CAAC,EAAC;YAEtD,IAAI,MAAM,GAAG,CAAC,mBAAmB,GAAC,EAAE,CAAC;YAErC,IAAI,KAAK,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAC,MAAM,CAAC;YAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAE9D,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;QAEL,CAAC;QACD,IAAI,EAAC;YACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IAEL,CAAC;IACD,2DAAqB,GAArB,UAAuB,CAAC,EAAE,OAAO;QAE/B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACvB,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC;QACX,CAAC;QACD,IAAI,0BAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;QAC1E,EAAE,EAAC,CAAC,0BAA0B,GAAG,GAAG,CAAC,EAAC;YACnC,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uCAAuC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC;QAEX,CAAC;QAED,IAAI,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;QAEtE,EAAE,EAAC,CAAC,wBAAwB,GAAG,GAAG,CAAC,EAAC;YACjC,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uCAAuC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC;QAEX,CAAC;QAED,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,0BAA0B,IAAI,EAAE,IAAI,wBAAwB,IAAI,EAAE,CAAC,EAAC;YAC3F,EAAE,EAAC,CAAC,0BAA0B,GAAC,CAAC,wBAAwB,CAAC,EAAC;gBACvD,oDAAoD;gBACpD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACxE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC;YACX,CAAC;YAGD,IAAI,cAAc,GAAG,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,GAAC,CAAC,CAAC;YAC/E,IAAI,cAAc,GAAG,CAAC,cAAc,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;YACxD,IAAI,UAAU,GAAI,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,CAAC;YAE1E,EAAE,EAAC,UAAU,GAAG,CAAC,CAAC,EAAC;gBACf,IAAI,CAAC,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC3G,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAClH,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnG,CAAC;gBAAA,IAAI,EAAC;oBACF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC7D,MAAM,CAAC;gBACX,CAAC;YACT,CAAC;YAED,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAC,CAAC,CAAC,CAAC;YAC3G,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAClH,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/F,gFAAgF;YAChF,uFAAuF;QAI3F,CAAC;IAEL,CAAC;IAGD,2DAAqB,GAArB,UAAuB,CAAC,EAAE,OAAO;QAE/B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACpB,6CAA6C;YAC7C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC;QACX,CAAC;QAED,IAAI,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;QACtE,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAElE,EAAE,EAAC,CAAC,sBAAsB,GAAC,CAAC,aAAa,CAAC,EAAC;YAEvC,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,oCAAoC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC;QACX,CAAC;QAGD,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,wBAAwB,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,CAAC,EAAC;YACvF,EAAE,EAAC,CAAC,wBAAwB,GAAC,CAAC,sBAAsB,CAAC,EAAC;gBACnD,oDAAoD;gBACpD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;YAE7C,IAAI,MAAM,GAAG,CAAC,wBAAwB,GAAC,EAAE,CAAC;YAE1C,IAAI,KAAK,GAAG,CAAC,CAAC,wBAAwB,CAAC,GAAC,MAAM,CAAC;YAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;YAExE,EAAE,EAAC,wBAAwB,IAAI,OAAO,CAAC,EAAC;gBACpC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;oBAC1D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;oBACnH,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBACnH,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,wBAAwB,GAAG,OAAO,IAAK,wBAAwB,IAAI,QAAQ,CAAC,EAAC;gBACjF,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;oBAEnH,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBACnH,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YAEL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,wBAAwB,GAAG,QAAQ,CAAC,EAAC;gBACzC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;oBACnH,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBACnH,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBAC/G,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;QAEL,CAAC;IAEL,CAAC;IAED,yDAAmB,GAAnB,UAAqB,CAAC,EAAE,OAAO;QAE3B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACrB,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC;QACX,CAAC;QACD,QAAQ;QACR,IAAI,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;QACtE,EAAE,EAAC,CAAC,wBAAwB,GAAG,GAAG,CAAC,EAAC;YACjC,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC;QAEX,CAAC;QAED,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClE,EAAE,EAAC,CAAC,sBAAsB,GAAG,GAAG,CAAC,EAAC;YAC/B,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uCAAuC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC;QAEX,CAAC;QAGD,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,wBAAwB,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,CAAC,EAAC;YAEvF,EAAE,EAAC,CAAC,wBAAwB,GAAC,CAAC,sBAAsB,CAAC,EAAC;gBAClD,+CAA+C;gBAC/C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC;gBACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3D,MAAM,CAAC;YACX,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,sBAAsB,GAAG,wBAAwB,CAAC,GAAC,CAAC,CAAC;YACzE,IAAI,YAAY,GAAG,CAAC,YAAY,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;YACpD,IAAI,UAAU,GAAI,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;YAErE,4EAA4E;YAC5E,mFAAmF;YAEnF,kGAAkG;YAElG,EAAE,EAAC,UAAU,GAAG,CAAC,CAAC,EAAC;gBACf,IAAI,CAAC,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAE5G,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/F,CAAC;gBAAA,IAAI,EAAC;oBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3D,MAAM,CAAC;gBACX,CAAC;YACT,CAAC;YAED,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC;YACrG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/F,CAAC;IAEL,CAAC;IAGD,yDAAmB,GAAnB,UAAqB,CAAC,EAAE,OAAO;QAE3B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACrB,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC;QACX,CAAC;QAED,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClE,IAAI,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAE9D,EAAE,EAAC,CAAC,oBAAoB,GAAG,CAAC,aAAa,CAAC,EAAC;YAExC,6CAA6C;YAC7C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kCAAkC,CAAC;YAC7D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC;QACX,CAAC;QAGL,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,IAAI,oBAAoB,IAAI,EAAE,CAAC,EAAC;YACnF,EAAE,EAAC,CAAC,sBAAsB,GAAG,CAAC,oBAAoB,CAAC,EAAC;gBAChD,mDAAmD;gBACnD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACzE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,CAAC;YACX,CAAC;YAID,uDAAuD;YACvD,2CAA2C;YAC3C,0DAA0D;YAC1D,uDAAuD;YACvD,+DAA+D;YAC/D,cAAc;YACd,IAAI;YAGJ,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;YAE3C,IAAI,MAAM,GAAG,CAAC,sBAAsB,GAAC,EAAE,CAAC;YAExC,IAAI,KAAK,GAAG,CAAC,CAAC,sBAAsB,CAAC,GAAC,MAAM,CAAC;YAC7C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpE,EAAE,EAAC,sBAAsB,IAAI,OAAO,CAAC,EAAC;gBAClC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;oBAC1D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;oBAE7G,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YAEL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,sBAAsB,GAAG,OAAO,IAAK,sBAAsB,IAAI,QAAQ,CAAC,EAAC;gBAC7E,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;oBAC7G,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC3G,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,sBAAsB,GAAG,QAAQ,CAAC,EAAC;gBACvC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;oBAC7G,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBAE7G,CAAC;gBACD,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YAEL,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBACzG,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;QAEL,CAAC;IAEL,CAAC;IAOC,0CAA0C;IAC1C,8CAAQ,GAAR,UAAS,KAAU;QACjB,gCAAgC;QAChC,IAAM,OAAO,GAAG,SAAS,CAAC;QAE1B,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,6CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAW;QAErB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,gEAAgE;gBAChE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,yDAAyD;gBACzD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,sDAAsD;gBACtD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjF,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEA,iBAAiB;IACjB,iDAAW,GAAX;QAAA,iBAeE;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,gDAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,yDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,+CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,wDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,6CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,+CAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YACjC,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAvxCQ,2BAA2B;QALvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,WAAW,EAAE,kFAAiC;WACT;SACtC,CAAC;qNAwC4B,CAAwE;YACnE,qEAAa,yFAAiB,2FAAwB;YACzD,2FAAwB,EAAuD;YACzE,eAAe;OA1CxC,2BAA2B,CAyxCvC;IAAD,CAAC;AAAA;SAzxCY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBE;AACe;AAC4C;AAClB;AACP;AACT;AACQ;AACE;AAC7E;;;;;GAKG;AAOH;IA8BE,kCAAmB,OAAsB,EAAS,SAAoB,EAC7D,OAAiC,EAAS,GAAuB,EACjE,KAAoB,EAAS,EAAe,EAAS,OAAuB,EAAS,cAA6B;QAF3H,iBAoDC;QApDkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,YAAO,GAAP,OAAO,CAA0B;QAAS,QAAG,GAAH,GAAG,CAAoB;QACjE,UAAK,GAAL,KAAK,CAAe;QAAS,OAAE,GAAF,EAAE,CAAa;QAAS,YAAO,GAAP,OAAO,CAAgB;QAAS,mBAAc,GAAd,cAAc,CAAe;QAnBpH,cAAS,GAAG,KAAK,CAAC;QAElB,kBAAa,GAAG,EAAE,CAAC;QAE1B,4BAAuB,GAAQ,EAAE,CAAC;QAElC,cAAS,GAAQ,EAAE,CAAC;QACpB,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAQ,EAAE,CAAC;QACvB,4BAAuB,GAAQ,EAAE,CAAC;QAClC,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,sBAAiB,GAAQ,EAAE,CAAC;QAE5B,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAS,GAAG,CAAC;QA+NhB,sBAAiB,GAAY,KAAK,CAAC;QAenC,gBAAW,GAAY,KAAK,CAAC;QAe7B,wBAAmB,GAAY,KAAK,CAAC;QAySrC,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,eAAU,GAAQ,EAAE,CAAC;QACrB,eAAU,GAAQ,EAAE,CAAC;QACrB,cAAS,GAAQ,EAAE,CAAC;QApiBlB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YAE1F,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAEpB,IAAI,OAAK,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzB,KAAI,CAAC,uBAAuB,GAAG,OAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,OAAI,IAAI,CAAC,QAAQ,UAAjB,CAAkB,CAAC,CAAC;gBAC7J,iJAAiJ;gBACjJ,KAAI,CAAC,iBAAiB,GAAG,OAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,OAAI,IAAI,CAAC,QAAQ,UAAjB,CAAkB,CAAC,CAAC;gBACvJ,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBAC7D,MAAM,CAAC,OAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC5C,CAAC;wBACH,CAAC;wBAED,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC5C,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC;gBAErE,KAAI,CAAC,mBAAmB,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC;YAEnD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,CAAC;QACH,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,0CAA0C,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,iDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sDAAmB,GAAnB,UAAoB,MAAM;QAA1B,iBA+JC;QA9JC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CACxC,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,UAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,EAAE,CAAC,CAAC,UAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;oBAC3B,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAClC,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,wBAAwB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnF,yBAAyB,EAAE,CAAC,UAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,sCAAsC;oBACtC,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAClE,8DAA8D;oBAC3D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,6FAA6F;wBAC7F,6CAA6C;wBAC7C,MAAM;wBACN,EAAE,EAAC,UAAQ,CAAC,qBAAqB,CAAC,EAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,UAAQ,CAAC;4BAEvB,IAAI,sBAAsB,GAAG,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;4BAElF,KAAI,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;4BAC9D,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mDAAmD,IAAI,IAAI,CAAC,CAAC;wBAC/O,CAAC;wBACD,IAAI,EAAC;4BACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,UAAQ,CAAC;4BAC/B,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC;4BAC3C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAE,IAAI,CAAC,CAAC;wBACvJ,CAAC;oBACH,CAAC;oBACJ,MAAM;oBAED,uDAAuD;oBACvD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,yFAAyF;wBACzF,2CAA2C;wBAC3C,MAAM;wBACN,EAAE,EAAC,UAAQ,CAAC,aAAa,CAAC,EAAC;4BAC3B,IAAI,oBAAoB,GAAG,UAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAEtE,KAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;4BACtD,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;wBACzN,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;4BACtC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAE,IAAI,CAAC,CAAC;wBAC7I,CAAC;oBACH,CAAC;oBAED,6DAA6D;oBAC7D,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,kGAAkG;wBAClG,2CAA2C;wBAC3C,MAAM;wBACN,EAAE,EAAC,UAAQ,CAAC,wBAAwB,CAAC,EAAC;4BACtC,IAAI,6BAA6B,GAAG,UAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAC1F,KAAI,CAAC,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;4BACvE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;wBAC/O,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;4BAC7C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACvJ,CAAC;oBACH,CAAC;oBACD,mDAAmD;oBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,yBAAyB;oBACzB,oCAAoC;oBACpC,IAAI;oBACJ,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAClC,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,wBAAwB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnF,yBAAyB,EAAE,CAAC,UAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;wBAC5C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACtJ,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;wBACtC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5I,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,IAAI,6BAA6B,GAAG,MAAM,CAAC,IAAI,CAAC,UAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;4BAC1F,MAAM,CAAC,UAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;wBACvE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACvJ,CAAC;oBACD,mDAAmD;oBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,yBAAyB;oBACzB,oCAAoC;oBACpC,IAAI;oBACJ,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAClC,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;oBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;oBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;oBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,wBAAwB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnF,yBAAyB,EAAE,EAAE;oBAC7B,8EAA8E;iBAC/E,CAAC,CAAC;gBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;oBAC5C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtJ,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;gBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBACtC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5I,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC;oBAC9C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvJ,CAAC;gBACD,mDAAmD;gBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,yBAAyB;gBACzB,oCAAoC;gBACpC,IAAI;gBACJ,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,aAAG;QAEN,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,4DAAyB,GAAzB,UAA0B,GAAG;QAC3B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,mDAAmD,EAAE,EAAE;aACxD,CAAC;YACF,IAAI;QACN,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,sDAAmB,GAAnB,UAAoB,GAAG;QACrB,+DAA+D;QAC/D,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;QAC7F,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iDAAiD,EAAE,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,8DAA2B,GAA3B,UAA4B,GAAG;QAC7B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iDAAiD,EAAE,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAED,mEAAgC,GAAhC,UAAiC,KAAK;QAAtC,iBAaC;QAZC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/H,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,uDAAuD;YACvD,IAAI;QACN,CAAC;IACH,CAAC;IAED,4DAAyB,GAAzB,UAA0B,OAAO;QAC/B,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,yBAAyB,EAAE,CAAC,EAAE,CAAC;gBAC/B,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC;gBACnC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,wBAAwB,EAAE,CAAC,EAAE,CAAC;gBAC9B,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,yBAAyB,EAAE,CAAC,OAAO,CAAC,yBAAyB,IAAI,IAAI,CAAC;gBACtE,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,IAAI,IAAI,CAAC;gBACtF,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,IAAI,IAAI,CAAC;gBACxG,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,yBAAyB,EAAE,CAAC,OAAO,CAAC,yBAAyB,IAAI,IAAI,CAAC;gBACtE,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;gBAClD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;gBACpE,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,IAAI,IAAI,CAAC;gBAChF,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,IAAI,IAAI,CAAC;aAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6DAA0B,GAA1B,UAA2B,KAAK;QAAhC,iBAaC;QAZC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACrH,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,iDAAiD;YACjD,IAAI;QACN,CAAC;IACH,CAAC;IAED,sDAAmB,GAAnB,UAAoB,OAAO;QACzB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC,EAAE,CAAC,EAAE,CAAC;gBACzC,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,wBAAwB,EAAE,CAAC,EAAE,CAAC;aAC/B,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAChD,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;gBAC9E,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;gBAChG,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,mCAAmC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;gBAClF,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC;gBACxE,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;gBACpE,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;gBAClD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qEAAkC,GAAlC,UAAmC,KAAK;QAAxC,iBAaC;QAZC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAChI,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,yDAAyD;YACzD,IAAI;QACN,CAAC;IACH,CAAC;IAED,8DAA2B,GAA3B,UAA4B,OAAO;QACjC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,6BAA6B,EAAE,CAAC,EAAE,CAAC;gBACnC,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,4CAA4C,EAAE,CAAC,EAAE,CAAC;gBAClD,qDAAqD,EAAE,CAAC,EAAE,CAAC;gBAC3D,qCAAqC,EAAE,CAAC,EAAE,CAAC;gBAC3C,qCAAqC,EAAE,CAAC,EAAE,CAAC;gBAC3C,8CAA8C,EAAE,CAAC,EAAE,CAAC;gBACpD,yCAAyC,EAAE,CAAC,EAAE,CAAC;gBAC/C,uCAAuC,EAAE,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,wBAAwB,EAAE,CAAC,EAAE,CAAC;aAC/B,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,6BAA6B,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;gBACtE,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;gBACpE,4CAA4C,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC;gBACpG,qDAAqD,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC;gBACtH,qCAAqC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC;gBACtF,qCAAqC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC;gBACtF,8CAA8C,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC;gBACxG,yCAAyC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC;gBAC9F,uCAAuC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC;gBAC1F,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;gBAClD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAE/H,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,qDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/H,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,sDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAErH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,uDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACrH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wDAAqB,GAArB,UAAsB,CAAC;QACrB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEhI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,uDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAChI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,8CAAW,GAAX;QAAA,iBAkBC;QAhBC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,uCAAuC;YACvC,+HAA+H;QACjI,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC5C,cAAI;YACF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,cAAI;YACF,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IACD,kCAAkC;IAClC,IAAI;IACJ,yBAAyB;IAEzB,+CAA+C;IAC/C,gDAAgD;IAChD,6CAA6C;IAE7C,2DAA2D;IAE3D,uDAAuD;IACvD,YAAY;IACZ,wCAAwC;IACxC,UAAU;IACV,yEAAyE;IACzE,8BAA8B;IAC9B,UAAU;IACV,cAAc;IAGd,IAAI;IACJ,gCAAgC;IAChC,iDAAc,GAAd,UAAe,gBAAgB;QAA/B,iBA2BC;QAzBC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QAChH,EAAE,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACtD,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC;QACD,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9C,OAAO,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QACD,EAAE,CAAC,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACzD,OAAO,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACtD,CAAC;QAED,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QACjM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,mBAAS;YACzD,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC/B,KAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;gBACtC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,4DAAyB,GAAzB,UAA0B,KAAK,EAAE,CAAC,EAAE,IAAI;QACtC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,0FAA0F;YAC1F,gIAAgI;YAChI,+EAA+E;QACjF,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,wFAAwF;YACxF,8HAA8H;YAC9H,6EAA6E;QAC/E,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,wFAAwF;YACxF,8HAA8H;YAC9H,6EAA6E;QAC/E,CAAC;IACH,CAAC;IAQD,4CAAS,GAAT,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK;QAEtB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAE9C,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAEhD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IAElD,CAAC;IAEA,iBAAiB;IACjB,8CAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,6CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,sDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,4CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,qDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,0CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,4CAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YACjC,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAjrBQ,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;4NA+B6D,CAAS;YACpD,4JAAsC,8FAAkB;YAC1D,aAAa,EAAa,MAAiF;OAhChH,wBAAwB,CAorBpC;IAAD,CAAC;AAAA;SAprBY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBK;AACgC;AACM;AACZ;AAC8B;AACzB;AAC2B;AACM;AACY;AAEtH;;;;;GAKG;AAOH;IAmBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,SAAyB;QAA3M,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,cAAS,GAAT,SAAS,CAAgB;QAC5N,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YACE,YAAY,EAAC,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,mEAAmE;YACnE,IAAI,EAAC,CAAC,IAAI,CAAC;YACX,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,YAAY,EAAC,CAAC,IAAI,CAAC;YACnB,YAAY,EAAC,CAAC,IAAI,CAAC;SACpB,CAAC;IACR,CAAC;IAED,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IACD,oDAAe,GAAf;QAEE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,gDAAW,GAAX,UAAY,MAAM;QAEpB,EAAE,EAAC,MAAM,IAAI,EAAE,CAAC,EAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iIAA6B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,IAAI,EAAE,CAAC,EAAC;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0IAA4B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,MAAM,EAAC,aAAa,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC;QACxH,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wHAA0B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC,CAAC;QAC/F,CAAC;IACC,CAAC;IAED,qDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAwDC;QApDG,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAC3B,CAAC;YACC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;YAClD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,IAAI,CAAE,CAAC,EAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAErD,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAErD,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5D,CAAC;YACD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAC;gBAC3D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACjE,CAAC;YACD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAC;gBAC3D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK;YACnC,OAAO,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;YAC9B,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC;YAClC,wCAAwC;YAExC,gCAAgC;YAIhC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,iCAAiC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEjF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;oBACvD,UAAU,CAAC;wBACT,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,CAAC,CAAC;gBAEJ,CAAC;gBAAA,IAAI,CACL,CAAC;gBAED,CAAC;YACL,CAAC,CAAC;QAEN,CAAC;IAEL,CAAC;IAED,sDAAiB,GAAjB;QAAA,iBA0DC;QAxDC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAErE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACG,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;gBACnE,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,MAAM,IAAG,CAAC,CAAC,CAC9C,CAAC;oBACK,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC/B,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,MAAM,IAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,MAAM,IAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,MAAM,IAAG,CAAC,CAAC,CACxK,CAAC;oBACG,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAG,CAAC,CAAC,CAC/C,CAAC;oBACG,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,MAAM,IAAG,CAAC,CAAC,CACjD,CAAC;oBACG,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACjC,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,MAAM,IAAG,CAAC,CAAC,CACnD,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAED,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,IAAG,CAAC,CAAC,EAAC;oBACvC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC9C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBACzC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7C,CAAC;gBAED,EAAE,EAAC,KAAI,CAAC,WAAW,KAAI,SAAS,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAG,CAAC,CAAC,CAChE,CAAC;oBACC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACnE,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,aAAa,IAAI,IAAK,CAAC,EAAC;wBAC1C,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1D,CAAC;oBACD,IAAI,EAAC;wBACH,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACvF,CAAC;oBACC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACvE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACnF,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACvF,CAAC;YAGL,CAAC;YAAA,IAAI,CACL,CAAC;gBACG,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,+CAAU,GAAV;QAAA,iBAoBC;QAnBC,IAAI,YAAY,GAAC;YACf,UAAU,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC/B,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;YACtC,cAAc,EAAC,IAAI,CAAC,WAAW,CAAC,YAAY;YAC5C,cAAc,EAAC,CAAC;SACjB;QACD,IAAI,OAAO,GAAK,EAAC,SAAS,EAAC,YAAY,EAAC;QACxC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,iCAAiC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACrF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wCAAwC,CAAC;gBACxE,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC;YAET,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,mDAAc,GAAd;QAAA,iBAyBK;QAxBH,IAAI,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAC,0BAA0B;YAChC,OAAO,EAAC,gEAAgE;YACxE,OAAO,EAAC;gBACN;oBACE,IAAI,EAAC,IAAI;oBACT,IAAI,EAAC,IAAI;oBACT,OAAO,EAAC;wBACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBAC9B,uBAAuB;wBACxB,KAAK,CAAC,OAAO;oBACd,CAAC;iBACF;gBACD;oBACE,IAAI,EAAC,KAAK;oBACV,OAAO,EAAC;wBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACpB,KAAI,CAAC,UAAU,EAAE;oBACnB,CAAC;iBACF;aACF;SACF,CAAC,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,wBAAwB;IACvB,CAAC;IA3NM,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCAoB8N;OAnBnN,0BAA0B,CA8NtC;IAAD,CAAC;AAAA;SA9NY,0BAA0B,kB;;;;;;;;;;;;;;;;ACtBa;AAEpD;;;;GAIG;AAIH;IAAA;IAwBA,CAAC;IAvBC;;OAEG;IACH,2CAAS,GAAT,UAAU,KAAU;QAClB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3B,IAAI,cAAc,GAAG,GAAG,CAAC;YACzB,uHAAuH;YACvH,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;gBACnB,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;YAChC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;YAE5E,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,CAAC,cAAc,GAAE,GAAG,GAAE,MAAM,CAAC;QACvC,CAAC;QACC,8BAA8B;IAChC,CAAC;IAvBU,uBAAuB;QAHnC,mEAAI,CAAC;YACJ,IAAI,EAAE,qBAAqB;SAC5B,CAAC;OACW,uBAAuB,CAwBnC;IAAD,8BAAC;CAAA;AAxBmC;;;;;;;;;;;;;;;;;;;;;;ACVc;AACP;AACG;AAC9C;;;;;EAKE;AAEF;IAEE,wBAAmB,IAAgB,EAAQ,MAAa;QAArC,SAAI,GAAJ,IAAI,CAAY;QAAQ,WAAM,GAAN,MAAM,CAAO;QACtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAU,GAAV;QAEE,IAAM,OAAO,GAAG;YACd,OAAO,EAAE,GAAG;YACZ,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ;YACrD,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,gEAAgE;QAG/D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAS;YACpD,IAAM,WAAW,GAAG,wBAAwB,GAAG,SAAS,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,WAAW,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC;QACrB,CAAC,EAAE,eAAK;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,CAAC;IAEL,CAAC;IA3BU,cAAc;QAD1B,yEAAU,EAAE;yCAGc,wEAAU,EAAe,oEAAM;OAF7C,cAAc,CA4B1B;IAAD,qBAAC;CAAA;AA5B0B;;;;;;;;ACV3B;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;;;ACVkD;AACP;AACO;AAElD;;;;;EAKE;AAEF;IAGE,yBAAmB,IAAgB,EAAQ,WAA6B;QAArD,SAAI,GAAJ,IAAI,CAAY;QAAQ,gBAAW,GAAX,WAAW,CAAkB;QACtE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,kCAAQ,GAAR,UAAS,OAAO;QAEd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACrC,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IACD,4CAAkB,GAAlB;QACE,IAAM,OAAO,GAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACpC,OAAO,EAAC,YAAY;YACpB,QAAQ,EAAC,IAAI;SACd,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IArBU,eAAe;QAD3B,yEAAU,EAAE;yCAIc,wEAAU,EAAoB,wEAAiB;OAH7D,eAAe,CAuB3B;IAAD,sBAAC;CAAA;AAvB2B;;;;;;;;ACX5B;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;;;;;;;;ACVoE;AACK;AAQzE,wEAAwE;AAEK;AAE7E,qDAAqD;AAEwB;AACQ;AACrC;AACI;AACkB;AAOtE;IAoBA,mBAAoB,GAAuB,EAAS,MAAiB,EAC9D,MAA6B,EAAQ,OAAqB,EAAQ,IAAmB,EACpF,KAAmB;QAFP,QAAG,GAAH,GAAG,CAAoB;QAAS,WAAM,GAAN,MAAM,CAAW;QAC9D,WAAM,GAAN,MAAM,CAAuB;QAAQ,YAAO,GAAP,OAAO,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAe;QACpF,UAAK,GAAL,KAAK,CAAc;QAd3B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAoB;YACxB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE;gBACR,GAAG,EAAE,EAAE;gBACP,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,EAAE;aACV;SACF,CAAC;IAKF,CAAC;IACD,4BAAQ,GAAR;QACE,uBAAuB;IAEzB,CAAC;IACD,mCAAe,GAAf;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,oCAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD;;;;MAIE;IACF,yBAAK,GAAL;QAAA,iBA0CC;QAzCC,2BAA2B;QAC3B,EAAE,EAAC,IAAI,CAAC,KAAK,KAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAI,SAAS,IAAI,IAAI,CAAC,KAAK,IAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAG,EAAE,IAAI,IAAI,CAAC,KAAK,IAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAG,IAAK,CAAC,EAAC;YACjJ,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAM;gBACrC,IAAI,MAAM,GAAG,KAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAEhC,KAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBAE9C,KAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBAE5B,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;wBAElC,EAAE,EAAC,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,YAAY,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,EAAC;4BACzG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;wBAEjC,CAAC;wBAAA,IAAI,CACL,CAAC;4BAEC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;4BAC/D,YAAY,CAAC,KAAK,EAAE,CAAC;wBACxB,CAAC;oBAGH,CAAC;gBACH,CAAC,CAAC,CAAC;YACH,CAAC,EAAE,aAAG;gBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC,CAAC;oBAC/C,oBAAoB;oBACpB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wEAAY,EAAC,EAAC,UAAU,EAAC,KAAI,CAAC,KAAK,EAAC,UAAU,EAAC,KAAI,CAAC,QAAQ,EAAC,CAAC,CAAC;gBACtF,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE9D,CAAC;gBACD,qBAAqB;YACvB,CAAC,CAAC;QACF,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD;;;;OAIG;IACH,kBAAkB;IAClB,sEAAsE;IACtE,kDAAkD;IAClD,kCAAkC;IAClC,iGAAiG;IACjG,2BAA2B;IAC3B,kDAAkD;IAClD,4BAA4B;IAC5B,8CAA8C;IAC9C,oBAAoB;IACpB,iCAAiC;IAEjC,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,IAAI;IAEJ,8BAAU,GAAV;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAGD,kCAAc,GAAd;QAEE,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,mDAAmD;QACnD,sBAAsB;QAEtB,KAAK;IACP,CAAC;IACD,iCAAa,GAAb;QACE,gCAAgC;QAC9B,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAC;YACzB,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,mCAAmC;YACnC,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QAAA,IAAI,EAAC;YACJ,KAAK,CAAC,MAAM,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACL,CAAC;IAlIY,SAAS;QAJrB,wEAAS,CAAC;YACT,QAAQ,EAAE,YAAY;WACG;SAC1B,CAAC;wLAqBuB,uEAAmC,CAAS;YACvD,yFAA8E;YAC9E,MAAa;OAtBd,SAAS,CAoIrB;IAAD,CAAC;AAAA;SApIY,SAAS;AAsItB,GAA6D;AAC7D;;EAEE;AAEF,+CAAgE;AAChE,eAA+C;AAE/C,eAAe;AACf,cAA+B;AAC/B,cAAc;AACd,mBAA6C;AAE7C,mBAAmB;AACnB,oBAAkG;AAElG,QAAoB;AAGpB,QAAQ;AACR,oBAAoB;AACpB,oBAAwG;AACxG,oBAAoB;AAEpB,OAA+I;AAE/I,OAAO;AAEP,QAAmI;AAGnI,KAAQ;AACR,KAAK;AACL,kCAAmC;AAEnC,kCAAkC;AAClC,mCAA0C;AAC1C,mCAAmC;AAEnC,IAAmE;AAEnE,IAAI;AAGJ,IAAI;AAIJ,eAAe;AACf,cAA+B;AAC/B,cAAc;AACd,mBAAwC;AAExC,mBAAmB;AACnB,oBAA2F;AAE3F,OAAoB;AAIpB,OAAO;AAEP,QAAmI;AAGnI,KAAQ;AACR,KAAK;AACL,4BAA4B;AAE5B,kCAAkC;AAClC,mCAA0C;AAC1C,mCAAmC;AAEnC,IAA4D;AAE5D,IAAI;AAEJ,KAAK,4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7O2D;AACmB;AACL;AAIzB;AACJ;AACsC;AAGf;AACK;AAExC;AAE+C;AAC1C;AACyB;AACG;AAGE;AACK;AACN;AACU;AAGjF;;;;;GAKG;AACH,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;AASpD;IAwBE,mBAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,SAAmB,EAAQ,QAAkB,EAAQ,eAA+B,EACpF,GAAsB,EAAQ,SAA2B,EAAQ,WAAuB,EACxF,SAAyB,EAAQ,gBAAiC,EAAQ,KAAmB,EAC7F,QAA0B,EAAQ,kBAAqC;QAJ7D,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,cAAS,GAAT,SAAS,CAAU;QAAQ,aAAQ,GAAR,QAAQ,CAAU;QAAQ,oBAAe,GAAf,eAAe,CAAgB;QACpF,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAkB;QAAQ,gBAAW,GAAX,WAAW,CAAY;QACxF,cAAS,GAAT,SAAS,CAAgB;QAAQ,qBAAgB,GAAhB,gBAAgB,CAAiB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAC7F,aAAQ,GAAR,QAAQ,CAAkB;QAAQ,uBAAkB,GAAlB,kBAAkB,CAAmB;QArBhF,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAGlC,SAAI,GAAG,IAAI,kEAAQ,CAAC,OAAO,CAAC,CAAC;QAI7B,mBAAc,GAAW,KAAK,CAAC;QAC/B,kBAAa,GAAW,KAAK,CAAC;QAC9B,YAAO,GAAO,EAAE,GAAC,IAAI,CAAC;QAMpB,cAAS,GAAM,EAAE,CAAC;QAOhB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/E,4CAA4C;QAE1C,IAAI,IAAI,GAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,mBAAmB;QACnB,IAAI,IAAI,GAAC,IAAI,CAAC,OAAO,EAAE,GAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC;QACxB,wBAAwB;QACxB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAE5B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,SAAS,GAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAC,oBAAoB,CAAC,CAAC;QAG/E,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;QAGhB,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;YACC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,UAAU,CAAC,CACnD,CAAC;YACC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;YAEC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,oCAAoC;QACpC,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAErC,CAAC;IAGD,kCAAc,GAAd;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;IAEvB,CAAC;IACD,mCAAe,GAAf;QAEE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IACD,oCAAgB,GAAhB,UAAiB,KAAK;QAErB,8OAA8O;QAC/O,IAAI,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,YAAY,GAAS,IAAI,CAAC,YAAY,GAAC,GAAG,GAAE,IAAI,CAAC,SAAS,GAAC,GAAG,GAAE,IAAI,CAAC,UAAU,GAAC,GAAG,GAAC,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACpJ,iCAAiC;QACjC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,iCAAa,GAAb;QAAA,iBAeC;QAbC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACrG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAApG,CAAoG,CAC5G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjK,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,IAAI,CACnG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAlG,CAAkG,CAC1G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACzJ,CAAC;IAED,6BAAS,GAAT;QAAA,iBAyBC;QAvBC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAElD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,eAAe,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB;gBACtD,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;gBACpC,IAAI,gBAAgB,GAAW,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBACtF,IAAI,iBAAiB,GAAU,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;gBAC/F,IAAI,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACpF,IAAI,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAEzB,EAAE,EAAC,WAAW,GAAE,CAAC,CAAC,CAAC,EAAC;oBACnB,KAAI,CAAC,aAAa,GAAC,IAAI,CAAC;gBAC1B,CAAC;gBACD,IAAI,CACJ,CAAC;oBACC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACD,CAAC;QACD,CAAC,CAAC;IAEJ,CAAC;IACD,4BAAQ,GAAR,UAAS,MAAM,EAAC,UAAU;QAA1B,iBAkCC;QAhCC,IAAI,IAAS,CAAC;QAEd,EAAE,EAAC,MAAM,IAAI,SAAS,CAAC,CACvB,CAAC;YACC,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YACvG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sGAAiB,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC;YACrD,sDAAsD;YACtD,MAAM;YACN,+BAA+B;YAC/B,+CAA+C;YAC/C,QAAQ;YACR,6CAA6C;YAC7C,QAAQ;YACR,OAAO;QACT,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,MAAM,IAAI,UAAU,CAAC,CAC9B,CAAC;YACG,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YACvG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE7C,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,CACxC,CAAC;oBACC,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE7B,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC;QACR,CAAC;IAEH,CAAC;IAED,8BAAU,GAAV,UAAW,YAAY,EAAC,UAAU;QAAlC,iBAyBD;QAtBG,IAAI,IAAS,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,EAAE,EAAC,YAAY,IAAI,SAAS,CAAC,EAAC;YAC5B,IAAI,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,cAAc,EAAC,OAAO,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YACnI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE3C,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC1B,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,CAC1C,CAAC;oBACC,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;QACT,CAAC;QACD,IAAI,EAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC5B,iCAAiC;YACjC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC;IAEC,qCAAiB,GAAjB;QAAA,iBAeC;QAbC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAC,UAAmB;YAE1D,EAAE,EAAC,UAAU,CAAC,CAAC,CAAC;gBAChB,6CAA6C;gBAC7C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,IAAI,CACxF;oBACE,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC,EACD,eAAK,IAAI,YAAK,CAAC,uCAAuC,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAApE,CAAoE,CAC5E,CAAC;YACF,CAAC;QAED,CAAC,CAAC,CAAC;IACP,CAAC;IACD,sCAAkB,GAAlB;QAAA,iBAuCC;QArCC,IAAI,IAAQ,CAAC;QACb,IAAI,OAAO,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAC,IAAI;SACb,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAC9B,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAChC,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrD,uBAAuB;gBACvB,wBAAwB;gBACxB,EAAE,EAAE,IAAoB,CAAC,MAAM,IAAG,SAAS,CAAC,EAAC;oBAC3C,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC1E,4DAA4D;oBAC5D,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;oBAC1C,IAAI,GAAG,EAAC,OAAO,EAAC,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,MAAM,EAAC,KAAI,CAAC,mBAAmB,EAAC,CAAC;oBAG/E,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;wBAEhD,8BAA8B;wBAC9B,8CAA8C;wBAC9C,KAAK;wBACL,8BAA8B;wBAC9B,kCAAkC;wBAClC,QAAQ;wBACR,IAAI;wBACJ,gCAAgC;wBAChC,IAAI;oBACR,CAAC,CAAC;gBACJ,CAAC;YACD,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACX,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC,CAAC;QAEJ,CAAC,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;IACD,gCAAY,GAAZ;QAEE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,+BAAW,GAAX,UAAY,UAAU;QAAtB,iBAsCC;QArCC,IAAI,IAAQ,CAAC;QAEb,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAC,UAAmB;YAE1D,EAAE,EAAC,UAAU,CAAC,CAAC,CAAC;gBAChB,6CAA6C;gBAC7C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,IAAI,CACxF;oBACF,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC9C,uBAAuB;wBACvB,wBAAwB;wBAEtB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;wBAC9E,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,aAAa,EAAC,UAAU,CAAC,eAAe,EAAC,WAAW,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAC,cAAc,EAAC,KAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,MAAM,EAAC,KAAI,CAAC,mBAAmB,EAAC,CAAC;wBAGpS,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;4BAE3C,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC;4BAC3B,EAAE,EAAC,KAAI,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAC3C,CAAC;gCACC,KAAI,CAAC,cAAc,EAAE,CAAC;gCACtB,KAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC1B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC5B,CAAC;4BAAA,IAAI,CACL,CAAC;gCACC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;4BAC7B,CAAC;wBACL,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;wBACb,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACH,CAAC,EAAC,eAAK,IAAI,YAAK,CAAC,uCAAuC,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAApE,CAAoE,CAChF,CAAC;YACF,CAAC;QAED,CAAC,CAAC,CAAC;IACH,CAAC;IAED,qCAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAwCC;QAtCC,IAAI,IAAQ,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBAEP,iCAAiC;wBACjC,qCAAqC;oBACvC,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE;wBACf,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;4BAC5C,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;4BAErE,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,cAAc,EAAC,KAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,MAAM,EAAC,KAAI,CAAC,mBAAmB,EAAC,CAAC;4BAC/L,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC3B,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gCAC9C,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gCACxB,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CACzC,CAAC;oCACC,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;oCACjC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,yDAAO,EAAC,EAAC,WAAW,EAAC,UAAU,EAAC,CAAC,CAAC;gCACzD,CAAC;4BAEH,CAAC,CAAC;4BACI,8BAA8B;wBAChC,CAAC,CAAC;oBACJ,CAAC;iBACA;aACF;SACF,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IACD,kCAAc,GAAd;QAAA,iBAmCC;QAjCG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,EAAE,EAAC,KAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CACnC,CAAC;gBACC,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,KAAK,IAAI,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAA1C,CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1G,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACzD,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,UAAU,CAAC,CACnD,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;gBACzD,CAAC;gBACD,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;oBACC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;gBAC1D,CAAC;gBAED,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;oBACC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;gBAC1D,CAAC;YACE,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAED,+BAAW,GAAX;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kGAAmB,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;IAC/E,CAAC;IAvWoB;QAAtB,yEAAS,CAAC,UAAU,CAAC;;kDAAc;IACf;QAApB,yEAAS,CAAC,QAAQ,CAAC;kCAAa,8DAAO;gDAAC;IAtB5B,SAAS;QANrB,wEAAS,CAAC;YACT,QAAQ,EAAE,YAAY;WACG;SAC1B,CAAC;yPA2B4B,CAAgE;YACzE,8FAA2B,CAAQ,0FAAuC;YAChF,kKAAoC,0FAAqC,CAAW;YAC9E,0FAAwC,gGAA8B,EAAa;YACpF,MAA8D;OA5BrE,SAAS,CA6XrB;IAAD,CAAC;AAAA;SA7XY,SAAS,e;;;;;;;;;;;;;;;;;;;;;;;;;;AC3C+B;AAC+B;AACR;AACC;AACkB;AACT;AAEd;AACF;AACtE;;;;;GAKG;AACH,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAOrE;IA2BE,wBAAmB,OAAsB,EAAS,SAAoB,EAAE,QAAkB,EAAQ,EAAc,EAAQ,UAAmC,EAAQ,GAAsB,EAAQ,MAAqB,EAAQ,KAAmB;QAA9N,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAA4B,OAAE,GAAF,EAAE,CAAY;QAAQ,eAAU,GAAV,UAAU,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,WAAM,GAAN,MAAM,CAAe;QAAQ,UAAK,GAAL,KAAK,CAAc;QAxBjP,YAAO,GAAQ,EAAE,CAAC;QAClB,aAAQ,GAAQ,EAAE,CAAC;QACnB,eAAU,GAAO,EAAE,CAAC;QAQpB,wBAAmB,GAAO,IAAI,CAAC;QAC/B,uBAAkB,GAAO,EAAE,CAAC;QAC5B,uBAAkB,GAAU,EAAE,CAAC;QAC/B,mBAAc,GAAU,CAAC,CAAC;QAC1B,YAAO,GAAW,KAAK,CAAC;QACxB,WAAM,GAAU,KAAK,CAAC;QACtB,SAAI,GAAK,EAAE,CAAC;QAUV,IAAI,CAAC,cAAc,GAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAGrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACjC;YACE,aAAa,EAAC,CAAC,IAAI,CAAC;YACpB,KAAK,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACxB,CAAC;QACJ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACtC;YACE,eAAe,EAAC,CAAC,IAAI,CAAC;SACvB,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAEC,uCAAc,GAAd;IACA,CAAC;IACD,wCAAe,GAAf;QACE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yCAAgB,GAAhB;QACA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,4CAAmB,GAAnB;QAEE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC,cAAc,GAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACxH,iDAAiD;QACjD,iDAAiD;QACjD,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;YACC,wDAAwD;QAC1D,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC,CAChB,CAAC;YACC,uEAAuE;QACzE,CAAC;IACH,CAAC;IAED,kCAAS,GAAT,UAAU,KAAK;QAEb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;QAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEvC,CAAC;IAED,gDAAuB,GAAvB,UAAwB,KAAK;QAE3B,IAAI,MAAM,GAAC,CAAC,CAAC;QACb,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,GAAC,MAAM,GAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,gDAAuB,GAAvB;QACE,IAAI,KAAK,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACjD,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAE,KAAK,CAAC;YACxC,KAAK,GAAC,KAAK,GAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;IAElH,CAAC;IAED,0DAAiC,GAAjC;QAAA,iBAGC;QADC,UAAU,CAAE,cAAQ,KAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAgB,GAAhB,UAAiB,MAAM;QAGrB,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAClB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAEnB,IAAI,2BAA2B,GAAE,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,CAAE,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAChH,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACjD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,CAAC;QAAC,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACnD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;QACpB,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAEpB,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC;IAGhH,CAAC;IACF;;OAEG;IACF,6CAAoB,GAApB;QAEE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,GAAG,EAAkB,UAA8B,EAA9B,SAAI,CAAC,eAAe,CAAC,SAAS,EAA9B,cAA8B,EAA9B,IAA8B;YAA/C,IAAI,SAAS;YAEf,EAAE,EAAC,SAAS,CAAC,MAAM,KAAI,SAAS,CAAC,EAAC;gBAClC,GAAG,EAAc,UAAgB,EAAhB,cAAS,CAAC,MAAM,EAAhB,cAAgB,EAAhB,IAAgB;oBAA7B,IAAI,KAAK;oBAET,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC;oBAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,GAAG,EAAgB,UAAiB,EAAjB,cAAS,CAAC,OAAO,EAAjB,cAAiB,EAAjB,IAAiB;oBAAhC,IAAI,OAAO;oBAEb,EAAE,EAAC,SAAS,CAAC,sBAAsB,IAAI,CAAC,CAAC,CACzC,CAAC;wBACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;wBAE3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAGnD,CAAC;iBACF;YACH,CAAC;SACA;QACC,GAAG,EAAC,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,IAAE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAC,CAAC,EAAE,EAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAEH,0CAAiB,GAAjB,UAAkB,OAAO;QAEvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,qBAAqB,EAAC,OAAO,CAAC,mBAAmB;YACjD,cAAc,EAAC,OAAO,CAAC,kBAAkB;YACzC,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,qBAAqB,EAAE,OAAO,CAAC,yBAAyB;YACxD,UAAU,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAC5B,iBAAiB,EAAC,OAAO,CAAC,eAAe;YACzC,UAAU,EAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAC,KAAK,GAAC,IAAI,CAAC;SAGjD,CAAC;IACN,CAAC;IACC,aAAa;IACb,qCAAY,GAAZ,UAAa,MAAM;QAAnB,iBAUC;QARG,2BAA2B;QAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YAE7B,EAAE,EAAC,GAAG,KAAK,SAAS,CAAC,EAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,GAAG,EAAC,mBAAmB,EAAC,EAAE,EAAC,YAAY,EAAC,MAAM,EAAC,CAAC,CAAC;YAC1F,CAAC;QACF,CAAC,CAAC,CAAC;QACJ,iBAAiB;IACrB,CAAC;IACD,iCAAQ,GAAR,UAAS,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,MAAM;QAEzB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAC,kBAAkB,EAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,YAAY,EAAC,MAAM,EAAC,CAAC;IAChG,CAAC;IACD,oCAAW,GAAX,UAAY,KAAK;QACf,2CAA2C;QACzC,8CAA8C;QAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;QAChC,GAAG;QACL,GAAG;IACL,CAAC;IACD,4CAAmB,GAAnB,UAAoB,aAAa,EAAC,eAAe,EAAC,eAAe;QAG7D,GAAG,EAAa,UAAa,EAAb,SAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa;YAAzB,IAAI,IAAI;YAGR,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAC;gBACxG,UAAU;gBACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,IAAI,CAAC,iBAAiB,EAAC,CAAC,CAAC;gBAC5G,eAAe;YACjB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,UAAU;gBACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,UAAU,EAAC,CAAC,CAAC;YAElG,CAAC;SACA;QACF,EAAE,EAAC,aAAa,CAAC,aAAa,IAAG,IAAI,CAAC,EAAC;YACtC,mBAAmB;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,KAAK,GAAG,eAAe,CAAC,uBAAuB,CAAC;YACpD,IAAI,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,IAAI,aAAa,CAAC,aAAa,CAAC,uBAAuB,EAA/E,CAA+E,CAAC,CAAC,CAAC,CAAC,CAAC;YACtI,IAAI,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;YAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,aAAa,GAAG,KAAK,CAAC,kBAAkB,CAAC;YAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC;YAC/D,IAAI,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC1E,IAAI,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;YACjD,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,aAAa,GAAK,EAAE,CAAC;YACzB,IAAI,mBAAmB,GAAO,EAAE,CAAC;YACjC,EAAE,EAAC,KAAK,CAAC,YAAY,IAAG,IAAI,CAAC,CAC7B,CAAC;gBACC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,aAAa,GAAG,EAAE,CAAC;YACrB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,mBAAmB,GAAI,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACzE,CAAC;YACD,IAAI,WAAW,GACb;gBACE,cAAc,EAAE,aAAa;gBACrC,UAAU,EAAE,KAAK;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,gBAAgB,EAAE,MAAM;gBACxB,aAAa,EAAE,QAAQ;gBACrB,uBAAuB,EAAE,aAAa;gBACtC,iBAAiB,EAAE,UAAU;gBAC7B,SAAS,EAAC,CAAC,EAAC,qBAAqB,EAAE,mBAAmB;wBACtD,cAAc,EAAC,MAAM;wBACvB,WAAW,EAAE,SAAS;wBACtB,qBAAqB,EAAE,aAAa;wBAClC,UAAU,EAAC,KAAK;wBAChB,iBAAiB,EAAC,aAAa;qBAEhC,CAAC;gBAEF,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,QAAQ;gBACtB,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;aAG1B,CAAC;YAEN,6DAA6D;YAC7D,MAAM;YACN,2BAA2B;YAC3B,4CAA4C;YAC5C,2CAA2C;YAC3C,gCAAgC;YAChC,2CAA2C;YAC3C,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,IAAI;YAEF,sCAAsC;QACvC,CAAC;IACJ,CAAC;IAED,wCAAe,GAAf,UAAgB,QAAQ,EAAC,IAAI;QAA7B,iBAwBG;QAtBD,IAAI,WAAW,GAAG,EAAC,aAAa,EAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAC,QAAQ,CAAC,gCAAgC;SACrK,CAAC;QACF,IAAI,UAAc,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAExD,UAAU,GAAG,GAAG,CAAC;YACjB,EAAE,EAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,CACjC,CAAC;gBAEG,mCAAmC;gBACnC,iHAAiH;gBACjH,iDAAiD;gBAEjD,yBAAyB;gBACzB,wCAAwC;gBACxC,oCAAoC;gBACpC,KAAK;gBACL,+HAA+H;gBAC/H,KAAK;gBACJ,KAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6BAAI,GAAJ,UAAK,aAAa,EAAC,eAAe,EAAC,eAAe;QAAlD,iBAsFD;QArFI,GAAG,EAAa,UAAa,EAAb,SAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa;YAAzB,IAAI,IAAI;YAGV,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAC;gBACxG,UAAU;gBACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,IAAI,CAAC,iBAAiB,EAAC,CAAC,CAAC;gBAC5G,eAAe;YACjB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,UAAU;gBACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,UAAU,EAAC,CAAC,CAAC;YAElG,CAAC;SACA;QACF,EAAE,EAAC,aAAa,CAAC,aAAa,IAAG,IAAI,CAAC,EAAC;YACtC,mBAAmB;YACrB,IAAI,OAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,KAAK,GAAG,eAAe,CAAC,uBAAuB,CAAC;YACpD,IAAI,OAAK,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,IAAI,aAAa,CAAC,aAAa,CAAC,uBAAuB,EAA/E,CAA+E,CAAC,CAAC,CAAC,CAAC,CAAC;YACtI,IAAI,MAAM,GAAG,OAAK,CAAC,cAAc,CAAC;YAClC,IAAI,QAAQ,GAAG,OAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,aAAa,GAAG,OAAK,CAAC,kBAAkB,CAAC;YAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC;YAC/D,IAAI,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC1E,IAAI,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;YACjD,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,aAAa,GAAK,EAAE,CAAC;YACzB,IAAI,mBAAmB,GAAO,EAAE,CAAC;YACjC,EAAE,EAAC,OAAK,CAAC,YAAY,IAAG,IAAI,CAAC,CAC7B,CAAC;gBACC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,aAAa,GAAG,EAAE,CAAC;YACrB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,aAAa,GAAG,OAAK,CAAC,YAAY,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,mBAAmB,GAAI,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACzE,CAAC;YACD,IAAI,WAAW,GACb;gBACE,cAAc,EAAE,aAAa;gBACnC,UAAU,EAAE,OAAK;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,gBAAgB,EAAE,MAAM;gBACxB,aAAa,EAAE,QAAQ;gBACvB,uBAAuB,EAAE,aAAa;gBACtC,iBAAiB,EAAE,UAAU;gBAC7B,SAAS,EAAC,CAAC,EAAC,qBAAqB,EAAE,mBAAmB;wBACtD,cAAc,EAAC,MAAM;wBACrB,WAAW,EAAE,SAAS;wBACtB,qBAAqB,EAAE,aAAa;wBACpC,UAAU,EAAC,OAAK;wBAChB,iBAAiB,EAAC,aAAa;qBAEhC,CAAC;gBAEA,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;aAG1B,CAAC;YAEL,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEpD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,EAAE,EAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;oBACpC,KAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;oBAC7B,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,eAAe,CAAC,OAAK,EAAC,OAAK,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC,CAAC;QACL,CAAC;QAAA,IAAI,EAAC;YACH,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAE,CAAC,CAAC,EAAC;gBAC9C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;QACD,CAAC;IACH,CAAC;IA1Z8B;QAA9B,yEAAS,CAAC,kBAAkB,CAAC;kCAAmB,6DAAM;4DAAE;IACnB;QAArC,yEAAS,CAAC,yBAAyB,CAAC;kCAAe,8DAAO;uDAAC;IAXjD,cAAc;QAJ1B,wEAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;WACG;SAChC,CAAC;uBA4BiP;OA3BtO,cAAc,CAqa1B;IAAD,CAAC;AAAA;SAraY,cAAc,gB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBe;AACgC;AACa;AACW;AAClB;AAChB;AACS;AACE;AAChC;AAGA;AAC8B;AACP;AAClE;;;;;GAKG;AAMH;IAwDE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,OAAgC,EAAQ,GAAsB,EAC9D,KAAmB,EAAQ,QAAwB,EAAQ,QAA0B,EACrF,MAAa,EAAS,OAAuB,EAAS,SAAyB;QAHrE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAQ,aAAQ,GAAR,QAAQ,CAAgB;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QACrF,WAAM,GAAN,MAAM,CAAO;QAAS,YAAO,GAAP,OAAO,CAAgB;QAAS,cAAS,GAAT,SAAS,CAAgB;QAtCxF,kEAAkE;QAClE,oBAAe,GAAK,EAAE,CAAC;QACvB,2BAAsB,GAAK,EAAE,CAAC;QAG9B,aAAQ,GAAQ,EAAE,CAAC;QACnB,eAAU,GAAQ,EAAE,CAAC;QAIrB,iBAAY,GAAK,EAAE,CAAC;QACpB,yBAAoB,GAAW,KAAK,CAAC;QAMrC,aAAQ,GAAM,EAAE,CAAC;QACjB,gBAAW,GAAM,EAAE,CAAC;QACpB,cAAS,GAAM,EAAE,CAAC;QAClB,YAAO,GAAM,EAAE,CAAC;QAEhB,iBAAY,GAAK,EAAE;QACnB,kBAAa,GAAK,EAAE;QAGV,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QACpC,iBAAY,GAAiC,IAAI,mDAAa,CAAgB,CAAC,CAAC,CAAC;QACjF,kBAAa,GAA8B,IAAI,mDAAa,CAAgB,CAAC,CAAC;QACrF,qBAAgB,GAAM,EAAE,CAAC;QAEzB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAQ,GAAG,CAAC;QACf,iBAAY,GAAM,EAAE,CAAC;QAOnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAElC,iFAAiF;QACjF,gHAAgH;QAChH,SAAS;QACT,oEAAoE;QACpE,IAAI;QACJ,0CAA0C;QAC1C,+CAA+C;QAC/C,wCAAwC;QACxC,8CAA8C;QAE9C,iFAAiF;QAEjF,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,4DAA4D;QAC7D,4BAA4B;QAE3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACtC;YACG,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACvB,4BAA4B;YAC5B,0BAA0B;YAC1B,mBAAmB;YACnB,8CAA8C;YAC9C,oCAAoC;YACpC,6BAA6B;YAC7B,iCAAiC;YACjC,yCAAyC;YACzC,yBAAyB;YACzB,yBAAyB;YAC1B,+CAA+C;SAE/C,CAAC,CAAC;QAEJ,eAAe;QAChB,mEAAmE;QAEjE,kGAAkG;QAClG,qCAAqC;QACrC,oBAAoB;QACpB,yBAAyB;QACzB,MAAM;IAGV,CAAC;IAED,8CAAc,GAAd;QACE,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,mCAAmC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IAGD,yCAAS,GAAT,UAAU,OAAW,EAAC,CAAQ,EAAC,MAAM;QAArC,iBAyBC;QAxBH,yBAAyB;QACrB,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;iBACxC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY;iBACzC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YACzD,CAAC,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY;iBACvC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;YACvD,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IACD,yCAAS,GAAT,UAAU,GAAO,EAAC,KAAY;QAC5B,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAC;YAC3B,MAAM;QACR,CAAC;QACD,IAAI,WAAW,GAAC,GAAG;QACnB,EAAE,EAAC,CAAC,WAAW,CAAC,EAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YAC5D,MAAM;QACR,CAAC;QAAA,IAAI,EAAC;YACJ,WAAW,GAAC,WAAW,CAAC,WAAW,EAAE;QACvC,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAArD,CAAqD,CAAC;IAC3H,CAAC;IACD,0CAAU,GAAV,UAAW,GAAQ,EAAE,CAAS;QAC5B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,IAAI,WAAW,GAAG,GAAG;QACrB,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAClB,mDAAmD;YACnD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAC7C,MAAM;QACR,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE;QACzC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAvD,CAAuD,CAAC;QAC/G,0BAA0B;QAC1B,8FAA8F;QAC9F,IAAI;IAEN,CAAC;IACD,2CAAW,GAAX,UAAY,GAAQ;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,MAAM;QACR,CAAC;QACD,IAAI,SAAS,GAAG,GAAG;QACnB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC/C,MAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE;QACrC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAA9C,CAA8C,CAAC,CAC7E;IACH,CAAC;IAEH,oDAAoB,GAApB,UAAqB,IAAI;QAErB,kDAAkD;QAClD,kDAAkD;QAClD,EAAE,EAAC,IAAI,IAAG,EAAE,IAAI,IAAI,IAAI,SAAS,CAAC,EAAC;YACnC,EAAE,EAAC,IAAI,CAAC,MAAM,GAAC,GAAG,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,MAAM,GAAC,GAAG,IAAI,CAAC,CAAC;gBAC7B,MAAM,CAAC,CAAC,CAAC;YACT,IAAI;gBAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAC,GAAG,CAAC,CAAC;QAE1C,CAAC;IACH,CAAC;IAEC,gDAAgB,GAAhB;QAIE,2CAA2C;QAC3C,mCAAmC;QACnC,iBAAiB;QACjB,UAAU;QACV,wBAAwB;QACxB,oCAAoC;QACpC,2BAA2B;QAC3B,WAAW;QACX,YAAY;QACZ,WAAW;QACX,UAAU;QACV,0BAA0B;QAC1B,oCAAoC;QACpC,2BAA2B;QAC3B,aAAa;QACb,8CAA8C;QAC9C,YAAY;QACZ,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,qBAAqB;IAIvB,CAAC;IACD,+CAAe,GAAf;QAAA,iBAoGC;QAnGC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClD,EAAE,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAC;YACjC,qDAAqD;YACnD,eAAe;YACf,kFAAkF;YAClF,uBAAuB;YACvB,cAAc;YAEd,IAAI;YACN,iCAAiC;YACjC,4CAA4C;YAC5C,qCAAqC;YACrC,gCAAgC;YAChC,8CAA8C;YAC9C,4BAA4B;YAC5B,iBAAiB;YACjB,oBAAoB;YACpB,2BAA2B;YAC3B,sBAAsB;YACtB,qBAAqB;YACrB,UAAU;YACV,SAAS;YACT,QAAQ;YACR,mBAAmB;YACnB,0BAA0B;YAC1B,sBAAsB;YACtB,oBAAoB;YACpB,UAAU;YACV,SAAS;YACT,QAAQ;YACR,oBAAoB;YACpB,OAAO;YACP,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,6CAA6C;wBAC7C,mCAAmC;wBACnC,qCAAqC;wBACrC,qBAAqB;wBACrB,kCAAkC;wBAClC,kCAAkC;wBAClC,+CAA+C;wBAC/C,8DAA8D;wBAC9D,qBAAqB;wBACrB,sBAAsB;wBACtB,KAAK;wBACL,gCAAgC;wBAChC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEL,CAAC;IAEH,CAAC;IAEG;;KAEC;IACH,wDAAwB,GAAxB,UAAyB,OAAe,EAAC,CAAC,EAAC,OAAO;QAAlD,iBA0BD;QAzBE,kGAAkG;QACjG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACnC,mEAAmE;QACnE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YACnD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;gBACrB,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvC,KAAI,CAAC,MAAM,GAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5C,kDAAkD;gBAClD,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC9C,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC3C,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YACxD,CAAC;YACD,uBAAuB;YACvB,UAAU;YACV,qBAAqB;YACrB,sBAAsB;YACtB,+GAA+G;YAC/G,sEAAsE;YACtE,wCAAwC;YACxC,0CAA0C;YAE1C,MAAM;YACN,IAAI;QACR,CAAC,CAAC,CAAC;IACP,CAAC;IAID,+CAAe,GAAf;QAEE,wBAAwB;QAF1B,iBAgFC;QA5EC,qCAAqC;QACrC,qCAAqC;QACrC,uCAAuC;QACvC,2CAA2C;QAC3C,iCAAiC;QACjC,6DAA6D;QAC7D,2CAA2C;QAC3C,mCAAmC;QACnC,KAAK;QAGL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAG;YAEnD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAClE,CAAC;QAED,CAAC,CAAC;QAEJ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,CACtC,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAEtD,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,UAAU,IAAG,IAAI,CAAC,CACtC,CAAC;gBACC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAC5E,CAAC;QACT,CAAC,CAAC,CAAC;QAGJ,kEAAkE;QAC7D,MAAM;QACN,gCAAgC;QAChC,gDAAgD;QAChD,QAAQ;QACR,yFAAyF;QACzF,QAAQ;QACR,OAAO;QACP,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAEhD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC;QAEN,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC/C,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC;YAC7D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEjD,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7C,KAAI,CAAC,OAAO,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAAzC,CAAyC,CAAC;QACpF,CAAC,CAAC;IAEV,CAAC;IAED,sBAAsB;IACtB,IAAI;IACJ,IAAI;IACJ,wBAAwB;IACxB,MAAM;IACN,wCAAwC;IACxC,UAAU;IACV,MAAM;IACN,yCAAyC;IACzC,MAAM;IACN,IAAI;IAEJ,4BAA4B;IAC5B,2BAA2B;IAC3B,oBAAoB;IACpB,2BAA2B;IAC3B,wBAAwB;IACxB,wBAAwB;IACxB,MAAM;IACN,KAAK;IAEL,2CAAW,GAAX,UAAY,GAAG;QACb,EAAE,EAAC,GAAG,IAAE,IAAI,CAAC,EAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5B,aAAa,EAAE,CAAC,EAAE,CAAC;gBACnB,oBAAoB,EAAE,CAAC,EAAE,CAAC;gBAC1B,aAAa,EAAE,CAAC,EAAE,CAAC;gBACpB,4BAA4B;gBAC3B,kCAAkC;gBAClC,yBAAyB;gBACzB,gBAAgB,EAAE,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,sBAAsB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;gBACpD,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;gBAClC,oBAAoB,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBAChD,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;gBACnC,gDAAgD;gBAChD,oDAAoD;gBACpD,oCAAoC;gBACnC,gBAAgB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;aACvC,CAAC,CAAC;QAEP,CAAC;IACD,CAAC;IAED,wCAAQ,GAAR;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAc,CAAC;QACjF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAGC,2CAAW,GAAX,UAAY,CAAC;QACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEC,oDAAoB,GAApB,UAAqB,CAAC;QAEpB,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;QAEzE,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzF,CAAC;IACD,2CAAW,GAAX,UAAY,cAAc;QACxB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7C,EAAE,EAAC,cAAc,IAAI,IAAI,CAAC,EAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;gBACjC,YAAY,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtF,mBAAmB,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC;gBACzD,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC7B,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC3B,UAAU,EAAC,CAAC,EAAE,CAAC;gBACf,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,SAAS,EAAC,CAAC,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;gBACjC,cAAc,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvH,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9E,eAAe,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC;gBACjD,qDAAqD;gBACrD,WAAW,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpF,gBAAgB,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9F,cAAc,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC;gBAC/C,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC;gBACzB,UAAU,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;aACxC,CAAC;QACF,CAAC;QACD,IAAI,EAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,CAAC,EAAE,CAAE;gBACd,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7D,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,CAAC;gBACX,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,UAAU,EAAC,CAAC,EAAE,CAAC;gBACf,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,SAAS,EAAC,CAAC,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,QAAQ,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzD,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,yBAAyB;gBACzB,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjE,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,CAAC,EAAE,CAAC;gBACT,UAAU,EAAE,CAAC,EAAE,CAAC;aACnB,CAAC,CAAC;QACH,CAAC;IAEH,CAAC;IACA,sCAAsC;IACtC,wCAAQ,GAAR,UAAS,KAAU;QAChB,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,uCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC;QAEL,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3F,CAAC;IAED,8CAAc,GAAd,UAAe,CAAC;QAEd,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,mDAAmB,GAAnB,UAAoB,CAAM,EAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,wBAAwB,GAAG,CAAC,CAAC;IACzD,CAAC;IAGD,8CAAc,GAAd,UAAe,UAAU;QAAzB,iBAsFC;QApFC,IAAI,OAAO,GAAQ,EAAE,CAAC;QACvB,wCAAwC;QAC3C,kDAAkD;QAClD,sEAAsE;QACtE,QAAQ;QACR,yCAAyC;QACzC,qCAAqC;QAErC,2CAA2C;QAC3C,wDAAwD;QACxD,qEAAqE;QAErE,sDAAsD;QACtD,8CAA8C;QAE9C,2DAA2D;QAC3D,kEAAkE;QAElE,uDAAuD;QACvD,kEAAkE;QAElE,oDAAoD;QACpD,8DAA8D;QAC9D,0EAA0E;QAC1E,2DAA2D;QAE3D,sCAAsC;QACtC,mDAAmD;QACnD,mEAAmE;QAC/D,8DAA8D;QAC9D,oDAAoD;QAEpD,0CAA0C;QAC1C,6BAA6B;QAC7B,qBAAqB;QACrB,+BAA+B;QAC/B,KAAK;QACL,EAAE,EAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAC;YACjC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wDAAwD,CAAC;YACxF,MAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,UAAU,CAAC;QACrC,OAAO,CAAC,SAAS,GAAC,UAAU,CAAC,SAAS;QACvC,qBAAqB;QACpB,OAAO,CAAC,mBAAmB,GAAC,UAAU,CAAC,mBAAmB;QAC1D,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC7D,4DAA4D;QAC5D,wDAAwD;QACxD,0CAA0C;QAC1C,4FAA4F;QAC5F,8DAA8D;QAC9D,4EAA4E;QAC5E,sDAAsD;QACtD,sDAAsD;QAEtD,6EAA6E;QAI7E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAErC,wBAAwB;YACxB,wBAAwB;YACxB,6BAA6B;YAE7B,yBAAyB;YACzB,mEAAmE;YACnE,UAAU;YACV,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,2BAA2B;gBAEpC,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3D,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;gBACpE,UAAU,CAAC;oBACL,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACL,CAAC,EAAC,aAAG;YACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAuB,GAAvB;QAAA,iBAuEC;QAtEC,IAAI,WAAe,CAAC;QACpB,IAAI,IAAI,GAAK,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC1E,kCAAkC;QAClC,mCAAmC;QACnC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAG;YAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,GAAG,CAAC;YAC9B,IAAI,OAAW;YACb,OAAO,CAAC,OAAO,GAAC,GAAG,CAAC,CAAC,CAAC;YACxB,WAAW,GAAC,GAAG,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,WAAW,CAAC;YAE5C,IAAM,OAAO,GAAY,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrE,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;YAEjC,EAAE,EAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,EAAC;gBAC7B,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAU,CAAC,EAAC;oBAE9C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAElE,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAE,CAAC,EAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrC,CAAC;oBACD,IAAI,EAAC;wBACH,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;4BAEzC,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,EAAC,KAAK,CAAC,OAAO,CAAC;4BAC/D,EAAE,EAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAC;gCACrB,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,KAAK,CAAC,cAAc;4BAC/C,CAAC,iBAAgB;4BACjB,OAAO,CAAC,GAAG,CAAE,KAAK,EAAE,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC7C,IAAI,GAAG,GAAC;gCACN,SAAS,EAAE,KAAK,CAAC,OAAO;gCACxB,cAAc,EAAE,KAAK,CAAC,YAAY;gCAClC,qBAAqB,EAAE,KAAK,CAAC,mBAAmB;gCAChD,OAAO,EAAE,KAAK,CAAC,KAAK;gCACpB,MAAM,EAAE,KAAK,CAAC,IAAI;gCAClB,SAAS,EAAC,KAAK,CAAC,OAAO;gCACvB,gBAAgB,EAAC,KAAK,CAAC,cAAc;gCACrC,UAAU,EAAE,KAAK,CAAC,QAAQ;gCAC1B,iBAAiB,EAAE,KAAK,CAAC,eAAe;gCACxC,4CAA4C;gCAC5C,aAAa,EAAE,KAAK,CAAC,WAAW;gCAChC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;gCAC1C,gBAAgB,EAAE,KAAK,CAAC,cAAc;gCACtC,KAAK,EAAE,KAAK,CAAC,GAAG;gCAChB,YAAY,EAAE,KAAK,CAAC,UAAU;6BAC/B;4BAED,IAAI,mBAAmB,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,eAAe,IAAI,KAAK,CAAC,YAAY,EAA7C,CAA6C,CAAC,CAAC,CAAC,CAAC,CAAC;4BAChH,KAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;4BACjE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC1B,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,EAAC,KAAK,CAAC,CAAC;4BAC9D,CAAC;4BACD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBACrC,CAAC,CAAC;wBACF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,cAAc,EAAE;YACvB,CAAC;QAGH,CAAC,CAAC;QACH,iCAAiC;IAElC,CAAC;IAED,8CAAc,GAAd;QAAA,iBAkKC;QA/JC,IAAI,GAAO,CAAC;QAEZ,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAE3E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,IAAM,OAAO,GAAY,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrE,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAE7B,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,UAAU,IAAG,IAAI,CAAC,EAAC;gBAC3C,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAU,CAAC,EAAC;oBAE9C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAElE,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAE,CAAC,EAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrC,CAAC;oBACD,IAAI,EAAC;wBACH,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;4BAEzC,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,EAAC,KAAK,CAAC,OAAO,CAAC;4BAC/D,EAAE,EAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAC;gCACrB,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,KAAK,CAAC,cAAc;4BAC/C,CAAC,iBAAgB;4BACjB,OAAO,CAAC,GAAG,CAAE,KAAK,EAAE,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC7C,IAAI,GAAG,GAAC;gCACN,SAAS,EAAE,KAAK,CAAC,OAAO;gCACxB,cAAc,EAAE,KAAK,CAAC,YAAY;gCAClC,qBAAqB,EAAE,KAAK,CAAC,mBAAmB;gCAChD,OAAO,EAAE,KAAK,CAAC,KAAK;gCACpB,MAAM,EAAE,KAAK,CAAC,IAAI;gCAClB,SAAS,EAAC,KAAK,CAAC,OAAO;gCACvB,gBAAgB,EAAC,KAAK,CAAC,cAAc;gCACrC,UAAU,EAAE,KAAK,CAAC,QAAQ;gCAC1B,iBAAiB,EAAE,KAAK,CAAC,eAAe;gCACxC,4CAA4C;gCAC5C,aAAa,EAAE,KAAK,CAAC,WAAW;gCAChC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;gCAC1C,gBAAgB,EAAE,KAAK,CAAC,cAAc;gCACtC,KAAK,EAAE,KAAK,CAAC,GAAG;gCAChB,YAAY,EAAE,KAAK,CAAC,UAAU;6BAC/B;4BAED,IAAI,mBAAmB,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,eAAe,IAAI,KAAK,CAAC,YAAY,EAA7C,CAA6C,CAAC,CAAC,CAAC,CAAC,CAAC;4BAChH,KAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;4BACjE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC1B,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,EAAC,KAAK,CAAC,CAAC;4BAC9D,CAAC;4BACD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBACrC,CAAC,CAAC;wBACF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;oBACnG,CAAC;oBACH,+DAA+D;oBAC/D,0FAA0F;oBAC1F,6DAA6D;oBAC7D,4CAA4C;oBAE5C,QAAQ;oBACR,2BAA2B;oBAC3B,IAAI;oBAEL,sFAAsF;oBAEvF,yFAAyF;oBACzF,oFAAoF;oBAEpF,8CAA8C;oBAC9C,mEAAmE;oBACnE,kFAAkF;oBAClF,wFAAwF;oBACxF,iDAAiD;oBACjD,0GAA0G;oBAC1G,+FAA+F;oBAC/F,mFAAmF;oBACnF,QAAQ;oBACR,IAAI;oBACJ,oGAAoG;oBACpG,sGAAsG;oBACtG,qIAAqI;oBACrI,sDAAsD;oBAEtD,yDAAyD;oBACzD,qHAAqH;oBACrH,8EAA8E;oBAC9E,SAAS;oBAET,8GAA8G;oBAE9G,4DAA4D;oBAC5D,2HAA2H;oBAC3H,SAAS;oBACT,+GAA+G;oBAC/G,8FAA8F;oBAC9F,kDAAkD;oBAClD,6GAA6G;oBAC7G,SAAS;oBACT,iDAAiD;oBACjD,6GAA6G;oBAC7G,SAAS;oBAET,wGAAwG;oBACxG,kFAAkF;oBAClF,+CAA+C;oBAC/C,oGAAoG;oBACpG,4FAA4F;oBAC5F,iFAAiF;oBACjF,UAAU;oBACV,oHAAoH;oBACpH,mHAAmH;oBAC/G,wGAAwG;oBACxG,0FAA0F;oBAC1F,gDAAgD;oBAChD,+FAA+F;oBAC/F,KAAK;oBACL,4IAA4I;oBAC5I,4EAA4E;oBAC5E,uIAAuI;oBACvI,QAAQ;oBACR,SAAS;oBACT,+EAA+E;oBAC/E,KAAK;oBACL,8GAA8G;oBAE9G,sGAAsG;oBACtG,sGAAsG;oBAKzG;;;;;6CAKyB;oBAER,kEAAkE;oBAClE,sCAAsC;oBACtC,GAAG;oBACD,mCAAmC;oBAE/B,mGAAmG;oBACnG,8EAA8E;oBAElF,KAAK;oBAET,GAAG;oBAEjB,IAAI;gBAER,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACC,IAAI;gBACH,KAAI,CAAC,MAAM,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IAET,CAAC;IACD,sCAAM,GAAN;QAAA,iBAuCC;QAtCC,IAAM,OAAO,GAAY,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAChE,EAAE,EAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,aAAa,GAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBACrD,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAChC,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;wBACrC,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,CAAC,OAAO,CAAC;wBAEjE,IAAI,GAAG,GAAE;4BACP,SAAS,EAAE,KAAK,CAAC,YAAY;4BAC7B,cAAc,EAAE,EAAE;4BAClB,qBAAqB,EAAE,EAAE;4BACzB,OAAO,EAAE,KAAK,CAAC,QAAQ;4BACvB,MAAM,EAAE,KAAK,CAAC,OAAO;4BACrB,SAAS,EAAC,KAAK,CAAC,UAAU;4BAC1B,gBAAgB,EAAE,KAAK,CAAC,aAAa;4BACrC,UAAU,EAAE,EAAE;4BACd,iBAAiB,EAAE,EAAE;4BACrB,wBAAwB;4BACxB,aAAa,EAAE,EAAE;4BACjB,kBAAkB,EAAE,EAAE;4BACtB,gBAAgB,EAAE,EAAE;4BACpB,KAAK,EAAE,EAAE;4BACT,YAAY,EAAE,EAAE;yBACjB;wBAED,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACrC,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,2CAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,0CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,mDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,yCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,yCAAS,GAAT;QAAA,iBAqBG;QApBD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACrB,OAAO,EAAE,GAAG;YACZ,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ;YACnD,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAChB,KAAI,CAAC,MAAM,GAAC,wBAAwB,GAAC,SAAS;YAC9C,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,KAAI,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;YACzD,2DAA2D;YAC5D,KAAI,CAAE,YAAY,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC;QAE5C,CAAC,EAAC,UAAC,GAAG;YACJ,iBAAiB;QACnB,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;QACX,iCAAiC;QACnC,0DAA0D;QAC1D,+DAA+D;QAChE,8BAA8B;IAC7B,CAAC;IACD,4CAAY,GAAZ,UAAa,KAAK;QAAlB,iBAoCC;QAnCC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,GAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;QAC1C,KAAK,CAAC,OAAO,EAAE;QAEf,KAAK,CAAC,YAAY,CAAC,eAAK;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACxB,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;QACxC,CAAC,CAAC;QAGF,mCAAmC;QACnC,2BAA2B;QAC3B,+CAA+C;QAC/C,2BAA2B;QAC3B,WAAW;QACX,MAAM;QACN,mBAAmB;QACnB,2CAA2C;QAC3C,kCAAkC;QAClC,MAAM;QACN,KAAK;QACL,YAAY;QACZ,MAAM;QACN,qBAAqB;QACrB,sBAAsB;QACtB,+BAA+B;QAC/B,+CAA+C;QAC/C,sBAAsB;QACtB,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,KAAK;QACL,mBAAmB;QACnB,6BAA6B;IAE/B,CAAC;IACL,QAAQ;IACR,+CAA+C;IAC/C,IAAI;IACF,yCAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,2CAAW,GAAX,UAAY,MAAM;QAChB,IAAI,KAAK,GAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK;QAC1C,KAAK,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QAChC,KAAK,CAAC,OAAO,GAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAClC,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC;QACpB,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAG;YACvC,4DAA4D;YAC5D,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAtkCQ,qBAAqB;QAJjC,wEAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;WACG;SACxC,CAAC;4NAyD6D,CAA+B;YAC3E,+JAAoC,2FAAkB;YACxD,kKAA8B,sFAAgC,EAAiB;YAC9E,MAAM,EAAiB,UAAiD;OA3D7E,qBAAqB,CAukCjC;IAAD,CAAC;AAAA;SAvkCY,qBAAqB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzB+B;AACR;AAC8B;AACW;AAClB;AACP;AACE;AAEH;AACE;AAC1E;;;;;GAKG;AAOH;IAqCE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAC/D,OAAgC,EAAQ,GAAuB,EAC/D,KAAoB,EAAQ,QAA0B,EACrD,cAA6B,EAAS,OAAuB;QAHxE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAC/D,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAoB;QAC/D,UAAK,GAAL,KAAK,CAAe;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QACrD,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QAjB3F,uBAAkB,GAAY,KAAK,CAAC;QACpC,4BAAuB,GAAW,KAAK,CAAC;QAGxC,QAAG,GAAK,GAAG;QACX,gBAAW,GAAK,EAAE;QAClB,iBAAY,GAAK,EAAE;QAEZ,aAAQ,GAAQ,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,CAAC,CAAC;QAC90B,WAAM,GAAU,IAAI,CAAC,QAAQ,CAAC;QASnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,CAAC,wBAAwB,GAAC,GAAG,CAAC;QAClC,IAAI,CAAC,yBAAyB,GAAC,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACjC;YACM,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,iBAAiB,EAAC,CAAC,EAAE,CAAC;YAEtB,6FAA6F;YAC7F,+FAA+F;YAE/F,aAAa,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACjE,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAC/B,kCAAkC,EAAE,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACvD,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAC5B,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC9D,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC/D,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5D,2BAA2B,EAAE,CAAC,EAAE,CAAC;YACjC,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAC/B,oBAAoB,EAAE,CAAC,EAAE,CAAC;YAC1B,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxB,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,wBAAwB,EAAE,CAAC,EAAE,CAAC;YAC9B,eAAe,EAAC,CAAC,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC,EAAE,CAAC;YAC1B,wBAAwB,EAAE,CAAC,EAAE,CAAC;YAC9B,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,UAAU,EAAE,CAAC,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC,EAAE,CAAC;SAS7B,CAAC;IACN,CAAC;IAED,8CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,+CAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAC;YAE5B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IAED,+CAAe,GAAf;QAAA,iBAmBC;QAhBC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAC/C,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACvB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YACjF,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACvB,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;gBACpF,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,IAAI,QAAQ,EAArB,CAAqB,CAAC,CAAC;gBACvF,KAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,yBAAyB,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACpG,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4DAA4B,GAA5B;QAAA,iBAeC;QAbK,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAEpE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAK;YAC/C,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAChC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC;gBACpF,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,aAAa,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAlD,CAAkD,CAAC,CAAC;gBACtH,KAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC;YACrF,CAAC;YACD,IAAI,CAAC,CAAC;YAEN,CAAC;QACH,CAAC,CAAC;IAER,CAAC;IAED,iDAAiB,GAAjB;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC;QAEjI,EAAE,EAAC,MAAM,IAAI,EAAE,CAAC,EAAC;YACf,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;YAC5E,oFAAoF;YAEpF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC7E,IAAI,MAAM,GAAG,MAAM,GAAC,WAAW;YAC/B,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,IAAG,EAAE,CAAC,EAAC;gBAClE,IAAI,OAAO,GAAC,MAAM,GAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK;gBAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3E,CAAC;YACD,EAAE,EAAC,MAAM,IAAI,CAAE,CAAC,EAAC;gBACf,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,MAAM,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEpF,CAAC;QACD,IAAI,EAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;YAChE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAClF,MAAM,CAAC;QACT,CAAC;IAGH,CAAC;IAED,2CAAW,GAAX;QAAA,iBAoFC;QAnFA,yFAAyF;QACxF,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC;YAClI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,CAAC;YAC9D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC1C,MAAM;QACR,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAE,CAAC,EAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM;QACR,CAAC;QACH,qFAAqF;QACnF,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC;YAClJ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sCAAsC,CAAC;YACtE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM;QACR,CAAC;QAEC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;YACzD,MAAM,CAAC;QACX,CAAC;QAGD,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;QAC5E,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;QACpF,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;QAC5E,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;QAC9E,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,KAAK,CAAC;QACpG,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,KAAK,CAAC;QACtH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;QAChE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;YAChF,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC;QAClG,CAAC;QAAA,IAAI,EAAC;YACJ,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;QAC9E,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACjK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QAChF,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAC1E,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,KAAK,CAAC;QACxG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,KAAK,CAAC;QACpG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;QAC1F,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;QAEtF,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;QACxF,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC;QAClG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QAChF,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACtK,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAE9K,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QAEtE,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QAChF,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QAChF,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QACtE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;QAElF,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;QAEpF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAG3C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC3B,2BAA2B;gBACjC,yCAAyC;gBACxC,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACjD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAGD,yDAAyB,GAAzB,UAA0B,SAAS,EAAE,WAAW;QAC9C,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,WAAW,EAA1E,CAA0E,CAAC,CAAC;QAC3I,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAA5D,CAA4D,CAAC,CAAC;YACtJ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzI,CAAC;QACD,IAAI,CAAC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,wCAAQ,GAAR,UAAS,KAAK;QACZ,mCAAmC;QACnC,yBAAyB;QACzB,kDAAkD;QAClD,mCAAmC;QACnC,iDAAiD;QACjD,4DAA4D;QAC5D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,EAAE,EAAC,UAAU,EAAC,KAAK,EAAC,CAAC,CAAC;QAC50B,IAAI,CAAC,CAAE;QAER,EAAE,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC5B,GAAG,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,IAAE,KAAK,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACjC,EAAE,EAAC,KAAK,IAAI,EAAE,CAAC,EAAC;oBACd,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBACrC,CAAC;YACL,CAAC;IAED,CAAC;IACD,kDAAkB,GAAlB,UAAmB,CAAC;QAElB,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAjC,CAAiC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3E,EAAE,EAAC,KAAK,CAAC,cAAc,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE,IAAI,KAAK,CAAC,cAAc,IAAI,SAAS,CAAC,EAAC;YAClG,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,cAAc;QACvD,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,cAAc,CAAC,EAAC;YACtB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,cAAc;QACvD,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAEzE,CAAC;IAGL,oDAAoB,GAApB,UAAqB,CAAC;QAElB,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAErE,IAAI,eAAe,GAAW,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,cAAc,GAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,EAAE,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC7G,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACvE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,CAAC;YACF,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAExG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC7G,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEvE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;gBAC/G,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE1E,CAAC;YAAC,IAAI,CAAC,CAAC;gBAEN,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAEpF,CAAC;QACL,CAAC;IACL,CAAC;IAGD,uDAAuB,GAAvB;QACE,yKAAyK;QACzK,mKAAmK;QAEnK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7I,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEnF,EAAE,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,KAAK,CAAC,EAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;QAE3J,EAAE,EAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC9F,CAAC;IAEH,CAAC;IAED,uCAAO,GAAP,UAAQ,GAAG,EAAC,IAAW;QACrB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,mBAAmB,GAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAClE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACxE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACtE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACxE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC9D,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC9D,KAAK,CAAC;QACV,CAAC;IACF,CAAC;IAGD,oDAAoB,GAApB;QAAA,iBA8DE;QA5DC,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAEnF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAK;YAC/C,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAChC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;gBACvB,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBACjF,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9D,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAClG,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBACpH,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,IAAI,IAAI,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oCAAoC,CAAC,IAAI,IAAI,CAAC,EAAC;oBAClJ,iCAAiC;gBACnC,CAAC;gBAED,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;oBACtB,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAClF,CAAC;gBACD,EAAE,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAC7B,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAChG,CAAC;gBACD,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAC,GAAG,CAAC,qBAAqB,EAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACtF,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrB,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAC1F,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,CAAC,CAAC,CAAC;gBAE9C,CAAC;gBACD,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACtG,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAClG,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACxF,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACpF,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACtF,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAChG,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACxF,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAChG,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC9E,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAChF,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAEpF,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,CAAC,CAAC,CAAC;gBACzC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,CAAC,CAAC,CAAC;gBACvC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,CAAC,CAAC,CAAC;gBACpC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC,CAAC,CAAC;gBACxC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAC,CAAC,CAAC,CAAC;gBAC7C,EAAE,EAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,EAAC;oBACtC,KAAI,CAAC,uBAAuB,EAAE,CAAC;gBACzC,CAAC;YAEK,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IACD,2CAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACC,0CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,mDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,yCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,uCAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,yCAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA3iBmB;QAArB,yEAAS,CAAC,SAAS,CAAC;kCAAW,iEAAU;2DAAA;IACd;QAA3B,yEAAS,CAAC,eAAe,CAAC;kCAAqB,iEAAU;qEAAA;IAClC;QAAvB,yEAAS,CAAC,WAAW,CAAC;kCAAiB,iEAAU;iEAAA;IAnCvC,qBAAqB;QAJjC,wEAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;WACG;SACzC,CAAC;4NAsC6D,CAA+B;YACvD,kLAAqC,CAAkB;YACxD,yFAAa,CAAiB,6FAAiB;YACtC,cAAc,EAAiB,EAAe;OAxChF,qBAAqB,CA6kBjC;IAAD,CAAC;AAAA;SA7kBY,qBAAqB,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBsD;AAC/B;AACmB;AACsB;AAClB;AACP;AACD;AACzC;AACY;AAC6B;AACE;AAC1E;;;;;GAKG;AAQH;IA8BE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,OAAgC,EAAQ,KAAmB,EAC3D,GAAsB,EAAQ,QAA0B,EACxD,cAA6B,EAAS,OAAuB;QAHnD,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAC3D,QAAG,GAAH,GAAG,CAAmB;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QACxD,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QA/BtE,oBAAe,GAAQ,EAAE,CAAC;QAS1B,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAE9B,eAAU,GAAM,EAAE,CAAC;QACnB,kBAAa,GAAM,EAAE,CAAC;QACtB,mBAAc,GAAS,EAAE,CAAC;QAC1B,aAAQ,GAAS,EAAE,CAAC;QACpB,uBAAkB,GAAM,EAAE,CAAC;QAG3B,qBAAgB,GAAS,KAAK;QAGpB,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QAE3C,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QACb,iBAAY,GAAM,EAAE,CAAC;QAQnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,kBAAkB,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAE3F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAI3E,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YACE,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;IAGP,CAAC;IACD,mDAAc,GAAd;QACG,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,oDAAe,GAAf;QAAA,iBAsDD;QArDG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC;YAE7B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBACjC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;IACL,CAAC;IAEC,gDAAW,GAAX;QAAA,iBAsDC;QApDC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YAEpD,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC9D,KAAI,CAAC,eAAe,GAAC,KAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3D,KAAI,CAAC,YAAY,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAE,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAEjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,EAApB,CAAoB,CAAE,uCAAqC;YAClH,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,iEAAiE;gBACjE,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YAEzF,CAAC;QACH,CAAC,CAAC;QACA,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC9B,8EAA8E;YAC7E,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACL,6BAA6B;YAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAG1F,6EAA6E;QAC9E,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,cAAI;YACjD,KAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC;QAGnF,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACtD,KAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAE,CAAC;QACtE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACtE,CAAC,CAAC;IACN,CAAC;IAED,+CAAU,GAAV,UAAW,GAAG;QAGZ,EAAE,EAAC,GAAG,IAAG,KAAK,CAAC,CACf,CAAC;YACC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IAEH,CAAC;IACD,qDAAgB,GAAhB,UAAiB,IAAI;QACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,WAAW,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YACrD,SAAS,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjD,eAAe,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC7D,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACrC,SAAS,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACjD,gBAAgB,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC/D,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YACzD,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACjE,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3C,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YACzD,eAAe,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC7D,sBAAsB,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC3E,cAAc,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;YACjE,wBAAwB;YACxB,qBAAqB;YACrB,kBAAkB;YAClB,aAAa;YACb,mBAAmB;YACnB,yBAAyB;YACzB,sBAAsB;YACtB,0BAA0B;YAC1B,gBAAgB;YAChB,sBAAsB;YACtB,yBAAyB;YACzB,gCAAgC;YAChC,qBAAqB;SACtB,CAAC,CAAC;IACP,CAAC;IACD,mDAAc,GAAd;QACI,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QACnB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,mDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,gDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IACD,gDAAW,GAAX,UAAY,OAAO;QACjB,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,yBAAyB;QACzB,4DAA4D;QAC5D,8BAA8B;QAC5B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,EAAE,kEAAU,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,CAAC;QAC/D,kDAAkD;QACpD,IAAI;QACJ,QAAQ;QAET,oDAAoD;QAInD,4FAA4F;QAC5F,uEAAuE;QACvE,4DAA4D;QAC5D,uCAAuC;QACvC,qBAAqB;QACjB,wDAAwD;QACxD,kCAAkC;QAClC,4FAA4F;QAC5F,uEAAuE;QAG3E,IAAI;IACN,CAAC;IACD,oDAAe,GAAf,UAAgB,OAAO;QAErB,IAAI,aAAa,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpB,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAG,CAAC,EAAC;YAC9K,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACvB,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBACvB,IAAI,CAAC,gBAAgB,GAAC,KAAK;gBAC7B,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAE;gBACtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,EAAC;gBACH,qFAAqF;gBACrF,IAAI,CAAC,gBAAgB,GAAC,IAAI;gBAC3B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACxC,CAAC;QAEH,CAAC;QACD,IAAI,EAAC;YACH,IAAI,CAAC,gBAAgB,GAAC,KAAK;QAC7B,CAAC;IAED,CAAC;IACD,6CAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,4CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAGD,sDAAiB,GAAjB,UAAkB,CAAC,EAAC,CAAC;QAEnB,MAAM,EAAC,CAAC,CAAC,CAAC,EAAC;YACT,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;gBAAC,KAAK,CAAC;YAC7D,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;gBAAE,KAAK,CAAC;YACrE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;gBAAC,KAAK,CAAC;YACxE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC;gBAAC,KAAK,CAAC;YACzE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC;gBAAE,KAAK,CAAC;YACpE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,6BAA6B,CAAC;gBAAC,KAAK,CAAC;YACvE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC;gBAAC,KAAK,CAAC;YACrE;gBAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;gBAAC,KAAK,CAAC;QAClE,CAAC;IAED,CAAC;IAED,sDAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAgDC;QA/CC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,IAAI,GAAC,EAAE;QACX,qDAAqD;QAErD,kEAAkE;QAClE,0FAA0F;QAC1F,gBAAgB;QAChB,MAAM;QAEN,KAAK;QACL,6BAA6B;QAC7B,YAAY;QACZ,WAAW;QACX,IAAI;QACJ,EAAE,EAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAC;YAChC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kDAAkD,CAAC,CAAC;YACnF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM;QACR,CAAC;QAED,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QACjD,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC/C,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC7D,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;YAC9B,OAAO,GAAG,CAAC,UAAU;QACvB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAEzC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACE,2BAA2B;gBAC5B,uCAAuC;gBACvC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEjD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAE9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACC,oDAAe,GAAf;QAAA,iBAwRC;QAtRC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,IAAM,OAAO,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACtE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAK,CAAC,CAC5B,CAAC;gBACC,IAAI,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBAExC,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,IAAG,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,IAAG,EAAE,CAAC,EAAC;oBACtH,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;wBACzC,GAAG,CAAC,UAAU,GAAC,EAAE;oBACnB,CAAC,CAAC;oBACJ,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAEpE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAE5C,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,MAAM,CAAC,CAAC;oBAC7B,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBACvF,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;oBACnG,IAAM,SAAO,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACtE,EAAE,EAAC,kBAAkB,CAAC,aAAa,IAAI,IAAI,CAAC,CAC5C,CAAC;wBACC,EAAE,EAAC,MAAM,CAAC,MAAM,IAAG,CAAC,CAAC,CACrB,CAAC;4BACC,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5C,CAAC;wBAAA,IAAI,CACL,CAAC;4BAEC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;gCAEvB,sCAAsC;gCACtC,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC1C,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;gCAC9C,EAAE,EAAC,KAAK,CAAC,WAAW,IAAE,EAAE,CAAC,EAAC;oCACxB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCAC/E,CAAC;gCACD,EAAE,EAAC,KAAK,CAAC,GAAG,IAAE,EAAE,CAAC,EAAC;oCAChB,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC1E,CAAC;4BACH,CAAC,CAAC;4BAEJ,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBAEhE,CAAC;oBACH,CAAC;gBACD,CAAC;gBACD,IAAI,CACJ,CAAC;oBACC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBACvF,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;gBACrG,CAAC;YAEH,CAAC;YACD,IAAI,CAAC,CAAC;gBAEJ,KAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;oBAGhE,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;wBAIxB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;wBAI7B,EAAE,EAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;4BAC9C,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,iBAAO;gCAC1C,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC;oCAC/B,SAAS,EAAC,OAAO,CAAC,aAAa;oCAC/B,OAAO,EAAC,EAAE;oCACV,UAAU,EAAC,OAAO,CAAC,0BAA0B;oCAC7C,WAAW,EAAE,OAAO,CAAC,gCAAgC;oCACrD,SAAS,EAAC,6BAA6B,EAAC,CAAC;4BAC5C,CAAC,CAAC;wBACJ,CAAC;wBAEA,EAAE,EAAC,SAAS,CAAC,eAAe,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACnC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAO;gCACjC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,OAAO,CAAC,oBAAoB;oCACvD,SAAS,EAAC,OAAO,CAAC,yBAAyB;oCAC3C,OAAO,EAAC,OAAO,CAAC,gBAAgB;oCAChC,UAAU,EAAC,OAAO,CAAC,0BAA0B;oCAC7C,WAAW,EAAE,OAAO,CAAC,gCAAgC;oCACrD,SAAS,EAAC,2BAA2B,EAAC,CAAC;4BAC/C,CAAC,CAAC,CAAC;wBACN,CAAC;wBAED,EAAE,EAAC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;4BACpC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAO;gCAC/B,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,OAAO,CAAC,WAAW;oCAC9C,SAAS,EAAC,OAAO,CAAC,gBAAgB;oCAClC,OAAO,EAAC,OAAO,CAAC,OAAO;oCACvB,UAAU,EAAC,OAAO,CAAC,iBAAiB;oCACpC,WAAW,EAAE,OAAO,CAAC,WAAW;oCAChC,SAAS,EAAC,uBAAuB;iCACpC,CAAC;4BACP,CAAC,CAAC;wBACH,CAAC;wBAGH,yFAAyF;wBACzF,0EAA0E;wBAC1E,oFAAoF;wBACpF,uEAAuE;wBACvE,uEAAuE;wBACvE,sEAAsE;wBAE3E,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;4BAC5B,IAAI,YAAU,GAAS,EAAE,CAAC;4BAE1B,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gCACpC,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEhB,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;wCAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCACpE,CAAC,CAAC,CAAC,CAAC;oCAEP,YAAU,CAAC,KAAK,CAAC,GAAI,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,CAAC;gCAC9D,CAAC;gCACC,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC;oCAC9B,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAE,CAAC,EAAC;wCAC3B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CACzB,2BAA2B;4CAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACpE,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAEF,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACrD,YAAU,CAAC,KAAK,CAAC,GAAI,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCACzE,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEhB,IAAI,OAAK,GAAQ,qBAAqB,CAAC;oCACrC,IAAI,MAAI,CAAC;oCACT,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACzB,MAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC;wCAC5B,EAAE,EAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,EAAC;4CACxB,EAAE,EAAC,GAAG,CAAC,SAAS,IAAI,2BAA2B,CAAC,EAAC;gDAC7C,MAAI,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,eAAe,IAAI,CAAC,CAAC,aAAa,EAAvC,CAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4CACxG,CAAC;4CACD,IAAI,CAAC,EAAE,EAAC,GAAG,CAAC,SAAS,IAAI,uBAAuB,CAAC,EAAC;gDAC9C,MAAI,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,IAAI,CAAC,CAAC,aAAa,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4CACpF,CAAC;4CACD,IAAI,EAAC;gDACD,MAAI,GAAG,EAAE,CAAC;4CACd,CAAC;wCACV,CAAC;wCAAA,IAAI,EAAC;4CACL,MAAI,GAAC,CAAC,CAAC,mBAAmB,CAAC;wCAC/B,CAAC;wCACD,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4CAC1B,OAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;gDAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CACpE,CAAC,CAAC,CAAC,CAAC;wCACP,CAAC;oCAEM,CAAC,CAAC,CAAC;oCACH,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACrD,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,OAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCAC1E,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC;oCACvC,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wCAC3B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACpE,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAED,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACtD,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCAC1E,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,mCAAmC,CAAC;oCAChD,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAE,CAAC,EAAC;wCAC5B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACpE,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAED,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACtD,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCAC1E,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEhB,IAAI,KAAK,GAAK,qBAAqB,CAAC;oCACtC,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAC3B,CAAC;wCACG,KAAK,GAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACpE,CAAC,CAAC,CAAC,CAAC;oCACR,CAAC;oCAEG,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,KAAK,GAAC,KAAK,GAAE,GAAG,CAAC,SAAS,CAAC;gCAC3D,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAEd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC;8CACD,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,IAAI,CAAC,CAAC,gBAAgB,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;8CAC7E,CAAC,CAAC,sBAAsB,CAAE;oCAE1D,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wCAC3B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACpE,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAED,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACtD,YAAU,CAAC,KAAK,CAAC,GAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;oCACxE,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK,GAAE,GAAG,CAAC,SAAS;gCAE3C,CAAC;4BACH,CAAC,CAAC,CAAC;4BACH,IAAM,SAAO,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BACtE,KAAI,CAAC,QAAQ,GAAG,YAAU,CAAC;4BAC3B,IAAI,KAAG,GAAS,EAAE,CAAC;4BACrB,EAAE,EAAC,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gCACzB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC5D,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;oCAE1B,KAAG,GAAG;wCACN,OAAO,EAAE,CAAC;wCACV,aAAa,EAAE,EAAE;wCACjB,WAAW,EAAC,EAAE;wCACd,iBAAiB,EAAC,EAAE;wCACpB,KAAK,EAAE,EAAE;wCACT,WAAW,EAAE,EAAE;wCACf,kBAAkB,EAAE,EAAE;wCACtB,eAAe,EAAC,EAAE;wCAClB,mBAAmB,EAAC,EAAE;wCACtB,QAAQ,EAAE,EAAE;wCACZ,eAAe,EAAC,EAAE;wCAClB,iBAAiB,EAAE,EAAE;wCACrB,wBAAwB,EAAE,EAAE;wCAC5B,gBAAgB,EAAC,EAAE;qCACtB;oCACD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,CAAC;gCACzC,CAAC,CAAC,CAAC;gCACH,gEAAgE;4BACpE,CAAC;wBACL,CAAC;wBACD,IAAI,EAAC;4BAED,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9C,CAAC;oBAEL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACC,CAAC,CAAC;IAGN,CAAC;IACD,8CAAS,GAAT,UAAU,OAAO;QAAjB,iBASC;QARC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpB,IAAI,IAAI,GAAQ,MAAM;QACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;aAC1C,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC,SAAS,CAAC;YACT,KAAI,CAAC,eAAe,GAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAI,CAAC,UAAU,EAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAC,IAAI,CAAC;QAC1G,CAAC,CAAC;IAEJ,CAAC;IACH,iBAAiB;IACf,gDAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,+CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,wDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,8CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,uDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,4CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,8CAAS,GAAT;QAAA,iBA0BC;QAzBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;YACvB,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,EAAC,aAAG;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;IA3tByB;QAA3B,yEAAS,CAAC,eAAe,CAAC;kCAAe,iEAAU;mEAAA;IAtBzC,0BAA0B;QALtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;qNAgC4B,CAAgE;YAC3E,yLAAsC,CAAa;YACvD,uLAAmC,EAAiB;YACzC,cAAc,EAAiB,OAAe;OAjC3D,0BAA0B,CAkvBtC;IAAD,CAAC;AAAA;SAlvBY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBG;AACe;AACmC;AACM;AAClB;AACP;AACE;AAChC;AACG;AAC0B;AACE;AACR;AAmBlE;IAmDE,6BAAmB,OAAsB,EAAS,SAAoB,EAAS,EAAe,EACrF,OAAiC,EAAS,GAAuB,EACjE,KAAoB,EAAQ,QAA0B,EAAS,cAA6B,EAC3F,OAAuB,EAAQ,SAAyB;QAHlE,iBA2EC;QA3EkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,OAAE,GAAF,EAAE,CAAa;QACrF,YAAO,GAAP,OAAO,CAA0B;QAAS,QAAG,GAAH,GAAG,CAAoB;QACjE,UAAK,GAAL,KAAK,CAAe;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QAAS,mBAAc,GAAd,cAAc,CAAe;QAC3F,YAAO,GAAP,OAAO,CAAgB;QAAQ,cAAS,GAAT,SAAS,CAAgB;QArDlE,WAAM,GAAQ,EAAE,CAAC;QAGjB,kBAAa,GAAY,KAAK,CAAC;QAiB/B,eAAU,GAAM,EAAE,CAAC;QACnB,mBAAc,GAAU,KAAK,CAAC;QAC9B,gBAAW,GAAM,EAAE,CAAC;QAMpB,0BAAqB,GAAK,EAAE,CAAC;QAE7B,wBAAmB,GAAK,EAAE;QAC1B,mBAAc,GAAY,KAAK,CAAC;QAG9B,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAY,KAAK,CAAC;QAE5B,eAAU,GAAK,EAAE,CAAC;QAMjB,gEAAgE;QACzD,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QACpC,kBAAa,GAA8B,IAAI,mDAAa,CAAa,CAAC,CAAC,CAAC;QACnF,iBAAY,GAAM,EAAE,CAAC;QACrB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAMX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAApD,CAAoD,CAAC,CAAC;QACvG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,4DAA4D;YAC7D,kBAAkB;YACjB,uBAAuB,EAAE,CAAC,EAAE,CAAC;YAC7B,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,eAAe,EAAG,CAAC,EAAE,CAAC;YACtB,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,4BAA4B;YAC5B,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,yBAAyB;YACzB,SAAS,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,UAAU,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,oCAAoC;YACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,uEAAuE;YACvE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrE,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,sCAAsC;QACtC,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAG,IAAI,CAAC,EAAC;YACtD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACjF,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrF,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAC;YACnF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;YACtF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;QAEJ,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,YAAY,IAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,IAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,IAAG,IAAI,CAAC,CAClH,CAAC;YACC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;QAGD,EAAE,EAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,EAAC;YACpF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;aACtD,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC,SAAS,CAAC;YACT,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC;IAEJ,CAAC;IACD,4CAAc,GAAd;QACE,OAAO,CAAE,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,yCAAW,GAAX;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEF,6CAAe,GAAf;QAAA,iBAmEC;QAlEC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChD,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAC;YAE7B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,IAAI,KAAK,GAAK,KAAI,CAAC,eAAe,CAAC,KAAK;wBACxC,KAAK,CAAC,KAAK,GAAC,KAAI,CAAC,SAAS,CAAC,KAAK;wBAChC,KAAK,CAAC,OAAO,GAAC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC;wBAClC,IAAI,OAAO,GAAC,KAAI,CAAC,MAAM,CAAC,OAAO;wBAC/B,+BAA+B;wBAC/B,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAG;4BACvC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;4BACzD,KAAK,CAAC,OAAO,EAAE,CAAC;4BAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACnB,CAAC,CAAC;wBACF,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QACP,CAAC;IAEH,CAAC;IACS,wCAAU,GAApB;QACC,EAAE,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC;YAClB,MAAM;QACP,CAAC;QACD,IAAI,MAAM,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;QAC5D,EAAE,EAAC,CAAC,MAAM,CAAC,EAAC;YACX,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,cAAc;YACnC,8CAA8C;YAC9C,uCAAuC;YACvC,kBAAkB;YAClB,QAAQ;YACR,uCAAuC;YACvC,kBAAkB;YAClB,QAAQ;YACR,eAAe;YACf,QAAQ;YACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC/C,kDAAkD;YAClD,MAAM;QACR,CAAC;QAAA,IAAI,EAAC;YACJ,MAAM,GAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,cAAc;QAClC,8CAA8C;QAC9C,qCAAqC;QACrC,gBAAgB;QAChB,MAAM;QACN,qCAAqC;QACrC,gBAAgB;QAChB,MAAM;QACN,aAAa;QAEb,MAAM;QACP,mCAAmC;QAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAM,IAAI,aAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAArD,CAAqD,CAAC;QACtF,6DAA6D;SAC9D;QACF,+CAA+C;QAC/C,mDAAmD;IACpD,CAAC;IAMD,yCAAW,GAAX;QAAA,iBAsGC;QArGC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAClD,cAAI;YACF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YACzE,KAAI,CAAC,SAAS,GAAC,KAAI,CAAC,cAAc;YAClC,KAAI,CAAC,SAAS,GAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,EAAC,CAAC;gBACrC,EAAE,EAAC,CAAC,CAAC,WAAW,GAAC,CAAC,CAAC,WAAW,CAAC,EAAC;oBAC9B,MAAM,CAAC,CAAC,CAAC;gBACX,CAAC;gBACD,EAAE,EAAC,CAAC,CAAC,WAAW,GAAC,CAAC,CAAC,WAAW,CAAC,EAAC;oBAC9B,MAAM,CAAC,CAAC,CAAC;gBACX,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEjD,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,cAAI;YAErF,KAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC,CAAC;QAEtE,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CACvD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7C,IAAI,MAAI,GAAG,KAAI,CAAC;gBAClB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CACjD,UAAU,IAAI;oBACZ,EAAE,CAAC,CAAC,MAAI,CAAC,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC;wBACvC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,MAAI,CAAC,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;4BACvE,MAAM,CAAC,IAAI,CAAC;wBAChB,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,CAAC,MAAI,CAAC,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC;wBAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,MAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,IAAI,MAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC1G,MAAM,CAAC,IAAI,CAAC;wBAChB,CAAC;wBACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,MAAI,CAAC,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC3G,MAAM,CAAC,IAAI,CAAC;wBAChB,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;gBACF,wCAAwC;YACzC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,KAAI,CAAC,qBAAqB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAC7D,cAAI;YACF,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,iBAAO;YACL,EAAE,EAAC,OAAO,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC9B,IAAI,MAAI,GAAG,KAAI,CAAC;gBAClB,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC7C,UAAS,IAAI;oBAEX,EAAE,EAAC,MAAI,CAAC,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAE,CAAC,CAAC,CAC1E,CAAC;wBACC,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CAAC;gBACN,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;YAC/G,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YACvF,CAAC;QACD,CAAC,CAAC;QAEJ,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAC1F,6EAA6E;YAC7E,EAAE,EAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,EAAC;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,mBAAmB,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;YAClH,CAAC;QACC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,cAAI;YACxD,KAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAI,CAAC,EAAlB,CAAkB,CAAC;QAC1E,CAAC,CAAC;IACJ,CAAC;IAED,6DAA+B,GAA/B,UAAgC,KAAU;QAC1C,gCAAgC;QAC3B,+DAA+D;QAC9D,qEAAqE;QACtE,0DAA0D;QAC7D,GAAG;QACH,gCAAgC;QAC7B,kFAAkF;QACjF,qEAAqE;QACzE,IAAI;QACJ,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,GAAC,EAAE;QAE3B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/D,CAAC;IAEH,CAAC;IAEC,0CAAY,GAAZ,UAAa,aAAa;QAExB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,aAAa,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,mBAAmB,IAAE,aAAa,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAChF,EAAE,EAAC,aAAa,IAAE,uBAAuB,IAAI,aAAa,IAAE,QAAQ,CAAC,CACrE,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IAGL,CAAC;IACD,4CAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IAEnB,CAAC;IAGD,sCAAQ,GAAR;QAEC,IAAI,QAAQ,GAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnE,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;QACxD,IAAI,QAAQ,CAAE;QACX,EAAE,EAAC,QAAQ,IAAG,IAAI,IAAI,QAAQ,IAAG,EAAE,IAAK,UAAU,IAAG,IAAI,IAAI,UAAU,IAAE,EAAE,CAAC,CAC5E,CAAC;YAAA,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAC5B,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;gBACjC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxE,CAAC;YAAI,IAAI,CAAC,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gFAAgF,CAAC,CAAC;gBACjH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC9B,CAAC;QAAI,CAAC;QACF,mEAAmE;IACvE,CAAC;IAED,gDAAkB,GAAlB,UAAmB,UAAU;QAA7B,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAC,UAAU,CAAC,CAAC,SAAS,CAC3D,cAAI;YACF,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2CAAa,GAAb,UAAc,KAAK;QAAnB,iBAgBC;QAfC,wBAAwB;QACxB,KAAK,CAAC,OAAO,CAAC,gBAAM;YAClB,IAAI,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,iBAAiB,IAAE,MAAM,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACjE,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAE3B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,MAAM,CAAE;YACV,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE9B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAe,GAAf,UAAgB,KAAK;QAArB,iBAKC;QAJC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAM;YACxB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAY,GAAZ,UAAa,GAAG;QAEd,wEAAwE;QACxE,qEAAqE;QAHvE,iBAaD;QARG,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,CAAC,EAAN,CAAM,CAAC,EAAC,kCAAkC;QAC7E,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,CAAC,EAAN,CAAM,CAAC,EAAC,kCAAkC;QAE1E,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,GAAG,CAAC,OAAO,CAAC,gBAAM;YACjB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACN,CAAC;IACC,qCAAO,GAAP,UAAQ,CAAC,EAAC,IAAW;QACnB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E;gBACI,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IACC,+CAAiB,GAAjB;QAAA,iBAuHC;QAtHC,kCAAkC;QAClC,IAAI,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACzE,OAAO,CAAC,WAAW,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACzE,OAAO,CAAC,WAAW,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACrE,gCAAgC;QAChC,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAO;YACtD,iBAAiB,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACX,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC;QAE1C,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;QACjF,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QAC1E,sEAAsE;QACrE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;QACrG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAC;YAClE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;YAEnF,IAAI,iBAAe,GAAC,EAAE,CAAC;YAC1B,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CACvD,CAAC;gBAEE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAO;oBAC3D,iBAAe,CAAC,IAAI,CAAC,EAAC,OAAO,EAAG,OAAO,EAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC;YACC,OAAO,CAAC,YAAY,GAAC,iBAAe,CAAC;QAEvC,CAAC;QACD,iEAAiE;QAC7D,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAC/E,GAAG;QACH,EAAE,EAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,EAAC;YAC3B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;YAC7E,EAAE,EAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,EAAC;gBAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;YAC7F,CAAC;QACL,CAAC;QAEC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YACnD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QACrF,CAAC;QAKF;;;YAGI;QACH,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,EAAC;YACrB,OAAO,CAAC,YAAY,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QACrE,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAC;YACnC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;YAC7E,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,IAAG,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,IAAG,IAAI,CAAC,EAAC;gBACnH,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;YAC7F,CAAC;YAAA,CAAC;YACA,8CAA8C;YAC9C,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;gBAC5D,IAAI,gBAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAO;oBACzD,gBAAc,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,gBAAgB,GAAG,gBAAc,CAAC;YAC5C,CAAC;YACD,IAAI,EAAC;gBACX,OAAO,CAAC,gBAAgB,GAAC,EAAE,CAAC;YACtB,CAAC;YAEP,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;YAC1F,0GAA0G;QAEnG,CAAC;QAAA,IAAI,EAAC;YACJ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACpC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;QACvF,2FAA2F;QAC3F,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC3B,2BAA2B;gBAC5B,0CAA0C;gBAC1C,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACzD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACC,0DAA0D;QAC5D,CAAC,CAAC;QACJ,QAAQ;QACR,IAAI;QACJ,2DAA2D;QAC3D,IAAI;IACJ,CAAC;IAED,4CAAc,GAAd;QAAA,iBA+IC;QA9IC,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAEnF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAK;YAC/C,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAChC,IAAI,aAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACnE,MAAM,CAAC,aAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAGH,aAAa;gBACb,MAAM,CAAC,OAAO,CAAC,aAAG;oBAChB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9B,iDAAiD;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAI,WAAS,GAAQ,EAAE,CAAC;gBACxB,EAAE,EAAC,aAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAC;oBACzC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACrE,MAAM,CAAC,aAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,OAAO,CAAC,aAAG;wBACf,WAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC/B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,GAAG,CAAC,OAAO,EAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACL,CAAC;gBACC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAC/E,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAC/E,EAAE,EAAC,aAAW,CAAC,WAAW,CAAC,EAAC;oBAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAAC,CAAC;gBACjH,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC;gBAC9E,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;gBAC/D,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;gBAEhC,EAAE,CAAC,CAAC,aAAW,CAAC,aAAa,IAAE,EAAE,CAAC,CAAC,CAAC;oBAClC,kCAAkC;oBACpC,6BAA6B;oBAC3B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC;gBACrF,CAAC;gBAED,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAC/E,EAAE,CAAC,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACxC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;oBACvG,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;gBACrG,CAAC;gBACD,EAAE,CAAC,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC7B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;oBACjF,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;oBACpF,EAAE,EAAC,aAAW,CAAC,YAAY,GAAG,CAAC,CAAC,EAAC;wBAC/B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC;wBACnF,EAAE,CAAC,CAAC,aAAW,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;wBACnG,CAAC;oBACL,CAAC;gBACH,CAAC;gBACE,4EAA4E;gBAC3E,EAAE,CAAC,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACxC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;gBACzG,CAAC;gBACD,EAAE,CAAC,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC7B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;gBACnF,CAAC;gBACD,EAAE,CAAC,CAAC,aAAW,CAAC,MAAM,CAAC,CAAC,CAAC;oBACvB,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC;gBACD,4FAA4F;gBAC5F,mCAAmC;gBACnC,IAAI;gBACJ,oGAAoG;gBACpG,IAAI;gBACJ,uEAAuE;gBACvE,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,aAAW,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxE,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC/D,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3D,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,EAAC;oBACH,EAAE,EAAC,KAAI,CAAC,cAAc,IAAI,KAAK,IAAI,aAAW,CAAC,WAAW,IAAE,KAAK,CAAC,CAClE,CAAC;wBACC,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;4BAC/D,MAAM,CAAC,aAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;wBACvC,CAAC,CAAC,CAAC;wBACH,IAAI,cAAY,GAAK,EAAE,CAAC;wBACxB,MAAM,CAAC,OAAO,CAAC,aAAG;4BAChB,cAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,gBAAgB,CAAC;wBACxF,EAAE,CAAC,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAAC,KAAI,CAAC,sBAAsB,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;wBAAC,CAAC;wBACrI,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAY,CAAC,CAAC;wBAC/D,KAAI,CAAC,YAAY,CAAC,cAAY,CAAC,CAAC;wBAChC,EAAE,EAAC,aAAW,CAAC,YAAY,CAAC,CAAC,CAAC;4BAC5B,6BAA6B;4BAC7B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;wBACrF,CAAC;oBAGD,CAAC;gBACH,CAAC;gBAEP;;2BAEW;gBAEH,EAAE,EAAC,aAAW,CAAC,SAAS,CAAC,EAAC;oBACxB,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,SAAS,CAAC,CAAC;oBAC3E,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,SAAS,CAAC,CAAC;gBAC/E,CAAC;gBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,eAAe,CAAC,CAAC;gBACvF,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC;gBACnF,KAAI,CAAC,YAAY,GAAE,aAAW,CAAC,aAAa,CAAC;gBAC7C,EAAE,EAAC,aAAW,CAAC,aAAa,IAAG,IAAI,IAAI,aAAW,CAAC,aAAa,IAAG,EAAE,CAAC,EAAC;oBACrE,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;oBACrC,EAAE,EAAC,KAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAC;wBACrC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,oBAAoB,CAAC,CAAC;wBACnG,wDAAwD;oBAEtD,CAAC;oBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAS,CAAC,CAAC;oBAChE,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;oBAC/F,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;oBACzF,EAAE,EAAC,aAAW,CAAC,gBAAgB,CAAC,CAChC,CAAC;wBACC,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;gBACC,kGAAkG;gBAClG,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;YACjG,CAAC;YAAC,IAAI,CAAC,CAAC;YAER,CAAC;QACH,CAAC,CAAC;QACF,EAAE,EAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAC;YACnF,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEzE,CAAC;QAAA,IAAI,EAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEzE,CAAC;IAED,CAAC;IAED,iBAAiB;IACjB,yCAAW,GAAX;QAAA,iBAeC;QAdE,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACL,CAAC;IAED,wCAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,iDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,uCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,gDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,qCAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,uCAAS,GAAT;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC3D,4CAA4C;gBAC5C,kDAAkD;gBACjD,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IA11BQ,mBAAmB;QAL/B,wEAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;WACG;SACtC,CAAC;4NAqD6D,CAAiC;YAC5E,kLAAsC,2FAAkB;YAC1D,4FAA8B,sFAAiB,EAAsC;YACnF,eAAe,CAAiC;OAtDvD,mBAAmB,CA41B/B;IAAD,CAAC;AAAA;SA51BY,mBAAmB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BU;AACe;AACU;AACa;AACkB;AACzB;AAEC;AAC3C;AACY;AAC6B;AACE;AAC1E;;;;;GAKG;AAQH;IAwBE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,GAAsB,EAAQ,OAAgC,EAC9D,KAAmB,EAAQ,IAAuB,EAAS,cAA6B,EACvF,OAAuB;QAHd,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAmB;QAAS,mBAAc,GAAd,cAAc,CAAe;QACvF,YAAO,GAAP,OAAO,CAAgB;QAdjC,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,kBAAa,GAAM,EAAE,CAAC;QACtB,eAAU,GAAM,EAAE,CAAC;QAET,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QAC3C,wBAAmB,GAAM,EAAE,CAAC;QAE5B,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAMX,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,IAAI,GAAG,CAAC,cAAc,IAAE,CAAC,EAA9C,CAA8C,CAAC;QAC7F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAG3E,WAAW;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;YACA,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,mBAAmB,EAAC,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;QAIH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAG9F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,sDAAsD;QACtD,oCAAoC;QACpC,mBAAmB;QACnB,uBAAuB;QACvB,KAAK;IAET,CAAC;IAED,8CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,+CAAe,GAAf;QAAA,iBAsDD;QArDG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,EAAE,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAC;YAE5B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBACjC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;IACL,CAAC;IAEC,0CAAU,GAAV;QACE,IAAI,KAAK;QACT,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC7B,yCAAyC;YACvC,IAAI,OAAK,GAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAC,sHAAsH,CAAC;YACnM,OAAK,CAAC,OAAO,EAAE,CAAC;YAChB,OAAK,CAAC,YAAY,CAAC,UAAC,IAAI;gBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;gBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;oBACf,YAAY;oBACZ,KAAK,GAAC,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,EAAC;oBACH,aAAa;oBACZ,KAAK,GAAC,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;YACJ,KAAK;QACN,CAAC;QACD,MAAM,CAAC,KAAK;IACf,CAAC;IACD,yCAAS,GAAT,UAAU,OAAO;QAAjB,iBAMD;QALC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;aAC1C,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC,SAAS,CAAC;YACT,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC;IAEC,0CAAU,GAAV,UAAW,KAAK;QACd,EAAE,EAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAC;YAC5B,MAAM;QACR,CAAC;QACD,IAAI,MAAM,GAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;QAC7C,EAAE,EAAC,CAAC,MAAM,CAAC,EAAC;YACV,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YACpD,MAAM;QACR,CAAC;QACD,IAAI,EAAC;YACH,MAAM,GAAC,MAAM,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,EAAjD,CAAiD,CAAC;QAC7G,CAAC;IACH,CAAC;IACD,2CAAW,GAAX;QAAA,iBAwCC;QAtCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAG;YAEnD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,WAAW,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAClD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC7B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAA3C,CAA2C,CAAC,CAAC;gBAClG,KAAI,CAAC,mBAAmB,GAAC,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YACvD,CAAC;QACD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAEjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;YAE/G,CAAC;YACF,kCAAkC;YAClC,sCAAsC;YACtC,gEAAgE;YAChE,6FAA6F;YAC7F,SAAS;YACT,4FAA4F;YAE5F,GAAG;QACJ,CAAC,CAAC;QACA,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE1F,6EAA6E;QAC9E,CAAC;IACT,CAAC;IACD,sDAAsB,GAAtB,UAAuB,KAAU,EAAC,CAAC;QAEjC,EAAE,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAE9B,oEAAoE;YAEpE,sDAAsD;YACtD,6DAA6D;QAEjE,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,CAAC;IAEL,CAAC;IAED,qBAAqB;IACrB,uCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAEC,kCAAkC;IAClC,oDAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC;QAG5B,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;QAE/C,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzE,CAAC;IACC,8CAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,2CAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IACD,8CAAc,GAAd,UAAe,IAAI;QAEjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAClF,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,eAAe,EAAC,CAAC,EAAE,CAAC;YACpB,gBAAgB;YAChB,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,CAAC;SAEtB,CAAC,CAAC;IAEH,CAAC;IAED,8CAAc,GAAd;QACE,qBAAqB;QAEnB,4BAA4B;QAC5B,IAAI;QACJ,iCAAiC;QACjC,IAAI;QAGJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAI/C,CAAC;IAED,iDAAiB,GAAjB;QAGE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,0CAAU,GAAV,UAAW,CAAC;QAEX,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,IAAI;YACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,0CAAU,GAAV,UAAW,UAAU;QAArB,iBAyCC;QAtCC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAO;YAClC,0CAA0C;YAC1C,0BAA0B;YACzB,0CAA0C;YACzC,OAAO,OAAO,CAAC,UAAU;YAC3B,IAAI;QACN,CAAC,CAAC,CAAC;QACJ,iCAAiC;QAChC,IAAI,OAAO,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/C,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAEzC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAClC,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,iCAAiC;gBACjC,kCAAkC;gBAClC,oDAAoD;gBACpD,6DAA6D;gBAC7D,2DAA2D;gBAE3D,2BAA2B;gBAC3B,sCAAsC;gBACtC,kDAAkD;gBAClD,sDAAsD;gBACtD,oDAAoD;gBACpD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC5C,UAAU,CAAC;oBACX,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACR,CAAC;QACC,CAAC,CAAC;IAEN,CAAC;IAED,iDAAiB,GAAjB;QAAA,iBA0CC;QAxCC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBACvE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC1F,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;gBAE/D,EAAE,EAAC,MAAM,CAAC,MAAM,IAAG,CAAC,CAAC,EAAC;oBAEpB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBAAA,IAAI,CACL,CAAC;oBAKC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;wBAEtB,KAAK,CAAC,UAAU,GAAC,EAAE;wBACpB,KAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC;wBACtD,EAAE,EAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACtE,CAAC;wBACD,qDAAqD;wBACrD,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC,CAAC;oBACF,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;YAGH,CAAC;YAAA,IAAI,CACL,CAAC;gBAEC,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IAGL,iBAAiB;IACf,2CAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,0CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,mDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,yCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,uCAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,yCAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA3dQ,qBAAqB;QALjC,wEAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;WACG;SAExC,CAAC;4NAyB6D,CAA+B;YAC/E,kLAAkC,2FAAwB;YACxD,4FAA2B,EAAuD;YAC/E,eAAe;OA3BtB,qBAAqB,CA4djC;IAAD,CAAC;AAAA;SA5dY,qBAAqB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBQ;AACe;AACsB;AACmB;AAClB;AACP;AAEC;AAC/B;AACZ;AACyC;AACE;AAE1E;;;;;GAKG;AAOH;IA+CE,8BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,OAAgC,EAAQ,GAAsB,EAC9D,KAAmB,EAAQ,IAAsB,EAChD,cAA6B,EAAS,OAAuB;QAHpD,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAChD,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QA/CvE,kBAAa,GAAG,CAAC;gBACf,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,CAAC;aACR,EAAE;gBACC,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,CAAC;aACR,CAAC;QAoBA,aAAQ,GAAO,EAAE,CAAC;QAClB,gBAAW,GAAK,EAAE,CAAC;QACnB,wBAAmB,GAAM,EAAE,CAAC;QAC5B,iBAAY,GAAM,EAAE,CAAC;QACrB,qBAAgB,GAAM,EAAE,CAAC;QACzB,qBAAqB;QACrB,eAAU,GAAM,EAAE,CAAC;QACnB,mBAAc,GAAM,EAAE,CAAC;QACxB,aAAa;QACb,kBAAa,GAAK,EAAE;QACpB,mBAAc,GAAK,EAAE;QACX,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QAC1C,qBAAgB,GAAM,EAAE,CAAC;QACzB,sBAAiB,GAAM,EAAE,CAAC;QAC1B,iBAAY,GAAM,EAAE,CAAC;QACrB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAukBf,gCAA2B,GAAW,CAAC,CAAC;QACxC,gCAA2B,GAAW,CAAC,CAAC;QAlkBpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAG7B,CAAC;YACF,0BAA0B,EAAC,CAAC,EAAE,CAAC;SAGlC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IAIrB,CAAC;IAED,6CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,8CAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAC;YAExB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEH,CAAC;IAEP,CAAC;IACD,gDAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBA4FC;QA1FC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,IAAI,QAAQ,GAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACpC,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChE,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,UAAU,EAAC,CAAC,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,SAAS,EAAC,CAAC,EAAE,CAAC;gBACd,aAAa,EAAE,CAAC,EAAE,CAAC;gBACnB,uBAAuB,EAAC,CAAC,EAAE,CAAC;gBAC5B,qBAAqB,EAAE,CAAC,EAAE,CAAC;gBAC3B,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,8BAA8B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjG,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,CAAC;QACD,IAAI,EAAC;YACL,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACxB,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,EAAC;oBACnB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,KAAK,EAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,eAAe,EAA9C,CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACnI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,QAAQ,GAAW,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChF,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;oBACpC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,UAAU,EAAC,CAAC,EAAE,CAAC;oBAChB,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;oBACrC,WAAW,EAAC,CAAC,EAAE,CAAC;oBAChB,SAAS,EAAC,CAAC,EAAE,CAAC;oBACd,aAAa,EAAC,CAAC,GAAG,CAAC,aAAa,CAAC;oBACjC,uBAAuB,EAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;oBACrD,qBAAqB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBAClD,mBAAmB,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAC7C,IAAI,EAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;oBACvB,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC;oBAC3C,8BAA8B,EAAC,CAAC,GAAG,CAAC,8BAA8B,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/H,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;iBAEvC,CAAC,CAAC;gBAEH,IAAM,OAAO,GAAc,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEvB,IAAI,GAAG,GAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;gBACzB,2CAA2C;gBAC5C,KAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAG9D,+BAA+B;YAEnC,CAAC,CAAC;QACF,CAAC;QACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4BK;IAEP,CAAC;IACD,uDAAwB,GAAxB,UAAyB,GAAG,EAAC,GAAG;QAAhC,iBA2BG;QA1BD,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpH,GAAG,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,KAAK;YAGpB,EAAE,EAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,EAAC;gBAC9C,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YACC,IAAI,KAAK,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACrD,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACrE,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACnD,4BAA4B,EAAE,CAAC,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC;gBACzE,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;gBAC/C,yBAAyB,EAAC,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC;gBAClE,8BAA8B,EAAE,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC;gBAC7E,wCAAwC,EAAE,CAAC,IAAI,CAAC,wCAAwC,IAAI,IAAI,CAAC;gBACjG,iDAAiD,EAAE,CAAC,IAAI,CAAC,iDAAiD,IAAI,IAAI,CAAC;gBACnH,sBAAsB,EAAE,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC;gBAC7D,qBAAqB,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC;gBAC3D,8BAA8B,EAAC,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC;gBAC5E,2BAA2B,EAAE,CAAC,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC;aAC1E,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACT,CAAC;IAED;;;;;;;;;;;;;;SAcK;IAIP,kCAAG,GAAH;QACC,uEAAuE;QACtE,+CAA+C;QAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IACD,oDAAqB,GAArB,UAAsB,CAAQ;QAC5B,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,2CAAY,GAAZ,UAAa,IAAQ;QACnB,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvH,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;IACrD,CAAC;IACD,8CAAe,GAAf,UAAgB,KAAS,EAAC,OAAW;QACnC,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACzH,EAAE,EAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,KAAK,EAAE;QACjB,CAAC;QACF,yCAAyC;IAExC,CAAC;IACD,6DAA8B,GAA9B,UAA+B,IAAI;QAGjC,IAAI,SAAS,GAAC,IAAI,CAAC;QACnB,IAAI,QAAQ,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;QACnG,EAAE,EAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,KAAK,CAAC,CACpD,CAAC;YACC,IAAI,MAAM,GAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACtH,EAAE,EAAC,MAAM,IAAE,OAAO,CAAC,MAAM,CAAC,EAAC;gBACzB,IAAI,GAAG,GAAC,MAAM,GAAC,OAAO,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAG,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,GAAG,EAAC,CAAC,EAAE,EAAC,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,+BAA+B;gBAC/B,IAAI,KAAK,GAAC,OAAO,CAAC,MAAM,GAAC,MAAM,CAAC;gBAChC,GAAG,EAAC,IAAI,CAAC,GAAC,OAAO,CAAC,MAAM,EAAC,CAAC,IAAE,MAAM,EAAC,CAAC,EAAE,EACtC,CAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBAEH,iCAAiC;gBACjC,yBAAyB;gBACxB;;;mBAGG;gBACJ,mEAAmE;gBACnE,0FAA0F;YAC7F,CAAC;QAGH,CAAC;QACD,IAAI,EAAC;YACH,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACtH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAC,EAAE,CAAC;QACtB,CAAC;QACF;;YAEI;IACH,CAAC;IACD,8DAA+B,GAA/B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,kBAAkB,EAAE,CAAC,EAAE,CAAE;YACzB,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,4BAA4B,EAAE,CAAC,EAAE,CAAC;YAClC,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,8BAA8B,EAAE,CAAC,EAAE,CAAC;YACpC,wCAAwC,EAAE,CAAC,EAAE,CAAC;YAC9C,iDAAiD,EAAE,CAAC,EAAE,CAAC;YACvD,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAC5B,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAC3B,8BAA8B,EAAC,CAAC,EAAE,CAAC;YACnC,2BAA2B,EAAE,CAAC,EAAE,CAAC;SACpC,CAAC;IACN,CAAC;IAEC,0CAAW,GAAX;QAAA,iBA4CD;QA3CG,IAAI,WAAW,GAAG,eAAe,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAE1C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBAClE,KAAI,CAAC,iBAAiB,GAAC,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACjD,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAG;YAElD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,gEAAgE;QAChE,MAAM;QACN,kCAAkC;QAClC,QAAQ;QACR,mEAAmE;QACnE,QAAQ;QACR,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE7C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBAC7D,KAAI,CAAC,cAAc,GAAC,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;IAEd,CAAC;IACD,sCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC;QAAX,iBAWC;QAVC,8EAA8E;QAC9E,mDAAmD;QAC/C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC7B,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC/C,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC3C,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YACxD,CAAC;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IACD,4CAAa,GAAb;QAAA,iBAQC;QANC,IAAI,WAAW,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;YACxE,CAAC;QACT,CAAC,CAAC,CAAC;IACX,CAAC;IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8EE;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,4CAAa,GAAb,UAAc,OAAO;QACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpB,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,eAAe,EAAE;YAC5D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,sBAAsB,EAAE;QACrE,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,KAAK,IAAI,CAAE,CAAC,EAAC;YAC/D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,sBAAsB,EAAE;QACrE,CAAC;IACH,CAAC;IAED,2CAAY,GAAZ,UAAa,UAAU;QAAvB,iBAqEC;QAnEC,EAAE,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAC;YACzB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;YACvE,MAAM;QACR,CAAC;QAED,IAAI,OAAO,GAAK,EAAE,CAAC;QAEnB,OAAO,GAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAG,QAAC,OAAO,CAAC,GAAG,CAAC,IAAE,IAAI,CAAC,IAAG,OAAO,OAAO,CAAC,GAAG,CAAC,EAA1C,CAA0C,CAAC,CAAC;QAGhF,OAAO,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACnC,OAAO,CAAC,YAAY,GAAC,IAAI,CAAC,KAAK,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAM;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,CAAC;YACzB,OAAO,MAAM,CAAC,WAAW;YACzB,OAAO,MAAM,CAAC,UAAU;YACxB,OAAO,MAAM,CAAC,SAAS;YACvB,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,kBAAQ;gBAC5C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,MAAM,CAAC;gBAC9B,OAAO,QAAQ,CAAC,cAAc;YAChC,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACzC,2BAA2B;YAC3B,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;YAC5D,UAAU,CAAC;gBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC,EAAC,IAAI,CAAC,CAAC;QAEZ,CAAC,EAAC,aAAG;YACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6CAA6C,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA6BY;IACd,CAAC;IAGD,6CAAc,GAAd,UAAe,CAAC,EAAC,GAAG;QAApB,iBA0EC;QAxEC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,kBAAkB,IAAI,CAAC,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAEjH,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAEvH,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;QAE5C,IAAI,CAAC,GAAY,CAAC,CAAE;QACpB,GAAG,EAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,2BAA2B,EAAC,CAAC,EAAE,EAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,kDAAkD;QAClD,KAAK;QACL,IAAI;QACJ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAE,2BAA2B,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEnH,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAEhC,IAAI,WAAe,CAAC;YACnB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,WAAW,IAAI,CAAC,EAArB,CAAqB,CAAC,CAAC;YAGvE,+BAA+B;YAC/B,gCAAgC;YAEhC,EAAE,EAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAGlB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAE,2BAA2B,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAG3G,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,GAAG;oBAEjB,kCAAkC;oBAClC,eAAe;oBACf,mCAAmC;oBACnC,SAAS;oBACT,oCAAoC;oBACpC,IAAI;oBACJ,WAAS,GAAG;wBACA,oBAAoB,EAAG,GAAG,CAAC,IAAI;wBAC/B,4BAA4B,EAAG,GAAG,CAAC,YAAY;wBAC/C,mBAAmB,EAAG,GAAG,CAAC,GAAG;wBAC7B,8BAA8B,EAAE,GAAG,CAAC,cAAc,IAAI,cAAc,GAAG,GAAG,GAAE,EAAE;wBAC9E,iBAAiB,EAAE,EAAE;wBACrB,gCAAgC,EAAE,EAAE;wBACpC,0CAA0C,EAAC,EAAE;wBAC7C,mDAAmD,EAAE,EAAE;wBACvD,2BAA2B,EAAC,EAAE;wBAC9B,wBAAwB,EAAE,EAAE;wBAC5B,uBAAuB,EAAE,EAAE;wBAC3B,6BAA6B,EAAE,EAAE;wBACjC,gCAAgC,EAAE,EAAE;qBAClC;oBAClB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mCAAmC,CAAC,WAAS,CAAC,CAAC,CAAC;gBAElE,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAE,2BAA2B,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAG3G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QACD,IAAI,EAAC;YAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,kEAAmC,GAAnC,UAAoC,IAAI;QACtC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAI,GAAG;gBACR,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/D;QACL,CAAC;IACD,CAAC;IACD,kEAAmC,GAAnC,UAAoC,GAAG;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC5C,0BAA0B,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAC5D,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC1C,4BAA4B,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAChE,eAAe,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;YACtC,yBAAyB,EAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACzD,8BAA8B,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC;YACpE,wCAAwC,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC;YACxF,iDAAiD,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC;YAC1G,sBAAsB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACpD,qBAAqB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAClD,8BAA8B,EAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC;YACnE,2BAA2B,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACjE,CAAC;IACF,CAAC;IAGG,4CAAa,GAAb;QAAA,iBAuJC;QArJC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC/D,oBAAoB;YACpB,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,0FAA0F;gBAC1F,IAAI,OAAO,GAAS,EAAE,CAAC;gBAEvB,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACxC,IAAI,wBAAwB,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACrF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAC,wBAAwB,CAAC,GAAG,CAAC,iBAAO;wBAC5C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE;4BAC9C,IAAI,EAAC,OAAO,CAAC,cAAc;4BAC3B,YAAY,EAAC,OAAO,CAAC,YAAY;4BACjC,WAAW,EAAC,OAAO,CAAC,WAAW;4BAC/B,GAAG,EAAC,OAAO,CAAC,GAAG;4BACf,cAAc,EAAC,aAAa,EAAC,CAAC;oBAElC,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpB,kCAAkC;gBACpC,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;gBACxC,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAE,CAAC,CAAC,EAAC;oBAC1C,IAAI,yBAAyB,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACvF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAC,yBAAyB,CAAC,GAAG,CAAC,iBAAO;wBAC7C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,4BAA4B;4BAC7C,IAAI,EAAC,OAAO,CAAC,kBAAkB;4BAC/B,YAAY,EAAC,OAAO,CAAC,4BAA4B;4BACjD,WAAW,EAAC,OAAO,CAAC,cAAc;4BAClC,GAAG,EAAC,EAAE;4BACN,cAAc,EAAC,cAAc,EAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;gBACzC,CAAC;gBACD,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,OAAO,GAAC,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAEhC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAE,GAAG,CAAC,EAAC;gBACrB,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAC9C,sBAAsB;oBACnB,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAM;wBACzC,MAAM,CAAC,WAAW,GAAC,EAAE;wBACrB,MAAM,CAAC,UAAU,GAAC,EAAE;wBACpB,MAAM,CAAC,SAAS,GAAC,EAAE;wBACpB,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,kBAAQ;4BAC5C,OAAO,QAAQ,CAAC,cAAc;wBAChC,CAAC,CAAC;oBACJ,CAAC,CAAC;oBACJ,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;oBACxG,KAAI,CAAC,QAAQ,GAAC,GAAG,CAAC;oBAClB,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;gBAExD,CAAC;YAEH,CAAC;YACC,IAAI,EAAC;gBACH,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/B,CAAC;YACD,kFAAkF;QAEpF,CAAC,EAAC,aAAG;YACH,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;QAC1B,CAAC,CAAC;QAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkES;IACX,CAAC;IACA,oCAAoC;IACpC,sCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAW;QACtB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACJ,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACR,KAAK,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC;QACX,CAAC;IACF,CAAC;IACC,2CAAY,GAAZ,UAAa,OAAO;QAClB,GAAG,EAAY,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;YAAlB,IAAI,GAAG;YACT,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/E,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;aACtC,CAAC;SACH;IACH,CAAC;IAGL,wCAAS,GAAT,UAAU,OAAW,EAAC,CAAQ,EAAC,MAAM;QAArC,iBA0BK;QAzBH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;QAC1B,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;YACpB,4EAA4E;YAC7E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;iBACxC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY;iBACzC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YACzD,CAAC,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY;iBACvC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;YACvD,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IACD,wCAAS,GAAT,UAAU,GAAO,EAAC,KAAY;QAC5B,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAC;YAC3B,MAAM;QACR,CAAC;QACD,IAAI,WAAW,GAAC,GAAG;QACnB,EAAE,EAAC,CAAC,WAAW,CAAC,EAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YAC5D,MAAM;QACR,CAAC;QAAA,IAAI,EAAC;YACJ,WAAW,GAAC,WAAW,CAAC,WAAW,EAAE;QACvC,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAArD,CAAqD,CAAC;IAC3H,CAAC;IACD,yCAAU,GAAV,UAAW,GAAQ,EAAE,CAAS;QAC3B,gBAAgB;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,IAAI,WAAW,GAAG,GAAG;QACrB,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAC7C,MAAM;QACR,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE;QACzC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC,CAAC,EAApD,CAAoD,CAAC;QAEtF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpD,0BAA0B;QAC1B,8FAA8F;QAC9F,IAAI;IAEN,CAAC;IACD,0CAAW,GAAX,UAAY,GAAQ;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,MAAM;QACR,CAAC;QACD,IAAI,SAAS,GAAG,GAAG;QACnB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAChB,kDAAkD;YAClD,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACzC,MAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE;QACrC,CAAC;QACD,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAA9C,CAA8C,CAAC;QAChG,2BAA2B;QAC3B,uFAAuF;QACvF,IAAI;IACN,CAAC;IACD,6CAAc,GAAd,UAAe,GAAO;QAAtB,iBAUC;QATA,2CAA2C;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,YAAY;aAC1C,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC,SAAS,CAAC;YACT,KAAI,CAAC,iBAAiB,GAAC,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAI,CAAC,YAAY,EAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAC,EAAE,CAAC;QAExG,CAAC,CAAC;IAEJ,CAAC;IACD,0CAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAED,yCAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,kDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,wCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,iDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,sCAAO,GAAP;QACE,oBAAoB;QADtB,iBAuBG;QApBF,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,wCAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAtjCM,oBAAoB;QAJhC,wEAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;WACG;SACvC,CAAC;4NAgD6D,CAA+B;YAC3E,kLAAoC,CAAkB;YACxD,yFAAa,CAAa,8FAAiB;YACjC,cAAc,EAAiB,CAAe;OAlD5D,oBAAoB,CAujC9B;IAAD,CAAC;AAAA;SAvjCU,oBAAoB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBoB;AAC8B;AACR;AACK;AACkB;AAC1B;AACC;AAC9B;AAE3C;;;;;GAKG;AAOH;IAsCE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,aAA+B,EAAQ,MAAa,EAAQ,KAAsB;QAApQ,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,kBAAa,GAAb,aAAa,CAAkB;QAAQ,WAAM,GAAN,MAAM,CAAO;QAAQ,UAAK,GAAL,KAAK,CAAiB;QArCvR,QAAG,GAAK,GAAG;QACJ,0BAAqB,GAAI,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,KAAK,EAAC;YACnC,EAAC,OAAO,EAAE,IAAI,EAAC,WAAW,EAAE,IAAI,EAAC;YACjC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;QAUpE,mBAAc,GAAM,EAAE,CAAC;QACvB,eAAU,GAAM,EAAE,CAAC;QAMnB,aAAQ,GAAW,KAAK,CAAC;QACzB,gBAAW,GAAW,IAAI,CAAC;QAE3B,uBAAkB,GAAM,EAAE,CAAC;QAC3B,sBAAiB,GAAM,EAAE,CAAC;QAC1B,qBAAgB,GAAM,EAAE,CAAC;QACzB,kBAAa,GAAM,EAAE,CAAC;QACtB,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,iBAAY,GAAQ,EAAE,CAAC;QAEvB,gBAAW,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,gBAAW,GAAM,EAAE,CAAC;QAEpB,iBAAY,GAAM,EAAE,CAAC;QAufrB,kBAAa,GAAW,KAAK,CAAC;QAlf5B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,IAAI,GAAG,CAAC,cAAc,IAAE,CAAC,EAA9C,CAA8C,CAAC;QAC3F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjC,cAAc,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,kBAAkB,EAAC,CAAC,EAAE,CAAC;SACxB,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,8CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,sBAAsB;IACtB,+CAA+C;IAC/C,sCAAsC;IACtC,cAAc;IACd,MAAM;IAEN,IAAI;IACJ,+CAAe,GAAf;QAAA,iBA+DC;QA9DC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClD,EAAE,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAC;YACjC,qDAAqD;YACnD,eAAe;YACf,kFAAkF;YAClF,uBAAuB;YACvB,cAAc;YAEd,IAAI;YACJ,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;IAEP,CAAC;IAED,2CAAW,GAAX;QAAA,iBAoGC;QAlGC,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,IAAI,IAAI,CAAC,EAAE,IAAE,CAAC,EAA9B,CAA8B,CAAC,CAAC;YACnF,CAAC;QACL,CAAC,CAAC;QAEF,wBAAwB;QACxB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAG;YAEhD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAC1E,CAAC;QACP,CAAC,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,aAAG;YAElD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAC5E,CAAC;QACT,CAAC,CAAC;QAEF,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,aAAG;YAE/C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,eAAe,GAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAC1E,CAAC;QACT,CAAC,CAAC;QAEF,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC,CAAC;QAEF,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,cAAI;YAEtD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YACvE,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACtD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,SAAS,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC;QAEF,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAApE,CAAoE,CAAC,CAAC;YACzH,CAAC;QACL,CAAC,CAAC;QAEF,qCAAqC;QACrC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAE/D,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACS,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,EAApB,CAAoB,CAAC;YAE5E,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YAEzF,CAAC;YAED,IAAI,mBAAmB,GAAM,EAAE,CAAC;YAChC,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAC7B,mBAAmB,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;gBAE1F,6EAA6E;YAC9E,CAAC;QACH,CAAC,CAAC;IAGZ,CAAC;IACD,2CAAW,GAAX;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CACpB;YACI,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,EAAE,CAAC,IAAI,CAAC;YAChC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,gBAAgB,EAAG,CAAC,EAAE,CAAC;YACvB,GAAG,EAAE,CAAC,IAAI,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED,wCAAQ,GAAR,UAAS,IAAI;QAEX,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;YAC3E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,2CAAW,GAAX,UAAY,CAAC,EAAC,IAAI;QAEhB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;YAC3E,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAE,CAAC,CAAC,CAC5B,CAAC;gBACC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5D,CAAC;YAAA,IAAI,EAAC;gBACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,8CAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAED,wCAAQ,GAAR,UAAS,OAAO,EAAE,IAAI;QAEpB,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAEd,IAAI,aAAa,UAAC;YAEhB,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,EAAC;gBACvK,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAE;gBACnF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAGD,kDAAkB,GAAlB,UAAmB,CAAM,EAAE,CAAM,EAAC,IAAU;QAE1C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACZ,IAAM,GAAG,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;YAC/G,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAE;gBACrH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBAC5C,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;gBACpD,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;gBAC9C,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAClH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBAC3C,KAAK,CAAC;YACV,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACP,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBAC5C,KAAK,CAAC;YACV,CAAC;YACD,SAAS,CAAC;gBACN,KAAK,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACf,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,uBAAuB,EAAE,CAAC,EAAE,CAAC;YAC7B,8BAA8B,EAAE,CAAC,EAAE,CAAC;YACpC,6BAA6B,EAAE,CAAC,EAAE,CAAC;YACnC,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,SAAS,EAAE,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAEL,8DAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,4BAA4B,EAAE,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqC,GAArC;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,sDAAsB,GAAtB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,wDAAwB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B;YAC1B,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,cAAc,EAAE,CAAC,IAAI,CAAC;YACtB,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC3B,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;IAED,qDAAqB,GAArB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAED,gDAAgB,GAAhB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACf,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAGL,+CAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,6BAA6B,EAAE,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAID,oDAAoB,GAApB,UAAqB,IAAI;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/C,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACvD,8BAA8B,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC;YACrE,6BAA6B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACnE,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/C,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,4DAA4B,GAA5B,UAA6B,IAAI;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAEpB,CAAC,CAAC;IACL,CAAC;IAED,sEAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,4BAA4B,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IAED,8DAA8B,GAA9B,UAA+B,IAAI;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,gEAAgC,GAAhC,UAAiC,IAAI;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,wCAAwC;YACxC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YACjC,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACrC,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAChD,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/B,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6B,GAA7B,UAA8B,IAAI;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,sBAAsB,EAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpD,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClD,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAID,wDAAwB,GAAxB,UAAyB,IAAI;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,+FAA+F;YACxF,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YACjC,kBAAkB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAGD,6EAA6C,GAA7C,UAA8C,IAAI;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IAEA,uDAAuB,GAAvB,UAAwB,IAAI;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAGD,mDAAmB,GAAnB,UAAoB,IAAI;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACzD,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC3C,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACpC,gBAAgB,EAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;IAED,gDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAiCC;QA/BC,EAAE,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAC;YAChC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,GAAC,GAAG,GAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAnD,CAAmD,CAAC,CAAC;QAC9F,yCAAyC;QACzC,6BAA6B;QAC7B,2BAA2B;QAC3B,iCAAiC;QACjC,iCAAiC;QACjC,sCAAsC;QACtC,QAAQ;QACR,QAAQ;QAEN,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACvC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACE,2BAA2B;gBAChC,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACvD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACX,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACR,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IAID,4BAA4B;IAC5B,+CAAe,GAAf;QAAA,iBAuDC;QArDC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC3E,oGAAoG;oBACnG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC;gBACjG,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,UAAU,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;wBAC5B,IAAI,IAAI,GAAG;4BACT,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;4BACtD,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;4BACxC,WAAW,EAAC,GAAG,CAAC,WAAW;4BAC3B,aAAa,EAAE,GAAG,CAAC,aAAa;4BAChC,gBAAgB,EAAC,GAAG,CAAC,gBAAgB;4BACrC,GAAG,EAAE,GAAG,CAAC,GAAG;yBACb,CAAC;wBAEF,IAAI,WAAW,GAAG,CAAC,CAAC;wBACpB,EAAE,EAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACnC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAM;gCACjC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;oCACtC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gCAC/B,CAAC;4BACJ,CAAC,CAAC,CAAC;wBACL,CAAC;wBACC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK;wBAE1D,IAAM,OAAO,GAAc,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;wBAC7E,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC7C,KAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,wBAAwB,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;wBACpD,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;wBAC9E,mEAAmE;oBACrE,CAAC,CAAC,CAAC;gBAEL,CAAC;gBAED,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE1B,yEAAyE;YACzE,CAAC;YAAA,IAAI,EAAC;gBACJ,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClB,oBAAoB;YACrB,CAAC;QACH,CAAC,CAAC;IAEN,CAAC;IAED,0CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,mDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,yCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,wDAAwB,GAAxB,UAAyB,mBAAwB,EAAE,KAAU,EAAE,CAAM;QAArE,iBA0FC;QAzFC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAM,GAAG,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;QAC/G,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG,EAAK,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBACjE,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,YAAU,CAAC,CAAC,CAAC;gBAC9D,KAAK,CAAC;YACR,CAAC;YAED,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,CAAC,mBAAmB;wBACrG,yBAAyB,EAAE,KAAK,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,KAAK,CAAC,8BAA8B;wBAChI,qBAAqB,EAAE,KAAK,CAAC,mBAAmB;wBAChD,+BAA+B,EAAE,KAAK,CAAC,6BAA6B,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvG,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAU,CAAC,CAAC,CAAC;gBACpD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACV,IAAI,YAAgB,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG,EAAG,4BAA4B,EAAE,KAAK,CAAC,0BAA0B;wBAC9E,cAAc,EAAE,KAAK,CAAC,YAAY;wBAClC,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAU,CAAC,CAAC,CAAC;gBACxD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAc;gBACjB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAC,EAAC,qCAAqC,EAAE,KAAK,CAAC,mCAAmC,EAAE;gBAChG,CAAC,CAAC;gBACF,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,YAAU,CAAC,CAAC,CAAC;gBAC7E,KAAK,CAAC;YACR,CAAC;YACF,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACpH,mEAAmE;gBAClE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG;wBACX,cAAc,EAAE,KAAK,CAAC,YAAY;wBAClC,gBAAgB,EAAE,KAAK,CAAC,cAAc;wBACtC,sBAAsB,EAAC,KAAK,CAAC,oBAAoB;wBACjD,aAAa,EAAE,KAAK,CAAC,WAAW;wBAChC,gBAAgB,EAAE,KAAK,CAAC,cAAc;qBACvC,CAAC;oBACF,KAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;oBACtC,KAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,YAAU,CAAC,CAAC,CAAC;gBAChE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBAClB,KAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;oBAC1C,YAAU,GAAG,EAAG,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBACzD,wBAAwB,EAAG,KAAK,CAAC,sBAAsB;wBACvD,uBAAuB,EAAC,KAAK,CAAC,qBAAqB;wBACnD,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBAC1C,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,YAAU,CAAC,CAAC,CAAC;gBAC7D,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,wCAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,aAAa,CAAC;QAE9B,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,uCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxE,KAAK,CAAC;YACX,KAAK,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACtE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACnE,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAED,wDAAwB,GAAxB,UAAyB,KAAU,EAAE,UAAe,EAAE,IAAY;QAChE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAmB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnI,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAmB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAChF,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxL,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtO,CAAC;IAEH,CAAC;IAGD,qDAAqB,GAArB,UAAsB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;QAE/C,IAAI,QAAQ,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;QAEzE,IAAI,QAAQ,GAAmB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEzD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,aAAW,GAAG,CAAC,CAAC;YAEpB,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC,OAAO,CAAC,gBAAM;oBAClB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3C,aAAW,GAAG,MAAM,CAAC,EAAE,CAAC;oBAC1B,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,EAAE,CAAC,CAAC,aAAW,IAAI,CAAC,CAAC,CAAC,CAAC;gBAGrB,qEAAqE;gBACrE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAEnC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAW,IAAI,CAAC,CAAC,CAAC,CAAC;gBAG5B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3C,mDAAmD;gBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAEpC,CAAC;YAED,0DAA0D;QAE5D,CAAC;IAEH,CAAC;IACD,2CAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,yCAAS,GAAT;QAAA,iBA4BG;QA3BD,IAAI,aAAa,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,aAAa,CAAC;QAC1C,EAAE,EAAC,aAAa,IAAG,EAAE,CAAC,EAAC;YACvB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBACrB,OAAO,EAAE,GAAG;gBACZ,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ;gBACnD,WAAW,EAAE,GAAG;gBAChB,YAAY,EAAE,GAAG;gBACjB,kBAAkB,EAAE,IAAI;aAC3B,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gBAChB,KAAI,CAAC,MAAM,GAAC,wBAAwB,GAAC,SAAS;gBAC9C,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,KAAI,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBACzD,2DAA2D;gBAC5D,KAAI,CAAE,YAAY,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC;YAE5C,CAAC,EAAC,UAAC,GAAG;gBACJ,iBAAiB;YACnB,CAAC,CAAC;YACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;YACX,iCAAiC;YACnC,0DAA0D;YAC1D,+DAA+D;YAChE,8BAA8B;QAC/B,CAAC;QACD,IAAI,EAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+EAA+E,CAAC,CAAC;QAClH,CAAC;IACC,CAAC;IACD,4CAAY,GAAZ,UAAa,KAAK;QAAlB,iBA2BC;QA1BC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,GAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1B,KAAK,EAAC,eAAe;YACrB,OAAO,EAAE,gCAAgC;YAC3C,QAAQ,EAAC,cAAc;YACvB,MAAM,EAAC;gBACL;oBACE,IAAI,EAAC,MAAM;oBACX,oCAAoC;oBACpC,WAAW,EAAC,eAAe;iBAC5B;aACF;YACD,OAAO,EAAC;gBACN;oBACE,IAAI,EAAC,QAAQ;oBACb,OAAO,EAAC,cAAI;wBACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtB,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,GAAC,IAAI,CAAC,IAAI;wBACtC,KAAK,CAAC,OAAO;oBACf,CAAC;iBACF;aACF;SACA,CAAC;QACF,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,6BAA6B;IAE/B,CAAC;IACL,QAAQ;IACR,+CAA+C;IAC/C,IAAI;IACF,yCAAS,GAAT;QAAA,iBAoBC;QAnBC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA70BuB;QAAvB,yEAAS,CAAC,WAAW,CAAC;;6DAAY;IACV;QAAxB,yEAAS,CAAC,YAAY,CAAC;kCAAU,8DAAO;0DAAA;IArC9B,qBAAqB;QAJjC,wEAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;WACG;SACxC,CAAC;8BAuCuR;OAtC5Q,qBAAqB,CAm3BjC;IAAD,CAAC;AAAA;SAn3BY,qBAAqB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBQ;AACe;AACqB;AACoB;AAClB;AACP;AACC;AACoB;AACtB;AACE;AAE1E;;;;;GAKG;AAOH;IAwBE,mCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,OAAgC,EAAQ,GAAsB,EAC9D,KAAmB,EAAS,QAA0B,EAAS,cAA6B,EAC3F,OAAuB;QAHd,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAS,aAAQ,GAAR,QAAQ,CAAkB;QAAS,mBAAc,GAAd,cAAc,CAAe;QAC3F,YAAO,GAAP,OAAO,CAAgB;QAlBjC,mBAAc,GAAK,EAAE,CAAC;QACtB,eAAU,GAAK,EAAE,CAAC;QAKlB,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,eAAU,GAAM,EAAE,CAAC;QACnB,wBAAmB,GAAM,EAAE,CAAC;QAE5B,iBAAY,GAAM,EAAE,CAAC;QACrB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAOX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAC,qBAAqB,CAAC;QACpE,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,kBAAkB,IAAI,CAAC,EAA3B,CAA2B,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAE,CAAC,EAAC,gBAAgB,EAAE,QAAQ,EAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAElC,0DAA0D;QAC1D,IAAI;QACJ,oBAAoB;QACpB,oCAAoC;QACpC,MAAM;QACN,kDAAkD;QAClD,iFAAiF;QACjF,iCAAiC;QACjC,MAAM;QAEN,MAAM;QAEN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;QAIH,2EAA2E;QACzE,8CAA8C;IAChD,CAAC;IAED,kDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,mDAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChD,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAC;YAE7B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAC,8BAA8B,CAAC;gBACjF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IAED,gDAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,OAAO,EAAC,CAAC,EAAE,CAAC;YACZ,aAAa,EAAG,CAAC,EAAE,CAAC;YACpB,gBAAgB,EAAC,CAAC,EAAE,CAAC;YACrB,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,gBAAgB,EAAG,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;IACP,CAAC;IACD,oDAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;QAE7E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,uDAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;QAC3E,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YAChC,2DAA2D;YAC3D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,EAAE;QAC1B,CAAC;QAAA,IAAI,EAAC;YACR,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,qDAAiB,GAAjB,UAAkB,GAAG;QAEnB,EAAE,EAAC,GAAG,IAAE,KAAK,CAAC,CACd,CAAC;YACC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,EAAE,EAAC,GAAG,IAAE,IAAI,CAAC,EAAC;YACZ,gEAAgE;YACjE,IAAM,OAAO,GAAa,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC1E,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpB,2BAA2B;YAC3B,4BAA4B;YAC5B,2BAA2B;YAC3B,MAAM;YACN,kCAAkC;QACjC,CAAC;IACJ,CAAC;IACD,gDAAY,GAAZ;QAAA,iBAwDC;QAvDC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC5E,EAAE,EAAC,GAAG,CAAC,UAAU,IAAE,IAAI,CAAC,EAAC;gBACvB,KAAI,CAAC,gBAAgB,GAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAI,IAAI,EAArB,CAAqB,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC;YACpC,CAAC;YACD,IAAI,iBAAiB,GAAK,EAAE;YAC5B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACjC,iBAAiB,GAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACjD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;YAE5F,CAAC;YACD,IAAI,mBAAmB,GAAK,EAAE;YAC9B,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAC3B,mBAAmB,GAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC7C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC;gBACF,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE3F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,KAAI,CAAC,qBAAqB,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAClD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,EAAE,CAAC,CAAC,KAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,CAAC,CAAC;oBAC1C,IAAI,GAAG,GAAG,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;oBAC3E;;6DAEyC;oBACzC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACf,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjG,CAAC;gBACL,CAAC;YACD,CAAC;QACH,CAAC,CAAC,CAAC;IAGP,CAAC;IACD,kDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAED,6DAAyB,GAAzB,UAA0B,KAAK,EAAC,CAAC;QAC/B,mCAAmC;QACrC,IAAI,KAAK,GAAc,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ,GAAkB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,oCAAoC;QACnC,UAAU;QAGZ,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QACzB,EAAE,EAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACjB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACzC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YACrB,gDAAgD;YAChD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,QAAQ,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YAC3B,kDAAkD;YAClD,uFAAuF;YACrF,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACxC,oFAAoF;QACpF,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;IACnE,CAAC;IACD,2CAAO,GAAP,UAAQ,GAAG,EAAC,CAAC;QACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IACzE,CAAC;IAED,0CAAM,GAAN;QACC,kDAAkD;QAEjD,kBAAkB;QAClB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACtD,IAAI,UAAU,GAAG,EAAC,SAAS,EAAC,EAAE,EAAC,WAAW,EAAC,qBAAqB,EAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kHAAwB,EAAC,EAAC,QAAQ,EAAC,UAAU,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;IAC/F,CAAC;IACD,qDAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAoBC;QAjBC,IAAI,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC/C,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QACnD,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YACzC,2BAA2B;YAC/B,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAC9D,UAAU,CAAC;gBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC,EAAC,IAAI,CAAC,CAAC;QACZ,CAAC,EAAE,eAAK;QAER,CAAC,CAAC;IACV,CAAC;IAED,kDAAc,GAAd;QAAA,iBA+CC;QA7CC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAE9E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;YAC7E,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;YAC9B,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,IAAI,CAAC,CAC5C,CAAC;gBACC,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBAC1D,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,YAAY,IAAE,KAAK,CAAC,EAAC;oBAChD,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAC3E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAE9C,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBAC7F,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;oBAK3G,EAAE,EAAC,WAAW,CAAC,MAAM,IAAE,CAAC,CAAC,CACzB,CAAC;wBACE,gDAAgD;oBACnD,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,WAAW,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;4BAG5B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC,CAAC;4BAC9C,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;4BACvE,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,EAAC,KAAK,CAAC;wBAC7D,CAAC,CAAC;oBACN,CAAC;oBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAE1E,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBACzF,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACJ,+CAA+C;YAChD,CAAC;QACC,CAAC,CAAC;IACN,CAAC;IAEA,iBAAiB;IACjB,+CAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAED,8CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAEpD,CAAC;IACD,uDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACnD,CAAC;IACD,6CAAS,GAAT,UAAU,KAAK;QACd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,sDAAkB,GAAlB,UAAmB,KAAK;QACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IACjC,CAAC;IACD,2CAAO,GAAP;QAAA,iBAsBE;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,6CAAS,GAAT;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC3D,4CAA4C;gBAC5C,kDAAkD;gBACjD,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IA/aW,yBAAyB;QAJrC,wEAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;WACG;SAC7C,CAAC;4NAyB6D,CAA+B;YAC3E,kLAAoC,2FAAkB;YACxD,2FAA+B,EAAuD;YACnF,eAAe;OA3BtB,yBAAyB,CAibrC;IAAD,CAAC;AAAA;SAjbY,yBAAyB,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBI;AACgC;AACM;AACP;AACyB;AACN;AACnB;AACjC;AAEkC;AACF;AAC7B;AACZ;AAE/B;;;;;GAKG;AAOH;IAgDE,kCAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAsB,EAAQ,KAAmB,EACjD,OAAgC,EAAQ,EAAc,EACtD,aAA+B,EAAQ,SAAyB,EAC/D,OAAuB,EAAS,cAA6B;QAJvE,iBA4HC;QA5HkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QACjD,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QACtD,kBAAa,GAAb,aAAa,CAAkB;QAAQ,cAAS,GAAT,SAAS,CAAgB;QAC/D,YAAO,GAAP,OAAO,CAAgB;QAAS,mBAAc,GAAd,cAAc,CAAe;QAnDvE,SAAI,GAAG,IAAI,iEAAQ,CAAC,OAAO,CAAC,CAAC;QAM7B,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,eAAU,GAAM,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,iBAAiB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,8BAA8B,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,oBAAoB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,yBAAyB,EAAC,CAAC,CAAC;QAClK,qBAAgB,GAAM,EAAE,CAAC;QACzB,mBAAc,GAAM,EAAE,CAAC;QAEvB,mBAAc,GAAM,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,kBAAkB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,kCAAkC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,4BAA4B,EAAC,CAAC,CAAC;QAC7I,uBAAkB,GAAM,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,cAAc,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,8BAA8B,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,4BAA4B,EAAC,CAAC,CAAC;QACzI,mBAAc,GAAM,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,sBAAsB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,qBAAqB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,qBAAqB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,yBAAyB,EAAC,CAAC,CAAC;QACnK,iBAAY,GAAM,EAAE,CAAC;QACrB,cAAS,GAAK,EAAE,CAAC;QACjB,aAAQ,GAAK,EAAE,CAAC;QAChB,gBAAW,GAAK,EAAE,CAAC;QACnB,cAAS,GAAK,EAAE,CAAC;QACjB,aAAQ,GAAK,EAAE,CAAC;QAChB,gBAAW,GAAK,EAAE,CAAC;QAEnB,iBAAY,GAAM,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,yBAAyB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,uDAAuD,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,uBAAuB,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,yBAAyB,EAAC,CAAC,CAAC;QACxM,4HAA4H;QAC5H,+LAA+L;QAC/L,wBAAmB,GAAM,EAAE,CAAC;QAE5B,0BAAqB,GAAQ,EAAE,CAAC;QAChC,mBAAc,GAAO,EAAE,CAAC;QAGxB,8BAAyB,GAAM,EAAE,CAAC;QAClC,gCAA2B,GAAM,EAAE,CAAC;QACpC,iCAA4B,GAAM,EAAE,CAAC;QACrC,iCAA4B,GAAM,EAAE,CAAC;QACrC,qCAAgC,GAAM,EAAE,CAAC;QACzC,0CAAqC,GAAM,EAAE,CAAC;QAC9C,8CAAyC,GAAM,EAAE;QACjD,sCAAiC,GAAM,EAAE,CAAC;QAC1C,yCAAoC,GAAM,EAAE,CAAC;QAC7C,yCAAoC,GAAM,EAAE,CAAC;QACnC,eAAU,GAAG,IAAI,8CAAO,EAAQ,CAAC;QAC3C,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QACb,iBAAY,GAAM,EAAE,CAAC;QAQnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,IAAI,GAAG,CAAC,cAAc,IAAE,CAAC,EAA9C,CAA8C,CAAC;QAC3F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;YACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC3B,gBAAgB,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YACzC,KAAK,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC9B,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,IAAI,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC7B,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,OAAO,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAChC,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,wBAAwB,EAAC,CAAC,IAAI,CAAC;YAC/B,UAAU,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YACpC,cAAc,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YACxC,kCAAkC,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC5D,eAAe,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YACzC,SAAS,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAClC,QAAQ,EAAC,CAAC,EAAE,CAAC;YACb,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,qBAAqB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,sBAAsB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAChD,aAAa,EAAE,CAAC,EAAE,CAAC;SACpB,CAAC;QAEF,8BAA8B;QAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAChE,EAAE,EAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACpB,IAAI,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,EAAE,IAAE,CAAC,EAAV,CAAU,CAAC,CAAC;gBACvD,mBAAmB,CAAC,MAAM,GAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBAC9K,mBAAmB,CAAC,MAAM,GAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;gBAClN,mBAAmB,CAAC,MAAM,GAAC,CAAC,GAAG,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAGjG,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBACnD,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;gBACrE,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,gCAAgC;QAChC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YACpE,EAAE,EAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACpB,IAAI,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,EAAE,IAAE,CAAC,EAAV,CAAU,CAAC,CAAC;gBACnD,eAAe,CAAC,MAAM,GAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAClL,eAAe,CAAC,MAAM,GAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,mCAAmC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;gBAC5M,eAAe,CAAC,MAAM,GAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kCAAkC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;YAE9M,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBACvD,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;gBACpE,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;gBACzD,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,8BAA8B;QAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YACrE,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACvK,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAC/D,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACzJ,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACrN,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/Q,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC5T,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACvS,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAE,CAAC,GAAG,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,+BAA+B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1J,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAC9E,EAAE,EAAC,GAAG,KAAG,KAAK,CAAC,EAAC;gBAChB,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,CAAC;gBACL,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACzD,CAAC;QACF,CAAC,CAAC,CAAC;QACH,uCAAuC;QACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAC3D,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAI;gBACjD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;oBACvB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBACpC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACtC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBACxC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YACxF,GAAG,IAAE,GAAG,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC5J,GAAG,IAAE,GAAG,GAAG,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAC5E,GAAG,IAAE,GAAG,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YAChL,GAAG,IAAE,GAAG,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;YAC9L,GAAG,IAAE,GAAG,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,qCAAqC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;YAChM,GAAG,IAAE,GAAG,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gCAAgC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;QACxL,CAAC,CAAC,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAG5B,CAAC;IAED,iDAAc,GAAd;QACC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IACD,kDAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,EAAE,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAC;YAEzB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IAED,8CAAW,GAAX;QAAA,iBAmEC;QAhEC,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAEhC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YACzB,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;QAE/F,CAAC;QACG,6BAA6B;QAC7B,IAAI,mBAAmB,GAAG,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,kBAAkB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,mBAAmB,EAAC,QAAQ,EAAC,CAAC,EAAC;YAC/G,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,mBAAmB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,uBAAuB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,uBAAuB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,wBAAwB,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC,CAAC;QAE1L,IAAI,kBAAkB,GAAG,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,oBAAoB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,kBAAkB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,kBAAkB,EAAC,QAAQ,EAAC,CAAC,EAAC;YACzJ,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,oBAAoB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,uBAAuB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,wBAAwB,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC,CAAC;QAE9K,IAAI,kBAAkB,GAAG,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,iBAAiB,EAAC,QAAQ,EAAC,CAAC,EAAC,EAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,wBAAwB,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC,CAAC;QAEjJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,SAAS,EAAC,sBAAsB,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,SAAS,EAAC,qBAAqB,EAAC,WAAW,EAAC,kBAAkB,EAAC,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,SAAS,EAAC,qBAAqB,EAAC,WAAW,EAAC,kBAAkB,EAAC,CAAC,CAAC;QAG3G,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,aAAG;YAErD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,gBAAgB,GAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC,GAAG,CAAC,iBAAO;oBACvF,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;gBACH,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,UAAU,EAAC,WAAW,EAAC,gBAAgB,EAAC,CAAC,GAAC,EAAE,CAAC;YACnH,CAAC;QACL,CAAC,CAAC;QAEF,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,uBAAuB,GAAO,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAA3C,CAA2C,CAAC,CAAC,GAAG,CAAC,iBAAO;oBACtH,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,IAAI,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;gBACH,uBAAuB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,UAAU,EAAC,WAAW,EAAC,uBAAuB,EAAC,CAAC,GAAC,EAAE,CAAC;YACjI,CAAC;QACP,CAAC,CAAC;QAEF,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAEzC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;gBACnE,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1C,CAAC;QACT,CAAC,CAAC;QAEF,cAAc;QACd,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAEvC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAApE,CAAoE,CAAC,CAAC,GAAG,CAAC,cAAI,IAAE,QAAC,EAAC,EAAE,EAAG,IAAI,CAAC,MAAM,EAAG,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;YAClL,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAEH,uBAAuB;IACvB,gDAAgD;IAChD,sCAAsC;IACtC,uCAAuC;IACvC,qDAAqD;IACrD,0CAA0C;IAC1C,yCAAyC;IACzC,4CAA4C;IAC5C,2CAA2C;IAC3C,gDAAgD;IAChD,oDAAoD;IACpD,wEAAwE;IACxE,qDAAqD;IACrD,8CAA8C;IAC9C,yBAAyB;IACzB,qDAAqD;IACrD,4DAA4D;IAC5D,+BAA+B;IAC/B,UAAU;IACV,IAAI;IAEF,qBAAqB;IACrB,IAAI;IACJ,0BAA0B;IAC1B,QAAQ;IACR,uEAAuE;IACvE,2EAA2E;IAC3E,6EAA6E;IAC7E,qEAAqE;IACrE,kEAAkE;IAClE,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,0EAA0E;IAC1E,qCAAqC;IACrC,+DAA+D;IAC/D,+DAA+D;IAC/D,0EAA0E;IAC1E,qEAAqE;IACrE,4EAA4E;IAC5E,2CAA2C;IAC3C,4EAA4E;IAC5E,SAAS;IACT,IAAI;IAEJ,6CAA6C;IAC9C,uDAAoB,GAApB,UAAqB,KAAU;QAC9B,EAAE,EAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACjB,IAAI,UAAU,GAAQ,KAAK,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,EAAE,IAAE,CAAC,EAAV,CAAU,CAAC,CAAC;YACrD,UAAU,CAAC,MAAM,GAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACtL,CAAC;QACD,IAAI,CAAC,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC7D,CAAC;IACD,CAAC;IAED,4DAA4D;IAC5D,iDAAc,GAAd,UAAe,KAAK;QAClB,KAAK,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC7K,CAAC;IAED,wBAAwB;IACxB,qDAAkB,GAAlB;QACE,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,2CAA2C;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEA,sBAAsB;IACtB,oDAAiB,GAAjB,UAAkB,OAAO;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,sBAAsB,EAAC,CAAC,GAAG,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAChD,mBAAmB,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC5C,mBAAmB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC7C,YAAY,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YACtC,wBAAwB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAClD,mBAAmB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC7C,gBAAgB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC1C,0BAA0B,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;YACpD,0BAA0B,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;SACrD,CAAC,CAAC;IACN,CAAC;IAED,cAAc;IACd,6CAAU,GAAV,UAAW,KAAK;QACf,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,kCAAkC;IAClC,yDAAsB,GAAtB,UAAuB,KAAS,EAAC,KAAY,EAAC,IAAY;QACxD,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACX,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YACjF,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/J,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC/D,CAAC;YACL,IAAI,CAAC,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/J,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/J,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/J,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,uBAAuB,GAAG,KAAK,CAAC,uBAAuB,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1K,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACnE,CAAC;QAEF,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YAChB,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjD,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,EAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7E,CAAC;YAED,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvL,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;gBACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YACvE,CAAC;YACL,IAAI,CAAC,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvL,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;gBACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvL,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvL,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iCAAiC,EAAE,IAAI,mEAAW,CAAC,KAAK,CAAC,+BAA+B,GAAG,KAAK,CAAC,+BAA+B,GAAG,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClM,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;gBACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;gBACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YAC3E,CAAC;QACF,CAAC;IAGH,CAAC;IAEF,0BAA0B;IAC1B,wDAAqB,GAArB,UAAsB,KAAS,EAAC,KAAY;QAC1C,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC/E,EAAE,EAAC,KAAK,CAAC,sBAAsB,IAAE,GAAG,CAAC,EAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAClE,CAAC;QACL,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,sBAAsB,IAAE,GAAG,CAAC,EAAC;YACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACtE,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,+DAA4B,GAA5B,UAA6B,KAAU,EAAC,KAAY;QACnD,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAE5M,CAAC;IAED,kCAAkC;IAClC,+DAA4B,GAA5B,UAA6B,KAAU;QACnC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAChM,CAAC;IAED,8BAA8B;IAC9B,4DAAyB,GAAzB,UAA0B,KAAU,EAAC,KAAY;QAC/C,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAEjF,EAAE,EAAC,KAAK,CAAC,0BAA0B,IAAE,GAAG,CAAC,EAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAC7D,WAAW;YACX,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YAClE,WAAW;YACX,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;YAC3E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;YACjF,gCAAgC;YAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;YACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4CAA4C,CAAC,CAAC;QACrF,CAAC;IAEH,CAAC;IACD,6CAA6C;IAC7C,0DAAuB,GAAvB,UAAwB,KAAU,EAAC,KAAY;QAC7C,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,EAAE,EAAC,KAAK,CAAC,mBAAmB,IAAE,GAAG,CAAC,EAAC;YACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,EAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YACnE,WAAW;YACX,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;YAC3E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;YACjF,gCAAgC;YAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;YACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4CAA4C,CAAC,CAAC;QACrF,CAAC;IAEH,CAAC;IACD,sDAAsD;IACtD,0DAAuB,GAAvB,UAAwB,KAAU,EAAC,KAAY;QAC7C,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,EAAE,EAAC,KAAK,CAAC,yBAAyB,IAAE,GAAG,CAAC,EAAC;YACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mCAAmC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mCAAmC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gCAAgC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yCAAyC,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAErG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,yBAAyB,IAAE,GAAG,CAAC,EAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mCAAmC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mCAAmC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gCAAgC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yCAAyC,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,EAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;YAC3E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;YACjF,gCAAgC;YAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;YACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4CAA4C,CAAC,CAAC;QAErF,CAAC;IAEH,CAAC;IAED,wBAAwB;IACxB,qCAAqC;IACrC,sFAAsF;IACtF,iJAAiJ;IACjJ,gCAAgC;IAChC,yHAAyH;IACzH,6CAA6C;IAC7C,8IAA8I;IAC9I,kEAAkE;IAClE,iFAAiF;IACjF,4BAA4B;IAC5B,2FAA2F;IAC3F,mCAAmC;IACnC,2CAA2C;IAC3C,wCAAwC;IACxC,uEAAuE;IACvE,wBAAwB;IACxB,yBAAyB;IACzB,yFAAyF;IACzF,6EAA6E;IAC7E,4FAA4F;IAC5F,QAAQ;IACR,YAAY;IACZ,iFAAiF;IACjF,QAAQ;IACR,MAAM;IACN,WAAW;IACX,gFAAgF;IAChF,gFAAgF;IAEhF,MAAM;IAEN,KAAK;IAEL,sDAAmB,GAAnB,UAAoB,CAAM,EAAC,KAAK;QAC9B,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,IAAI,cAAc,GAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,GAAE,EAAE,CAAC;QACzI,IAAI,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACpH,EAAE,EAAC,cAAc,IAAI,eAAe,GAAC,CAAC,CAAC,EAAC;YACtC,IAAI,iBAAiB,GAAO,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvI,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,GAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,aAAa,CAAC,CAAC;YAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACpF,4BAA4B;YAC5B,EAAE,EAAC,iBAAiB,IAAI,IAAI,IAAI,EAAE,CAAC,EAAC;gBACpC,IAAI,WAAW,GAAO,IAAI,IAAI,EAAE,CAAC;gBACjC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7D,IAAI,aAAa,UAAC;gBAClB,aAAa,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;gBAClF,aAAa,IAAI,iBAAiB,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE3E,CAAC;IAEH,CAAC;IAED,8CAA8C;IAC9C,+DAA4B,GAA5B,UAA6B,KAAS,EAAC,KAAY;QACjD,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,EAAE,IAAE,CAAC,EAAV,CAAU,CAAC,CAAC;YACrD,eAAe,CAAC,MAAM,GAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gCAAgC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACpN,eAAe,CAAC,MAAM,GAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6CAA6C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;YAC9O,eAAe,CAAC,MAAM,GAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,4CAA4C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4CAA4C,CAAC,CAAC;QAE9O,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;YACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4CAA4C,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,uDAAoB,GAApB,UAAqB,UAAiB,EAAC,aAAoB;QACzD,EAAE,EAAC,UAAU,GAAC,CAAC,IAAI,aAAa,GAAC,CAAC,CAAC,EAAC;YAClC,MAAM,CAAC,CAAC,UAAU,IAAI,aAAa,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,EAAC;YACH,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;IAEH,CAAC;IAED,8BAA8B;IAC9B,2DAAwB,GAAxB,UAAyB,KAAU,EAAE,KAAa;QAChD,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAEjF,EAAE,EAAC,KAAK,CAAC,0BAA0B,IAAE,GAAG,CAAC,EAAC;YACvC,iBAAiB;YACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;YAE7E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAGxF,CAAC;QACD,IAAI,EAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;YAGpE,6BAA6B;YAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;YAClF,yBAAyB;YACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YACxE,aAAa;YACb,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAGpH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,yDAAsB,GAAtB,UAAuB,KAAU,EAAE,KAAa;QAC9C,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,EAAE,EAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACxC,IAAI,UAAU,GAAQ,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,EAAE,IAAE,CAAC,EAAV,CAAU,CAAC,CAAC;YAC5E,UAAU,CAAC,MAAM,GAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;YAC5M,UAAU,CAAC,MAAM,GAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2CAA2C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;YACtO,UAAU,CAAC,MAAM,GAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,0CAA0C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;QAExO,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;QAEpF,CAAC;IAED,CAAC;IAED,sBAAsB;IACtB,gDAAa,GAAb,UAAc,CAAK;QACjB,IAAI,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACpF,EAAE,EAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAE,CAAC,CAAC,EAAC;YAElD,EAAE,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAC;gBAC3F,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC;gBACtG,GAAG,EAAC,IAAI,CAAC,GAAC,QAAQ,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAC;gBAChG,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,GAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtG,GAAG,EAAC,IAAI,CAAC,GAAC,QAAQ,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC;oBAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAE,CAAC,CAAC,EAAC;YACvD,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,uBAAuB;IACvB,qDAAkB,GAAlB,UAAmB,OAAO;QACxB,EAAE,EAAC,OAAO,CAAC,EAAC;YACV,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,IAAE,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,GAAC,QAAQ,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChN,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClE,4BAA4B,EAAG,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9E,kBAAkB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,iBAAiB,EAAE,CAAC,EAAE,CAAC;aAC1B,CAAC,CAAC;QACH,CAAC;QACD,IAAI,EAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,IAAE,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,GAAC,QAAQ,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChN,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClE,4BAA4B,EAAG,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9E,kBAAkB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,iBAAiB,EAAE,CAAC,EAAE,CAAC;aAC1B,CAAC,CAAC;QACH,CAAC;IAEH,CAAC;IAED,8BAA8B;IAC9B,oDAAiB,GAAjB,UAAkB,MAAU,EAAE,KAAY;QACxC,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,GAAc,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC5D,EAAE,EAAC,MAAM,CAAC,iBAAiB,GAAC,CAAC,IAAI,MAAM,CAAC,4BAA4B,IAAE,GAAG,CAAC,EAAC;YACvE,EAAE,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC;gBAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzE,GAAG,EAAC,IAAI,CAAC,GAAC,QAAQ,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC;gBAC/D,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACzE,GAAG,EAAC,IAAI,CAAC,GAAC,QAAQ,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC;oBAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACP,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAE,CAAC,CAAC,EAAC;gBAC/C,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAC,KAAK,CAAC,CAAC;QAEzC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,CAAC,iBAAiB,GAAC,CAAC,IAAI,MAAM,CAAC,4BAA4B,IAAE,GAAG,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IAEH,CAAC;IAED,4BAA4B;IAC5B,yDAAsB,GAAtB,UAAuB,IAAW;QAChC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACV,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9D,MAAM,EAAE,CAAC,EAAE,CAAC;aACf,CAAC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjE,CAAC,CAAC;QACH,CAAC;IAEH,CAAC;IACD,8BAA8B;IAC9B,wDAAqB,GAArB,UAAsB,MAAW,EAAE,KAAa;QAC9C,gCAAgC;QAChC,EAAE,EAAC,MAAM,CAAC,4BAA4B,IAAE,GAAG,CAAC,EAAC;YAC3C,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;YACzF,IAAI,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1C,WAAW,GAAc,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACtE,EAAE,EAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,aAAa,GAAC,CAAC,IAAI,MAAM,CAAC,iBAAiB,GAAC,CAAC,CAAC,EAAC;gBAC9F,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACpK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;gBAC9G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACtJ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;YAChH,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAErE,CAAC;QACD,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,CAAC,4BAA4B,IAAE,GAAG,CAAC,EAAC;YAChD,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;YACzF,IAAI,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1C,WAAW,GAAc,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACrE,2BAA2B;YAC1B,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,aAAa,IAAE,EAAE,EAArB,CAAqB,CAAC,CAAC;YACzE,EAAE,EAAC,aAAa,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,cAAI,IAAE,WAAI,CAAC,aAAa,EAAlB,CAAkB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,aAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAzB,CAAyB,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9J,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,cAAI,IAAE,WAAI,CAAC,aAAa,EAAlB,CAAkB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,aAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAzB,CAAyB,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;YACrH,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAErE,CAAC;QACH,CAAC;IAEH,CAAC;IAED,iDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,uDAAoB,GAApB,UAAqB,EAAO,EAAE,EAAO;QACnC,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACC,yBAAyB;IACzB,IAAI;IACJ,0BAA0B;IAC1B,QAAQ;IACR,+DAA+D;IAC/D,oEAAoE;IACpE,uEAAuE;IACvE,4EAA4E;IAC5E,oEAAoE;IACpE,wEAAwE;IAExE,UAAU;IACV,IAAI;IAEJ,kBAAkB;IAClB,IAAI;IACJ,kFAAkF;IAClF,4CAA4C;IAC5C,gCAAgC;IAChC,IAAI;IAEJ,uBAAuB;IACvB,IAAI;IACJ,qHAAqH;IAErH,mCAAmC;IACnC,gDAAgD;IAEhD,IAAI;IAEJ,+CAA+C;IAC/C,IAAI;IACJ,+HAA+H;IAE/H,sCAAsC;IACtC,IAAI;IAEJ,sBAAsB;IACtB,IAAI;IACJ,wFAAwF;IACxF,0BAA0B;IAC1B,MAAM;IACN,wDAAwD;IACxD,UAAU;IACV,MAAM;IACN,2BAA2B;IAC3B,MAAM;IACN,IAAI;IACJ,4CAAS,GAAT,UAAU,UAAU;QAApB,iBAsDC;QArDD,IAAI,gBAAsB,CAAE;QAC5B,IAAI,aAAmB,CAAE;QACzB,IAAI,kBAAwB,CAAE;QAE9B,IAAI,UAAU,GAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAS,EAAE,CAAC;QAE1B,IAAI,WAAgB,CAAC;QAErB,EAAE,EAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAE9C,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,KAAK;gBAClD,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC7C,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;gBAClE,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;gBACnD,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC;YACF,WAAW,GAAG,sCAAsC,GAAG,gBAAgB,GAAC,MAAM,CAAC;QACjF,CAAC;QAGD,EAAE,EAAC,UAAU,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YACtD,UAAU,CAAC,6BAA6B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACzD,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC;gBAC1C,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YACH,WAAW,GAAG,WAAW,GAAE,2BAA2B,GAAC,kBAAkB,CAAC;QAC5E,CAAC;QACD,IAAI,EAAC;YACH,WAAW,GAAG,WAAW,GAAE,0CAA0C,GAAC,aAAa,CAAC;QACtF,CAAC;QAEC,IAAI,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAC,yBAAyB;YAC/B,OAAO,EAAC,WAAW;YACnB,OAAO,EAAC;gBACN;oBACA,IAAI,EAAC,QAAQ;oBACb,IAAI,EAAC,QAAQ;oBACb,OAAO,EAAC;wBACN,KAAK,CAAC,OAAO;oBACf,CAAC;iBACA;gBACD;oBACE,IAAI,EAAC,SAAS;oBACd,OAAO,EAAC;wBACN,KAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;oBACpC,CAAC;iBACF;aACF;SACF,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IACD,oDAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAuBC;QArBC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;QAEnC,OAAO,UAAU,CAAC,WAAW,CAAC;QAC9B,OAAO,UAAU,CAAC,UAAU,CAAC;QAC7B,OAAO,UAAU,CAAC,aAAa,CAAC;QACzB,UAAU,CAAC,YAAY,GAAI,IAAI,CAAC,KAAK,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CACzB,CAAC;gBACE,2BAA2B;gBAChC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC3C,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAEH,kBAAkB;IAClB,MAAM;IACN,yBAAyB;IAGzB,iCAAiC;IACjC,2CAA2C;IAC3C,4CAA4C;IAC5C,yCAAyC;IACzC,kDAAkD;IAClD,sDAAsD;IACtD,4DAA4D;IAC5D,+CAA+C;IAC/C,QAAQ;IACR,yDAAyD;IACzD,QAAQ;IACR,oDAAoD;IACpD,qHAAqH;IAErH,qDAAqD;IACrD,WAAW;IACX,sCAAsC;IACtC,cAAc;IACd,6EAA6E;IAC7E,+BAA+B;IAC/B,oCAAoC;IACpC,uBAAuB;IACvB,cAAc;IACd,WAAW;IACX,eAAe;IACf,WAAW;IACX,8DAA8D;IAC9D,WAAW;IACX,MAAM;IAEJ,mDAAgB,GAAhB;QAAA,iBA2MC;QAxMC,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAInF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC1B,CAAC;gBAEE,IAAI,eAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/B,eAAa,CAAC,IAAI,GAAI,KAAI,CAAC,SAAS,CAAC,KAAK;oBAC1C,eAAa,CAAC,MAAM,GAAI,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC5C,eAAa,CAAC,sBAAsB,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAE,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;gBACjM,eAAa,CAAC,uBAAuB,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;gBACnM,mEAAmE;gBACnE,kEAAkE;gBAClE,qEAAqE;gBACrE,eAAa,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC/B,eAAa,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC9B,eAAa,CAAC,aAAa,GAAG,EAAE,CAAC;gBACpC,mCAAmC;gBACpC,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,EAAC;oBACjD,IAAI,4BAA4B,GAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAC3G,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBAED,EAAE,EAAC,4BAA4B,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBACxC,IAAI,SAAO,GAAmB,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;wBACzF,4BAA4B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;4BAC3D,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC1C,IAAI,WAAW,GAAG,SAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;4BAC/C,WAAW,GAAc,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;4BACpE,IAAI,qBAAqB,CAAC;4BAC1B,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,WAAW,EAAC,SAAS;gCAC5D,YAAY,CAAC,4BAA4B,IAAE,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;gCACrJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gCACvD,EAAE,EAAC,YAAY,CAAC,4BAA4B,IAAI,GAAG,CAAC,EAAC;oCACnD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,WAAW,CAAC,aAAa,CAAC;oCAChD,EAAE,EAAC,WAAW,CAAC,aAAa,IAAG,EAAE,CAAC,EAAC;wCACjC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAC,SAAS,EAAC,CAAC,CAAC;oCACrD,CAAC;oCACD,EAAE,EAAC,WAAW,CAAC,MAAM,IAAE,EAAE,CAAC,EAAC;wCACzB,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAC,UAAU,EAAC,CAAC,CAAC;oCAC/C,CAAC;gCACH,CAAC;gCACD,IAAI,CAAC,EAAE,EAAC,YAAY,CAAC,4BAA4B,IAAE,GAAG,CAAC,EAAC;oCACtD,EAAE,EAAC,WAAW,CAAC,aAAa,IAAE,EAAE,CAAC,EAAC;wCAChC,kDAAkD;oCACpD,CAAC;oCACD,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAC,UAAU,EAAC,CAAC,CAAC;gCAC3D,CAAC;4BACD,CAAC,CAAC,CAAC;4BACJ,mDAAmD;wBACpD,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAEH,4BAA4B;gBAC5B,EAAE,EAAC,eAAa,CAAC,qBAAqB,CAAC,EAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,eAAa,CAAC,qBAAqB,CAAC;oBAC3D,IAAI,mBAAmB,GAAI,MAAM,CAAC,IAAI,CAAC,eAAa,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACzF,MAAM,CAAC,eAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,mBAAmB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAC/B,mBAAmB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACxC,IAAI,OAAO,GAAmB,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;4BACjF,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;4BAEzC,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,sBAAsB,IAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;4BAC1O,CAAC,OAAO,CAAC,0BAA0B,IAAI,OAAO,CAAC,sBAAsB,IAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;4BAC/P,sBAAsB;4BACtB,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;4BACpM,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;4BACpM,OAAO,CAAC,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;4BAE7M,6BAA6B;4BAC7B,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;4BAC1M,sBAAsB;4BACtB,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;4BACjM,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;4BACnN,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;4BAClL,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;4BACjM,OAAO,CAAC,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;4BAC7M,CAAC,OAAO,CAAC,uBAAuB,IAAE,EAAE,IAAI,OAAO,CAAC,uBAAuB,IAAE,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;4BACzP,OAAO,CAAC,6BAA6B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;4BAC/N,OAAO,CAAC,iCAAiC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mCAAmC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;4BAC3O,OAAO,CAAC,uCAAuC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,yCAAyC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;4BAE7P,kBAAkB;4BAClB,OAAO,CAAC,8BAA8B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gCAAgC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;4BAClO,OAAO,CAAC,8BAA8B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gCAAgC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;4BAClO,OAAO,CAAC,2CAA2C,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6CAA6C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;4BACzQ,OAAO,CAAC,0CAA0C,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,4CAA4C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,4CAA4C,CAAC,CAAC;4BAEtQ,sCAAsC;4BACtC,OAAO,CAAC,6BAA6B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;4BAEjO,oBAAoB;4BACpB,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;4BACzN,OAAO,CAAC,kCAAkC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;4BAC9O,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;4BAC1M,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;4BAC5N,OAAO,CAAC,yCAAyC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2CAA2C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;4BACnQ,OAAO,CAAC,wCAAwC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,0CAA0C,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;4BAEhQ,iBAAiB;4BAGhB,wCAAwC;4BACzC,wFAAwF;4BACtF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;4BACjC,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;4BACnN,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;4BAC1M,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;4BACpM,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;4BAC5N,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;4BAC5N,OAAO,CAAC,+BAA+B,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iCAAiC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;4BACtO,EAAE,EAAE,OAAO,CAAC,0BAA0B,IAAG,EAAE,IAAI,OAAO,CAAC,0BAA0B,IAAG,EAAE,CAAC,CAAC,CAAC;gCAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC;4BAAC,CAAC;4BAChL,wEAAwE;4BACxE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;4BAC5F,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,oBAAoB,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;4BAC9F,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,oBAAoB,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;4BAC9F,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,wBAAwB,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;4BACtG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,6BAA6B,GAAG,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;4BAChH,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,iCAAiC,GAAE,EAAE,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;4BACxH,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,yBAAyB,GAAG,EAAE,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;4BACzG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,4BAA4B,GAAG,EAAE,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;4BAC/G,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,4BAA4B,GAAG,EAAE,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC;wBAE/G,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAa,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,OAAO,GAAmB,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAE3C,CAAC;QAGH,CAAC,CAAC,CAAC;QAEL,oDAAoD;QACpD,MAAM;QACN,kCAAkC;QAClC,QAAQ;QACR,4CAA4C;QAC5C,gEAAgE;QAChE,4BAA4B;QAC5B,4CAA4C;QAC5C,iBAAiB;QAEjB,UAAU;QACV,4BAA4B;QAC5B,wFAAwF;QACxF,kCAAkC;QAClC,yCAAyC;QACzC,YAAY;QAEZ,qCAAqC;QACrC,mFAAmF;QACnF,iBAAiB;QAGjB,kDAAkD;QAClD,oBAAoB;QACpB,mGAAmG;QACnG,cAAc;QAGd,+CAA+C;QAC/C,gBAAgB;QAChB,kFAAkF;QAClF,+JAA+J;QAE/J,mEAAmE;QACnE,gBAAgB;QAChB,2DAA2D;QAE3D,8DAA8D;QAC9D,qEAAqE;QACrE,kBAAkB;QAElB,mEAAmE;QACnE,cAAc;QACd,sFAAsF;QACtF,0FAA0F;QAC1F,gGAAgG;QAChG,uDAAuD;QACvD,sDAAsD;QACtD,iDAAiD;QACjD,UAAU;QAEV,uEAAuE;QACvE,YAAY;QACZ,QAAQ;QACR,iCAAiC;QACjC,mCAAmC;QACnC,QAAQ;QACR,OAAO;IACT,CAAC;IACD,2CAA2C;IAC3C,IAAI;IACJ,0BAA0B;IAC1B,QAAQ;IACR,0BAA0B;IAC1B,oCAAoC;IACpC,0CAA0C;IAC1C,oDAAoD;IACpD,oCAAoC;IACpC,2CAA2C;IAC3C,UAAU;IACV,IAAI;IAEJ,0CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,yBAAyB;QACzB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACD,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3E,KAAK,CAAC;YACX,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,iFAAiF;gBAChF,KAAK,CAAC;YACX,KAAK,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACjF,KAAK,CAAC;YACX,KAAK,CAAC;gBACF,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACtF,KAAK,CAAC;YACX,KAAK,CAAC;gBACD,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3F,KAAK,CAAC;YACX,KAAK,EAAE;gBACH,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC/F,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACvF,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC1F,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxF,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAED,kDAAe,GAAf,UAAgB,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI;QACxB,4BAA4B;QAC5B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,wDAAqB,GAArB,UAAsB,SAAc;QAApC,iBAYC;QAXC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,eAAK;YACzC,IAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAErC,EAAE,CAAC,CAAC,OAAO,YAAY,mEAAW,CAAC,CAAC,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,iEAAS,CAAC,CAAC,CAAC;gBACtC,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,iEAAS,CAAC,CAAC,CAAC;gBACtC,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGA,kCAAkC;IAErC,sDAAmB,GAAnB,UAAoB,KAAS,EAAC,KAAY,EAAC,IAAY;QACtD,IAAI,OAAO,GAAmB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAK,CAAC,CAAC;QAC/B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACV,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBACpC,IAAI,SAAS,GAAS,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC1C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC7D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACpE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,eAAe,EAAE,CAAC;gBAAA,CAAC;gBAC9D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACxE,IAAI,cAAc,GAAS,KAAK,CAAC,mBAAmB,CAAE;gBAGxD,EAAE,EAAC,cAAc,IAAI,EAAE,CAAC,EAAC;oBAErB,IAAI,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC;oBAE7C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,EAAC,kEAAU,CAAC,GAAG,CAAC,cAAc,CAAC,EAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBACpE,IAAI,MAAM,GAAG,cAAc,GAAC,WAAW;oBACvC,EAAE,EAAC,MAAM,IAAI,CAAE,CAAC,EAAC;wBACf,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,EAAC,kEAAU,CAAC,GAAG,CAAC,cAAc,GAAC,WAAW,CAAC,EAAC,kEAAU,CAAC,GAAG,CAAC,cAAc,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACtK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC;oBAC9B,CAAC;oBACD,IAAI,EAAC;wBACH,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACvD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClG,CAAC;oBACD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEtE,CAAC;YACH,CAAC;QACH,CAAC;QACD,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YAEV,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAE,CAAC,CAAC,EAAC;gBAC5C,IAAI,SAAS,GAAS,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC1C,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACrE,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC5E,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAe,EAAE,CAAC;gBAAA,CAAC;gBACtE,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAChF,IAAI,kBAAkB,GAAS,KAAK,CAAC,yBAAyB,CAAC;gBAG/D,EAAE,EAAC,kBAAkB,IAAI,EAAE,CAAC,EAAC;oBAEzB,IAAI,WAAW,GAAG,KAAK,CAAC,4BAA4B,CAAC;oBACrD,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,EAAC,kEAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7I,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBAC5E,IAAI,YAAY,GAAG,kBAAkB,GAAC,WAAW;oBACjD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kBAAkB,CAAC,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,YAAY,CAAC;oBACrC,EAAE,EAAC,YAAY,IAAI,CAAE,CAAC,EAAC;wBACrB,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;wBAC1E,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,EAAC,kEAAU,CAAC,GAAG,CAAC,kBAAkB,GAAC,WAAW,CAAC,EAAC,kEAAU,CAAC,GAAG,CAAC,kBAAkB,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACtL,IAAI,CAAC,OAAO,CAAC,YAAY,EAAC,KAAK,EAAC,EAAE,CAAC;oBACrC,CAAC;oBACD,IAAI,EAAC;wBACH,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC/D,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1G,CAAC;oBACD,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC9E,CAAC;YACH,CAAC;QAEL,CAAC;IACF,CAAC;IAED,wDAAqB,GAArB,UAAsB,GAAO,EAAC,IAAQ;QAAtC,iBA0BC;QAzBC,2CAA2C;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,CAAC,CAAC;QACnC,MAAM,EAAC,IAAI,CAAC,EAAC;YACZ,KAAK,OAAO;gBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,GAAG,CAAC,CAAC;gBAC7D,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY;qBACvC,IAAI,CAAC,kEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAChC,SAAS,CAAC;oBACT,KAAI,CAAC,SAAS,GAAC,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,EAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,EAAC,IAAI,CAAC;gBACrG,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC;YAClB,KAAK,MAAM;gBACX,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,GAAG,CAAC,CAAC;gBAC5D,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;qBACtC,IAAI,CAAC,kEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAChC,SAAS,CAAC;oBACT,KAAI,CAAC,QAAQ,GAAE,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,QAAQ,EAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAC,IAAI,CAAC;gBACnG,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC;YAClB,KAAK,KAAK;gBACV,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,GAAG,CAAC,CAAC;gBAC/D,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,YAAY;qBACzC,IAAI,CAAC,kEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAChC,SAAS,CAAC;oBACT,KAAI,CAAC,WAAW,GAAE,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAI,CAAC,WAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,EAAC,IAAI,CAAC;gBAC5G,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC;QACnB,CAAC;IACJ,CAAC;IACA,iBAAiB;IACjB,8CAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAED,6CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAEpD,CAAC;IACD,sDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACnD,CAAC;IACD,4CAAS,GAAT,UAAU,KAAK;QACd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,qDAAkB,GAAlB,UAAmB,KAAK;QACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IACjC,CAAC;IACD,0CAAO,GAAP;QAAA,iBAsBE;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,4CAAS,GAAT;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC3D,4CAA4C;gBAC5C,kDAAkD;gBACjD,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IA5+CW,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;mMAiD4B,CAA0C;YACzD,gHAAgC,qEAAa;YACzC,iKAAmC,CAAW;YACxC,6FAAiB,yFAAkB,EAAe;YACvD,eAAe,EAAwB,IAAc;OApD5D,wBAAwB,CA++CpC;IAAD,CAAC;AAAA;SA/+CY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;;;;;AC1Ba;AACO;AACuB;AACkB;AACzB;AACmB;AAE5F;;;;;GAKG;AAOH;IAyBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,GAAe;QAA3K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,QAAG,GAAH,GAAG,CAAY;QAnB9L,mBAAc,GAAK,CAAC,UAAU,EAAC,gBAAgB,EAAC,eAAe,EAAC,cAAc,CAAC,CAAC;QAChF,kBAAa,GAAK,CAAC,gBAAgB,EAAC,YAAY,EAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAC,0BAA0B,CAAC,CAAC;QAC7G,qBAAgB,GAAK,EAAE,CAAC;QAKjB,2BAAsB,GAAS,CAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,2BAA2B,EAAC,gBAAgB,CAAC,CAAC;QACpG,yBAAoB,GAAS,CAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,2BAA2B,EAAC,gBAAgB,EAAC,cAAc,CAAC,CAAC;QAEjH,yBAAoB,GAAM,EAAE,CAAC;QAC7B,uBAAkB,GAAM,EAAE,CAAC;QAGlC,aAAa;QACb,eAAe;QAEf,WAAM,GAAQ,CAAC,CAAC;QAkElB,mBAAc,GAAa,KAAK,CAAC;QA9D7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,4BAA4B;IAI9B,CAAC;IACD,6CAAQ,GAAR;QAEE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB;aAC1D,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB;aACxD,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;IACzC,CAAC;IAEJ,uBAAuB;IACvB,kDAAa,GAAb;QAAA,iBAuCD;QAtCC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CACzC,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC1B,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAE3C,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,cAAc,GAAC,EAAE,CAAC;gBACtB,IAAI,YAAY,GAAC,EAAE,CAAC;gBACpB,gDAAgD;gBAChD,EAAE,EAAC,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACrC,GAAG,EAAC,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EACvD,CAAC;wBACC,EAAE,EAAC,CAAC,IAAE,CAAC,CAAC,EAAC;4BACP,IAAI,WAAW,GAAG;gCAChB,aAAa,EAAC,EAAE;gCAChB,WAAW,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc;6BACzD;4BACD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACnC,CAAC;wBACD,IAAI,EAAC;4BACH,IAAI,WAAW,GAAG;gCAChB,aAAa,EAAC,EAAE;gCAChB,WAAW,EAAE,EAAE;6BAChB;4BACD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACnC,CAAC;oBAGH,CAAC;gBACD,CAAC;gBACD,KAAI,CAAC,YAAY,CAAC,cAAc,EAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;YAG5D,CAAC;QACP,CAAC,EAAE,eAAK,IAAI,YAAI,CAAC,YAAY,GAAS,KAAK,EAA/B,CAA+B,CAAC,CAAC;IAC/C,CAAC;IAID,uDAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YAC3E,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YACrE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAED,iBAAiB;QACf,IAAI,kBAAkB,GAAG,IAAI,iEAAS,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YACjF,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC1D,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,UAAU,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAChE,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC9E,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,WAAW,EAAE,kEAAU,CAAC,QAAQ,CAAC;SACnE,CAAC,EANmE,CAMnE,CAAC,CAAC,CAAC;QACL,eAAe;QACf,IAAI,YAAY,GAAC,EAAE,CAAC;QAElB,IAAI,gBAAgB,GAAG,IAAI,iEAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YAC7E,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC1D,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,UAAU,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAChE,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC9E,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,WAAW,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,YAAY,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,EAAE,kEAAU,CAAC,QAAQ,CAAC;SAErE,CAAC,EAR+D,CAQ/D,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,IAAI,EAAC,IAAI;YACT,OAAO,EAAC,IAAI;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,yBAAyB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;SAC5D,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEC,iDAAY,GAAZ,UAAa,OAAO,EAAC,KAAK;QAA1B,iBAqDC;QApDC,iBAAiB;QACjB,IAAI,kBAAkB,GAAG,IAAI,iEAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YAC/F,SAAS,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACzD,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,OAAO,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YACzB,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClD,WAAW,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC5D,SAAS,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YACrD,kBAAkB,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACnE,gBAAgB,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YACpC,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,kBAAkB,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAClE,UAAU,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC9B,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;SAEvD,CAAC,EAjBiF,CAiBjF,CAAC,CAAC,CAAC;QACL,eAAe;QACf,IAAI,YAAY,GAAC,EAAE,CAAC;QAElB,IAAI,gBAAgB,GAAG,IAAI,iEAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YAC3F,SAAS,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACvD,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,OAAO,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YACzB,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClD,WAAW,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC1D,SAAS,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YACrD,kBAAkB,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACjE,gBAAgB,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YACpC,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,kBAAkB,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAChE,UAAU,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC9B,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YACtD,iBAAiB,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC/D,WAAW,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC9B,YAAY,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;SAExD,CAAC,EApB6E,CAoB7E,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,IAAI,EAAC,IAAI;YACT,OAAO,EAAC,IAAI;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,yBAAyB,EAAC,IAAI;SAC/B,CAAC,CAAC;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IACzB,CAAC;IAGD,sBAAI,uDAAe;QADnB,qCAAqC;aACrC,cAAwB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC,CAAC,CAAC;;;OAAA;IAGjF,sBAAI,qDAAa;QADjB,mCAAmC;aACnC,cAAqB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAc,CAAC,EAAC;;;OAAA;IAE5E,8BAA8B;IAC9B,sDAAiB,GAAjB;QAAA,iBASA;QARC,IAAI,QAAQ,GAAE,eAAe,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC5C,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3B,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvC,CAAC;QACP,CAAC,EAAE,eAAK,IAAI,YAAI,CAAC,YAAY,GAAS,KAAK,EAA/B,CAA+B,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,uDAAkB,GAAlB,UAAmB,QAAY;QAA/B,iBAsDC;QArDC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC;YACzB,IAAI,uBAAqB,GAAK,EAAE,CAAC;YAChC,IAAI,qBAAmB,GAAK,EAAE,CAAC;YAEhC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,GAAG;gBACpC,EAAE,EAAC,GAAG,IAAE,CAAC,CAAC,EAAC;oBACT,uBAAqB,CAAC,IAAI,CAAC;wBACzB,UAAU,EAAC,OAAO,CAAC,QAAQ;wBAC3B,SAAS,EAAC,OAAO,CAAC,OAAO;wBACzB,YAAY,EAAC,OAAO,CAAC,UAAU;wBAC/B,mBAAmB,EAAC,OAAO,CAAC,iBAAiB;wBAC7C,aAAa,EAAC,OAAO,CAAC,WAAW;qBAClC,CAAC;gBACJ,CAAC;YAEH,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,SAAS,EAAC,KAAK;gBACtC,qBAAmB,CAAC,IAAI,CAAC;oBAEvB,UAAU,EAAC,SAAS,CAAC,QAAQ;oBAC7B,SAAS,EAAC,SAAS,CAAC,OAAO;oBAC3B,mBAAmB,EAAC,SAAS,CAAC,iBAAiB;oBAC/C,YAAY,EAAC,SAAS,CAAC,UAAU;oBACjC,aAAa,EAAC,SAAS,CAAC,WAAW;oBACnC,cAAc,EAAC,SAAS,CAAC,YAAY;iBACtC,CAAC;YAEJ,CAAC,CAAC,CAAC;YAEN,IAAI,YAAY,GAAK;gBACpB,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,KAAK;gBAC7B,QAAQ,EAAG,KAAK;gBAChB,cAAc,EAAC,IAAI,CAAC,KAAK;gBAC3B,wBAAwB,EAAC,uBAAqB;gBAC9C,sBAAsB,EAAC,qBAAmB;gBAC1C,2BAA2B,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK;aACpF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,gBAAM;gBACnD,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAAC,CAAC;oBAE/B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;oBACR,+CAA+C;gBACjD,CAAC;gBACD,IAAI,CAAC,CAAC;oBACJ,wEAAwE;gBAC1E,CAAC;YACH,CAAC,EAAE,eAAK;gBACP,wEAAwE;YACzE,CAAC,CAAC,CAAC;QACH,CAAC;IACH,CAAC;IAlQY,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCA0B8L;OAzBnL,0BAA0B,CAoQtC;IAAD,CAAC;AAAA;SApQY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBc;AACY;AACe;AACkB;AACzB;AACK;AACyB;AACiB;AAER;AACA;AACG;AACiB;AAE5D;AACsD;AAG9H;;;;;GAKG;AAOH;IA0CE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,EAAc,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAvC3N,wBAAmB,GAAK,CAAC,EAAC,IAAI,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,EAAC,EAAC,IAAI,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,CAAC;QAMxE,gBAAW,GAAM,EAAE,CAAC;QAGpB,kBAAa,GAAM,EAAE,CAAC;QAGtB,2BAAsB,GAAM,EAAE,CAAC;QAC/B,6BAAwB,GAAO,EAAE,CAAC;QAClC,0BAAqB,GAAO,EAAE,CAAC;QAE/B,uBAAkB,GAAM,IAAI,CAAC;QAQ7B,WAAM,GAAO,EAAE,CAAC;QAIhB,8BAAyB,GAAS,KAAK;QACvC,mBAAc,GAAM,EAAE,CAAC;QACvB,qBAAgB,GAAM,EAAE,CAAC;QACzB,uBAAkB,GAAM,EAAE,CAAC;QAC3B,4BAAuB,GAAK,EAAE;QAM9B,eAAU,GAAM,EAAE,CAAC;QAEjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,mCAAmC;QAClC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;YACC,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAChC,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;gBACxC,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;gBAClC,KAAK,CAAC;YACN;gBACA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAChC,KAAK,CAAC;QACR,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YACE,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,0BAA0B,EAAC,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC;YACjB,YAAY,EAAC,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,QAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAE1B,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjC,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,IAAI,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,MAAM,EAAC,CAAC,EAAE,CAAC;SACZ,CAAC;QAKA,sBAAsB;IAI5B,CAAC;IAED,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAMC,oDAAe,GAAf;IAEA,CAAC;IACD,oDAAe,GAAf;QAED,IAAI,CAAC,kBAAkB,EAAE;IACxB,CAAC;IAKD,kDAAa,GAAb,UAAc,MAAW;QACzB,gCAAgC;QAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrD;yCACiC;QACjC,EAAE,EAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACnB,oBAAoB;YACpB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,+BAA+B;IAC/B,wCAAwC;IAExC,+EAA+E;IAC/E,kBAAkB;IAClB,OAAO;IACP,sBAAsB;IACtB,sBAAsB;IAEtB,mGAAmG;IACnG,gEAAgE;IAChE,6CAA6C;IAC7C,mBAAmB;IACnB,8EAA8E;IAC9E,6CAA6C;IAC7C,SAAS;IACT,MAAM;IAGJ,kDAAa,GAAb;QAGE,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,UAAU,CAAC;QACpC,IAAI,0BAA0B,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC;QAChG,EAAE,EAAC,UAAU,IAAG,IAAI,IAAI,0BAA0B,IAAG,IAAI,CAAC,CAC1D,CAAC;YACC,IAAI,KAAK,GAAG,0BAA0B,GAAG,CAAC,UAAU,GAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEH,6CAAQ,GAAR,UAAS,UAAU;QAAnB,iBAmBC;QAjBG,IAAI,OAAO,GAAO,EAAE,CAAC;QACvB,UAAU,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU;QAE7C,OAAO,GAAE,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,2CAA2C,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE7F,oBAAoB;YACpB,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAEhE,CAAC;QACH,CAAC,CAAC;QACF,UAAU,CAAC;YACT,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,EAAC,IAAI,CAAC;IACb,CAAC;IACD,qDAAgB,GAAhB,UAAiB,MAAM;QACrB,EAAE,EAAC,MAAM,CAAC,0BAA0B,IAAG,EAAE,CAAC,EAAC;YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAA,CAAC;QACpI,EAAE,EAAC,MAAM,CAAC,UAAU,IAAG,EAAE,IAAI,MAAM,CAAC,0BAA0B,IAAG,EAAE,CAAC,CACpE,CAAC;YAEC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,UAAU,GAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9H,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,UAAU,GAAC,GAAG,CAAC,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,uDAAkB,GAAlB;QAAA,iBA4HC;QA1HC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAE,EAAE,CAAC;QAC1B,IAAI,CAAC,uBAAuB,GAAC,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAEvE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBAC/D,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC;gBACpE,mBAAmB;gBACpB,KAAI,CAAC,yBAAyB,GAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,iBAAiB,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAC,KAAK,IAAG,eAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAxB,CAAwB,EAAC,CAAC,CAAC;gBACxI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,KAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC9D,KAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC;gBACtE,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC;gBACvD,uBAAuB;gBACvB,KAAI,CAAC,6BAA6B,GAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,qBAAqB,EAAzB,CAAyB,CAAC,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAC,KAAK,IAAG,eAAQ,GAAC,MAAM,CAAC,KAAK,CAAC,EAAtB,CAAsB,EAAC,CAAC,CAAC;gBAC9I,KAAI,CAAC,kBAAkB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB;gBACxD,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACtE,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,eAAe,CAAC,aAAa,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAI,CAAC,eAAe,CAAC,CAAC;gBAC1C,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAEtC,IAAI,gBAAgB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,MAAM;gBACxE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,gBAAgB,CAAC;gBACnC,KAAI,CAAC,yBAAyB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,gBAAgB,GAAC,CAAC,CAAC,CAAC,MAAM,IAAE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,gBAAgB,GAAC,CAAC,CAAC,CAAC,IAAI,IAAG,CAAC,GAAE,IAAI,GAAG,KAAK;gBACpM,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,IAAI,MAAM,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAS,CAAC,EAAE,CAAC;oBAEtD,MAAM,CAAC,CAAC,CAAC;gBACX,CAAC,EAAC,EAAE,CAAC,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAGlB,KAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC;gBACjE,uBAAuB;gBACvB,KAAI,CAAC,2BAA2B,GAAC,KAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,qBAAqB,EAAzB,CAAyB,CAAC,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAC,KAAK,IAAG,eAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAxB,CAAwB,EAAC,CAAC,CAAC,CAAC;gBACxJ,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;gBAC5D,wBAAwB;gBACxB,KAAI,CAAC,8BAA8B,GAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,EAAxB,CAAwB,CAAC,CAAC,MAAM,CAAC,UAAC,QAAQ,EAAC,KAAK,IAAG,eAAQ,GAAC,MAAM,CAAC,KAAK,CAAC,EAAtB,CAAsB,EAAC,CAAC,CAAC;gBAChJ,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC;gBAC7D,4CAA4C;gBAC1C,iDAAiD;gBAGnD,uEAAuE;gBAEtE,4DAA4D;gBAC7D,sGAAsG;gBACtG,yGAAyG;gBACzG,qHAAqH;gBAKjH,KAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAC,WAAW,EAAE,SAAS;oBAC1D,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAC,WAAW,CAAC,UAAU;oBAChD,IAAI,iBAAiB,GAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,QAAC,EAAE,MAAM,EAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAA/C,CAA+C,CAAC,CAAC;oBAClH,IAAI,SAAS,GAAM,EAAE,CAAC;oBACtB,iBAAiB,CAAC,OAAO,CAAC,UAAC,aAAa,EAAE,WAAW;wBACpD,IAAI,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,SAAS,IAAK,UAAG,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAnC,CAAmC,EAAE,CAAC,CAAC,CAAC;wBAC5G,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,aAAa,EAAE,UAAU,EAAC,cAAc,EAAC,CAAC;oBACjE,CAAC,CAAC;oBACF,IAAI,sBAAsB,GAAQ,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,UAAU,IAAK,WAAI,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,CAAC,CAAC;oBAE/G,IAAI,WAAW,GAAa,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;oBAClD,IAAI,aAAa,GAAM,EAAE,CAAC;oBAC1B,aAAa,CAAC,IAAI,CAAC;wBACjB,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,iBAAiB,GAAE,sBAAsB;wBAC3E,WAAW,EAAC,sBAAsB;wBAClC,YAAY,EAAE,0BAA0B,GAAE,sBAAsB,GAAG,WAAW;wBAC9E,UAAU,EAAE,sBAAsB,GAAG,WAAW;qBACjD,CAAC;oBACF,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,CAAC,UAAU,EAAE,cAAc,EAAC,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAC,KAAK,EAAC,WAAW,CAAC,MAAM,EAAC,aAAa,EAAC,WAAW,CAAC,gBAAgB,EAAC,CAAC,CAAC;gBACzM,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,WAAW,EAAC,SAAS;oBACpD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,MAAM,GAAC,MAAM,CAAC,MAAM,OAAb,MAAM,GAAQ,EAAE,SAAI,WAAW,CAAC,KAAK,EAAC,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,MAAM,CAAC;oBAC5B,IAAI,iBAAiB,GAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAG,IAAE,QAAC,EAAC,MAAM,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,CAAC,GAAG,CAAC,EAAC,CAAC,EAAhC,CAAgC,CAAC,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,iBAAiB,CAAC,CAAC;oBAC3C,IAAI,SAAS,GAAK,EAAE,CAAC;oBACrB,iBAAiB,CAAC,OAAO,CAAC,UAAC,aAAa,EAAC,WAAW;wBAClD,IAAI,cAAc,GAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAC,SAAS,IAAG,UAAG,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAtC,CAAsC,EAAC,CAAC,CAAC;wBACxG,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,aAAa,EAAC,UAAU,EAAC,cAAc,EAAC,CAAC;oBACjE,CAAC,CAAC;oBACF,IAAI,sBAAsB,GAAQ,SAAS,CAAC,MAAM,CAAC,UAAC,EAAE,EAAC,KAAK,IAAG,SAAE,GAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAA3B,CAA2B,EAAC,CAAC,CAAC,CAAC;oBAC9F,IAAI,WAAW,GAAa,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;oBAClD,IAAI,aAAa,GAAM,EAAE,CAAC;oBAC1B,aAAa,CAAC,IAAI,CAAC;wBACjB,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,iBAAiB,GAAE,sBAAsB;wBAC3E,WAAW,EAAC,sBAAsB;wBAClC,YAAY,EAAE,0BAA0B,GAAE,sBAAsB,GAAG,WAAW;wBAC9E,UAAU,EAAE,sBAAsB,GAAG,WAAW;qBACjD,CAAC;oBACF,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAC,YAAY,EAAC,WAAW,CAAC,aAAa,EAAC,cAAc,EAAC,iBAAiB,EAAC,aAAa,EAAC,aAAa,EAAC,MAAM,EAAC,WAAW,CAAC,MAAM,EAAC,iBAAiB,EAAC,WAAW,CAAC,mBAAmB,EAAC,CAAC,CAAC;gBACvN,CAAC,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,KAAI,CAAC,uBAAuB,CAAC;gBAGzD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAI,CAAC,qBAAqB,CAAC,CAAC;gBACxD,EAAE,EAAC,WAAW,KAAG,SAAS,CAAC,EAAC;oBAC5B,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAClE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;oBAC1G,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC9E,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;oBACrE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC1E,EAAE,EAAC,WAAW,CAAC,0BAA0B,IAAI,IAAI,CAAC,EAAC;wBACjD,KAAI,CAAC,cAAc,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC;oBAC5F,CAAC;oBACD,EAAE,EAAC,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;wBACnC,KAAI,CAAC,gBAAgB,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC;oBAChF,CAAC;gBAED,CAAC;YAEH,CAAC;QACH,CAAC,CAAC;IAEN,CAAC;IACD,wDAAmB,GAAnB,UAAoB,IAAQ;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACvB,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YAChC,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,IAAI,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACrB,CAAC;IACA,CAAC;IACD;;OAEG;IAEH,oDAAe,GAAf;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2HAA2B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,2BAA2B,EAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC,CAAC;IAEtJ,CAAC;IAED,gDAAW,GAAX,UAAY,QAAQ;QAElB,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,MAAM,IAAE,QAAQ,EAApB,CAAoB,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,4JAA4J;QAC5J,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2HAA2B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,2BAA2B,EAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC,CAAC;IAE3J,CAAC;IACD,mDAAc,GAAd,UAAe,YAAY;QAEzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2HAA2B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,OAAO,EAAC,YAAY,EAAC,2BAA2B,EAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC,CAAC;IAC9J,CAAC;IAED,iCAAiC;IAEjC,yDAAoB,GAApB;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4IAAgC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,2BAA2B,EAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC;IAC/J,CAAC;IACD,0DAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,MAAM,IAAE,KAAK,EAAjB,CAAiB,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4IAAgC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,YAAY,EAAC,gBAAgB,EAAC,2BAA2B,EAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC;IAE3K,CAAC;IACD,0DAAqB,GAArB,UAAsB,MAAM;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4IAAgC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,YAAY,EAAC,MAAM,EAAC,2BAA2B,EAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC;IACjK,CAAC;IAED,4BAA4B;IAC5B,oDAAe,GAAf;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAC,CAAC,CAAC;IAEjG,CAAC;IAED,wDAAmB,GAAnB,UAAoB,WAAW;QAE7B,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,WAAW,IAAE,WAAW,EAA5B,CAA4B,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,CAAC,CAAC;IAEtG,CAAC;IACD,2DAAsB,GAAtB,UAAuB,eAAe;QAEpC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,eAAe,EAAC,CAAC,CAAC;IAC5G,CAAC;IACD,4DAAuB,GAAvB;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sJAAmC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,CAAC;IAC1G,CAAC;IAED,4DAAuB,GAAvB,UAAwB,kBAAkB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sJAAmC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,eAAe,EAAC,kBAAkB,EAAC,CAAC;IACxH,CAAC;IACD,yDAAoB,GAApB,UAAqB,cAAc;QACjC,IAAI,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,MAAM,IAAE,cAAc,EAA1B,CAA0B,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sJAAmC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,eAAe,EAAC,eAAe,EAAC,CAAC;IACrH,CAAC;IAED,sBAAsB;IACtB,mDAAc,GAAd;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;IAEhG,CAAC;IAED,uDAAkB,GAAlB,UAAmB,UAAU;QAE3B,IAAI,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,aAAa,IAAE,UAAU,EAA7B,CAA6B,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,CAAC;IAErG,CAAC;IACD,0DAAqB,GAArB,UAAsB,cAAc;QAElC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,cAAc,EAAC,CAAC,CAAC;IAC1G,CAAC;IAGD,iCAAiC;IACjC,wDAAmB,GAAnB;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA+B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;IAEjG,CAAC;IAED,4DAAuB,GAAvB,UAAwB,UAAU;QAEhC,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,IAAE,UAAU,EAApC,CAAoC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA+B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,CAAC;IAEtG,CAAC;IACD,+DAA0B,GAA1B,UAA2B,cAAc;QAEvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA+B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,cAAc,EAAC,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,kDAAa,GAAb;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yJAAoC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,CAAC,CAAC;IAErG,CAAC;IAED,sDAAiB,GAAjB,UAAkB,UAAU;QAE1B,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,qBAAqB,IAAE,UAAU,EAArC,CAAqC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yJAAoC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,CAAC;IAE1G,CAAC;IACD,yDAAoB,GAApB,UAAqB,cAAc;QAEjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yJAAoC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,cAAc,EAAC,CAAC,CAAC;IAC/G,CAAC;IAlcU,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCA2C2N;OA1ChN,0BAA0B,CAoctC;IAAD,CAAC;AAAA;SApcY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;AC9BG;AACe;AACuB;AACD;AACmB;AACzB;AACD;AAExE;;;;;GAKG;AAOH;IAmBE,qCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAhB3N,cAAS,GAAO,EAAE,CAAC;QACnB,WAAM,GAAM,EAAE,CAAC;QAQf,yBAAoB,GAAM,EAAE,CAAC;QAC7B,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,0BAAqB,GAAM,EAAE,CAAC;QAC9B,8BAAyB,GAAK,EAAE;QAChC,eAAU,GAAK,CAAC,EAAC,SAAS,EAAC,GAAG,EAAC,WAAW,EAAC,+BAA+B,EAAC,EAAC,EAAC,SAAS,EAAC,GAAG,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;QAC5H,yBAAoB,GAAM,EAAE,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,2DAA2D;QAC3D,IAAI,CAAC,yBAAyB,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YAEE,gBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,EAAE,EAAC,IAAI,CAAC,SAAS,IAAE,IAAI,CAAC,CACxB,CAAC;YACG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACH,sBAAsB;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,iDAAW,GAAX;QAAA,iBAmDC;QAjDC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACzD,CAAC;QACD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7G,EAAE,EAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;gBACzB,IAAI,OAAK,GAAC,GAAG,CAAC,OAAO;gBACrB,IAAI,GAAG,GAAC,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC1D,MAAM,CAAC,OAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC;gBACF,EAAE,EAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACf,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBACD,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBACD,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBACD,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,KAAI,CAAC,oBAAoB,CAAC;gBAC/C,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAI,CAAC,oBAAoB,CAAC;YAChD,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IAED,oDAAc,GAAd;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAC,CAAC,IAAI,CAAC;YAEb,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,UAAU,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,gBAAgB,EAAC,CAAC,IAAI,CAAC;YACvB,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,UAAU,EAAC,CAAC,GAAG,CAAC;YAChB,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,SAAS,EAAC,CAAC,IAAI,CAAC;YAChB,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,iBAAiB,EAAC,CAAC,IAAI,CAAC;YACxB,UAAU,EAAC,CAAC,IAAI,CAAC;YACjB,cAAc,EAAC,CAAC,IAAI,CAAC;YACrB,kBAAkB,EAAC,CAAC,IAAI,CAAC;YACzB,QAAQ,EAAC,CAAC,IAAI,CAAC;SAChB,CAAC,CAAC;IACP,CAAC;IAED,iDAAW,GAAX;QAEE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC;YAC5B,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpC,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,oDAAc,GAAd,UAAe,CAAC,EAAC,IAAI;QAArB,iBAqCC;QAnCC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAExB,qBAAqB;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,GAAC,CAAC,EAAH,CAAG,EAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,aAAiB,CAAC;QACtB,EAAE,EAAC,IAAI,CAAC,MAAM,IAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,EAAC;YAC5C,aAAa,GAAC,CAAC;oBACd,MAAM,EAAC,IAAI,CAAC,MAAM;oBAClB,QAAQ,EAAC,IAAI,CAAC,QAAQ;oBACtB,UAAU,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;oBACpC,QAAQ,EAAC,KAAK;iBAEf,CAAC;YAEJ,IAAI,OAAO,GAAK,EAAC,SAAS,EAAC,aAAa,EAAC;YACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,6CAA6C,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACjG,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACC,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QAChF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAE,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IACF;;;;;;;;;;YAUQ;IACP,kDAAY,GAAZ,UAAa,QAAQ,EAAC,MAAM;QAE1B,+BAA+B;QAC/B,qDAAqD;QACrD,4CAA4C;QAC5C,2CAA2C;QAC3C,oDAAoD;QACpD,iCAAiC;QACjC,eAAe;QACf,qCAAqC;QACrC,uBAAuB;QACvB,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QACN,qCAAqC;QACrC,qCAAqC;QACrC,wEAAwE;QACxE,6BAA6B;QAC7B,MAAM;QACN,+BAA+B;QAC/B,mCAAmC;QACnC,8DAA8D;QAC9D,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QACN,kCAAkC;QAClC,mCAAmC;QACnC,8DAA8D;QAC9D,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QAEN,UAAU;QACV,MAAM;QAEN,MAAM;QACN,+DAA+D;QAC/D,QAAQ;QACR,IAAI;QACJ,2EAA2E;QAC3E,IAAI;QAKJ,8BAA8B;QAE9B,IAAI,OAAO,GAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC5E,EAAE,EAAC,MAAM,CAAC,aAAa,IAAE,EAAE,IAAG,MAAM,CAAC,aAAa,IAAI,IAAK,CAAC,EAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC/C,CAAC;QAED,EAAE,EAAC,MAAM,CAAC,SAAS,IAAE,EAAE,IAAI,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;YACpH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,IAAI,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACrI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YAClL,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE3C,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,yBAAyB,KAAG,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAE,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrhB,CAAC;IACH,CAAC;IACD,sDAAgB,GAAhB,UAAiB,QAAgB,EAAC,MAAW;QAC3C,IAAI,OAAO,GAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC5E,EAAE,EAAC,MAAM,CAAC,UAAU,IAAE,GAAG,IAAI,MAAM,CAAC,SAAS,IAAE,EAAE,IAAI,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9I,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QACzI,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,CAAC,UAAU,IAAE,GAAG,IAAI,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;YAC3H,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,yBAAyB,KAAG,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAE,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrhB,CAAC;IACH,CAAC;IAED,+DAAyB,GAAzB,UAA0B,QAAgB,EAAC,MAAW;QACpD,IAAI,OAAO,GAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,EAAE,EAAC,MAAM,CAAC,UAAU,IAAE,EAAE,IAAI,MAAM,CAAC,iBAAiB,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAE,IAAI,CAAC,CAAC,CAAC;YACtH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5J,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,+DAAyB,GAAzB,UAA0B,QAAgB,EAAC,MAAW;QACpD,IAAI,OAAO,GAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/D,EAAE,EAAC,MAAM,CAAC,UAAU,IAAE,GAAG,IAAI,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,cAAc,IAAG,IAAI,IAAI,MAAM,CAAC,SAAS,IAAE,EAAE,IAAI,MAAM,CAAC,SAAS,IAAE,IAAI,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC;YACvM,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,IAAI,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACjJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,CAAC,UAAU,IAAE,GAAG,IAAI,MAAM,CAAC,cAAc,IAAE,EAAE,IAAI,MAAM,CAAC,cAAc,IAAE,IAAI,IAAI,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,aAAa,IAAE,IAAI,CAAC,CAAC,CAAC;YACrJ,IAAI,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAChG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,4BAA4B;IAC5B,kDAAY,GAAZ,UAAa,QAAQ,EAAC,MAAM;QAE1B,2BAA2B;QAC3B,8CAA8C;QAC9C,oDAAoD;QACpD,2DAA2D;QAC3D,2CAA2C;QAC3C,2CAA2C;QAC3C,sBAAsB;QACtB,iDAAiD;QACjD,wBAAwB;QACxB,IAAI;QACJ,oDAAoD;QACpD,QAAQ;QACR,IAAI;QACJ,yBAAyB;QACzB,wCAAwC;QACxC,IAAI;QACJ,sBAAsB;QACtB,0DAA0D;QAC1D,IAAI;QACJ,IAAI,OAAO,GAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,EAAE,EAAC,MAAM,CAAC,UAAU,IAAE,EAAE,IAAI,MAAM,CAAC,iBAAiB,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAE,IAAI,CAAC,CAAC,CAAC;YACtH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC;YAC3I,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,6CAAO,GAAP,UAAQ,KAAK,EAAC,GAAG,EAAC,IAAI;QACpB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACvE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACnE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACxE,KAAK,CAAC;YACV,KAAK,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACxE,KAAK,CAAC;YACV,SAAQ,KAAK,CAAC;QAAA,CAAC;IAChB,CAAC;IACF,8CAAQ,GAAR,UAAS,UAAU;QAAnB,iBAuBD;QApBG,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC;YAC5B,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,CAAC,gBAAgB,EAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,6CAA6C,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE/F,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBAEC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC,EAAC,IAAI,CAAC;gBACR,CAAC;YACH,CAAC,CAAC;QACN,CAAC;QACH,IAAI,EAAC;YACH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC;QAC9D,CAAC;IACD,CAAC;IACC,sDAAgB,GAAhB,UAAiB,SAAS;QAA1B,iBA0BC;QAxBC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QAEjF,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,KAAK;YAE3B,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB;YAC3C,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,EAAE,EAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,EAAC;gBAC9B,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;YACrF,CAAC;YACA,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAC;gBACnC,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvF,CAAC;YACD,EAAE,EAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAC;gBAChC,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC;YAChF,CAAC;YACD,EAAE,EAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAC;gBACpC,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzF,CAAC;YACD,KAAI,CAAC,aAAa,CAAC,KAAK,EAAC,IAAI,CAAC,UAAU,CAAC;QAC1C,CAAC,CAAC;QACJ,uEAAuE;QACvE,0BAA0B;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,GAAC,CAAC,EAAH,CAAG,EAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,mDAAa,GAAb,UAAc,QAAa,EAAC,KAAU;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACjB,IAAI,OAAO,GAAmB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC3E,EAAE,EAAC,KAAK,CAAC,KAAK,IAAE,GAAG,CAAC,EAAC;YACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,eAAe,EAAE,CAAC;YACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEhF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,eAAe,EAAE,CAAC;YAC3E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAElF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,eAAe,EAAE,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,IAAE,GAAG,CAAC,EAAC;YACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAGH,yDAAmB,GAAnB,UAAoB,IAAI;QAEtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpB,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,gBAAgB,EAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxC,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1B,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,iBAAiB,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1C,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,kBAAkB,EAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC5C,QAAQ,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;SACzB,CAAC,CAAC;IACP,CAAC;IAtdU,2BAA2B;QAJvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;WACG;SAC/C,CAAC;oCAoB2N;OAnBhN,2BAA2B,CAudvC;IAAD,CAAC;AAAA;SAvdY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBE;AACe;AACuB;AACD;AACmB;AACzB;AACE;AACnC;AAExC;;;;;GAKG;AAOH;IAkBE,0CAAmB,OAAsB,EAAS,SAAoB,EAAS,GAAuB,EAAS,OAAiC,EAAS,KAAoB,EAAS,EAAe,EAAQ,QAA0B;QAApN,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,QAAG,GAAH,GAAG,CAAoB;QAAS,YAAO,GAAP,OAAO,CAA0B;QAAS,UAAK,GAAL,KAAK,CAAe;QAAS,OAAE,GAAF,EAAE,CAAa;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QAjBvO,SAAI,GAAG,IAAI,iEAAQ,CAAC,OAAO,CAAC,CAAC;QAU7B,UAAK,GAAM,EAAE,CAAC;QACd,qBAAgB,GAAM,EAAE,CAAC;QACzB,kBAAa,GAAM,EAAE,CAAC;QACtB,mBAAc,GAAM,EAAE,CAAC;QACvB,eAAU,GAAK,CAAC,EAAC,SAAS,EAAC,GAAG,EAAC,WAAW,EAAC,kBAAkB,EAAC,EAAC,EAAC,SAAS,EAAC,GAAG,EAAC,WAAW,EAAC,uBAAuB,EAAC,CAAC;QACnH,yBAAoB,GAAM,EAAE,CAAC;QA6J7B,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,EAAE,CAAC;QA3JZ,0BAA0B;QAC1B,IAAI,KAAK,GAAC,IAAI,IAAI;QAClB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC;QAC1B,IAAI,IAAI,GAAC,KAAK,CAAC,OAAO,EAAE,GAAE,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;QACxE,IAAI,KAAK,GAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,GAAK,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,6DAA6D;QAC7D,IAAI,CAAC,yBAAyB,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAC,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACjC;YACE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACjC,CAAC;QACJ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE/B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE;IACpB,CAAC;IAED,yDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,sDAAW,GAAX;QAAA,iBAuCC;QAtCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YACpD,KAAI,CAAC,aAAa,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC;QACnE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7G,EAAE,EAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;gBACzB,IAAI,OAAK,GAAC,GAAG,CAAC,OAAO;gBACrB,IAAI,GAAG,GAAC,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC1D,MAAM,CAAC,OAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC;gBACF,EAAE,EAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACf,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBACD,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBACD,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBACD,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAC;4BAC/B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAC9C,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,KAAI,CAAC,oBAAoB,CAAC;gBAC/C,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAI,CAAC,oBAAoB,CAAC;YAChD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,wDAAwD;IAC1D,wDAAa,GAAb,UAAc,QAAa,EAAC,KAAU;QACpC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC;QAC1B,IAAI,OAAO,GAAmB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;QAC9B,IAAI,YAAY,GAAQ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QAC7E,EAAE,EAAC,KAAK,IAAE,GAAG,CAAC,EAAC;YACb,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEnG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5F,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,eAAe,EAAE,CAAC;YACjG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAExG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5F,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,eAAe,EAAE,CAAC;YACjG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAExG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEzF,gEAAgE;YAChE,qEAAqE;YACpE,2EAA2E;QAC7E,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,GAAG,CAAC,EAAC;YAClB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvF,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5F,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEnG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5F,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpH,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAExG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5F,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpH,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAExG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAExF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjE,yFAAyF;YACxF,4EAA4E;QAE7E,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnE,CAAC;IACD,kEAAuB,GAAvB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAE,CAAC,IAAI,CAAC;YACd,UAAU,EAAE,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,gBAAgB,EAAC,CAAC,IAAI,CAAC;YACvB,UAAU,EAAC,CAAC,GAAG,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB,CAAC,CAAC;IACP,CAAC;IACD,sEAA2B,GAA3B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,eAAe,EAAC,CAAC,IAAI,CAAC;YACtB,eAAe,EAAC,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB,CAAC;IACJ,CAAC;IAGD,uDAAY,GAAZ,UAAa,QAAQ,EAAC,KAAK,EAAC,GAAG;QAE7B,IAAI,QAAQ,GAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QAE7C,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAG,IAAI,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE9C,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;wBACvC,UAAU,GAAG,IAAI,CAAC;wBAClB,SAAS,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAED,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAGf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC9C,UAAU,GAAG,KAAK,CAAC;oBACnB,SAAS,GAAG,CAAC,CAAC;gBAEhB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBAEN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChI,CAAC;YAGH,CAAC;YAAC,IAAI,CAAC,CAAC;gBAEN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAE3C,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAf,CAAe,EAAE,CAAC,CAAC,CAAC;YAExE,wDAAwD;YACxD,IAAI,KAAK,GAAG,cAAc,GAAC,UAAU,CAAE;YAEvC,IAAI,UAAU,GAAG,KAAK,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;YACjD,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEtD,CAAC;IAEH,CAAC;IACD,2DAAgB,GAAhB,UAAiB,QAAgB,EAAC,MAAW;QAA7C,iBAuEC;QAtEC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,MAAM,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrD,EAAE,EAAC,IAAI,CAAC,yBAAyB,KAAG,IAAI,IAAI,MAAM,CAAC,UAAU,IAAE,GAAG,CAAC,EAAC;YAClE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACzB,IAAI,OAAO,GAAkB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC3E,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,IAAI,MAAM,CAAC,UAAU,IAAE,EAAE,IAAI,MAAM,CAAC,UAAU,IAAE,IAAI,CAAC,EAAC;gBAC5E,mLAAmL;gBACjL,IAAI,aAAa,GAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,UAAU,IAAE,EAAE,IAAI,GAAG,CAAC,UAAU,IAAE,IAAI,IAAI,GAAG,CAAC,UAAU,IAAE,SAAS,IAAI,GAAG,CAAC,WAAW,IAAE,EAAE,IAAI,GAAG,CAAC,QAAQ,IAAE,IAAI,EAApH,CAAoH,CAAC,CAAC,GAAG,CAAC,cAAI;oBAC5K,IAAI,CAAC,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBACnE,MAAM,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,aAAa,CAAC;gBACtC,EAAE,EAAC,aAAa,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,oBAAoB,GAAG,aAAa,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,WAAW,EAAf,CAAe,CAAC;yBACjE,MAAM,CAAC,UAAC,IAAI,EAAC,MAAM,EAAC,MAAM;wBACzB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBACH,IAAI,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,WAAW,EAAf,CAAe,CAAC;yBAChE,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,iBAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxJ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;gBAC3I,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEnE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,yBAAyB,KAAG,IAAI,IAAI,MAAM,CAAC,UAAU,IAAE,GAAG,CAAC,EAAC;YACvE,IAAI,OAAO,GAAkB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC3E,IAAI,YAAY,GAAQ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;YAE7E,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,IAAI,CAAC,EAAC;gBAC/O,IAAI,oBAAoB,GAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,EAArE,CAAqE,CAAC,CAAC;gBACvI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvN,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,EAAC,CAAC,CAAC;gBAE5J,IAAI,mBAAmB,GAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC7I,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAE,CAAC,mBAAmB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACnK,MAAM,CAAC,UAAU,IAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,GAAG,EAAE;YAC/G,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,yBAAyB,KAAG,KAAK,IAAI,MAAM,CAAC,UAAU,IAAE,GAAG,CAAC,EAAC;YACxE,IAAI,OAAO,GAAkB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC3E,IAAI,YAAY,GAAQ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;YAE7E,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,IAAE,IAAI,CAAC,EAAC;gBAC/O,IAAI,oBAAoB,GAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,EAArE,CAAqE,CAAC,CAAC;gBACvI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvN,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,EAAC,CAAC,CAAC;YAC9J,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IAEH,CAAC;IACD,kDAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACjE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAChE,SAAU,KAAK,CAAC;QAChB,CAAC;IACF,CAAC;IACF,gEAAqB,GAArB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAc,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,mEAAwB,GAAxB,UAAyB,KAAK;QAC5B,iCAAiC;QACjC,IAAM,OAAO,GAAe,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QAE1G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;QACjD,IAAI;IACN,CAAC;IAED,kEAAuB,GAAvB,UAAwB,KAAK,EAAC,IAAI;QAAlC,iBA+BC;QA9BC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,aAAiB,CAAC;QAExB,EAAE,EAAC,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,EAAC;YACrB,aAAa,GAAC,CAAC;oBACf,MAAM,EAAC,IAAI,CAAC,MAAM;oBACjB,QAAQ,EAAC,IAAI,CAAC,QAAQ;oBACtB,UAAU,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;oBACpC,QAAQ,EAAC,KAAK;iBAEf,CAAC;YAEJ,IAAI,OAAO,GAAK,EAAC,SAAS,EAAC,aAAa,EAAC;YACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kCAAkC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACtF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC;QACH,CAAC;QAEC,IAAM,OAAO,GAAe,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAe,CAAC;QACxF,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sEAA2B,GAA3B,UAA4B,SAAS,EAAE,cAAc,EAAC,QAAQ;QAC5D,IAAI,OAAO,GAAe,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxE,OAAO,GAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc;QAC7D,EAAE,EAAC,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAC;YACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAClC,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;QAED,sBAAsB;QACtB,sHAAsH;QACtH,wBAAwB;QACxB,IAAI;QACJ,oCAAoC;QACpC,kDAAkD;QAClD,SAAS;QACT,oCAAoC;QACpC,IAAI;IACN,CAAC;IACD,mDAAQ,GAAR,UAAS,UAAU;QAAnB,iBA8BC;QA7BC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAM;YACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAQ;gBAC3B,EAAE,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAC;oBAC1B,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACjC,CAAC;gBACD,EAAE,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC1B,QAAQ,CAAC,YAAY,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,OAAO,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACvF,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBAE9B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC,EAAC,IAAI,CAAC;gBACR,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC;QAC9D,CAAC;IAGH,CAAC;IACD,4DAAiB,GAAjB,UAAkB,cAAc;QAAhC,iBA8DC;QA7DC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,cAAc,CAAC,CAAC;QAEzC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAc,CAAC;QACjF,IAAI,QAAQ,GAAmB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC7E,IAAI,iBAAiB,CAAC;QACtB,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;YAGhC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;gBAC7B,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC;YACjF,CAAC;YACD,iBAAiB,GAAe,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;YAEnH,oBAAoB,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;YAEtF,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG;oBACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,GAAG,CAAC;oBAClC,EAAE,EAAC,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,EAAC;wBACvB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACzC,IAAI,IAAI,GAAC,QAAQ,CAAC,OAAO,EAAE,GAAE,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE;wBACjF,IAAI,KAAK,GAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC;wBAE7F,iJAAiJ;wBACjJ,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACzC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,KAAK,GAAE,GAAG,GAAG,IAAI,CAAC;oBACnE,CAAC;oBAED,uFAAuF;oBACvF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,GAAG,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,UAAU,CAAC;oBACnC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtF,EAAE,EAAC,IAAI,CAAC,WAAW,IAAG,IAAI,CAAC,EAAC;wBAC5B,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC;oBAClE,CAAC;gBACH,CAAC,CAAC;YAIJ,CAAC,CAAC,CAAC;YACJ,2CAA2C;YAC3C,EAAE,EAAC,GAAG,CAAC,UAAU,IAAE,GAAG,CAAC,EAAC;gBACvB,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjG,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;gBACtG,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAE7G,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9H,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAElH,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9H,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEpH,uGAAuG;gBACvG,2FAA2F;YAE3F,CAAC;QACD,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,6DAAkB,GAAlB,UAAmB,IAAI;QAErB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,gBAAgB,EAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxC,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzE,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE,GAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9E,QAAQ,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;SACzB,CAAC;IACN,CAAC;IACD,kEAAuB,GAAvB,UAAwB,IAAI,EAAE,KAAK,EAAC,SAAS;QAE/C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,SAAS,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,4EAA4E;YAC5E,UAAU,EAAC,CAAC,SAAS,IAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YACjD,yHAAyH;YACxH,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/B,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACtC,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACtC,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB,CAAC;IAGN,CAAC;IA/fU,gCAAgC;QAJ5C,wEAAS,CAAC;YACT,QAAQ,EAAE,uCAAuC;WACG;SACrD,CAAC;yCAmBuO;OAlB5N,gCAAgC,CAggB5C;IAAD,CAAC;AAAA;SAhgBY,gCAAgC,mB;;;;;;;;;;;;;;;;;;;;;;;;;ACrBH;AACe;AACsB;AACmB;AACzB;AACO;AACN;AAE1E;;;;;GAKG;AAOH;IAcE,wCAAmB,OAAsB,EAAS,EAAc,EAAQ,SAAoB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,GAAsB,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,OAAE,GAAF,EAAE,CAAY;QAAQ,cAAS,GAAT,SAAS,CAAW;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAP3N,WAAM,GAAQ,EAAE,CAAC;QAGjB,mBAAc,GAAM,EAAE,CAAC;QACvB,mBAAc,GAAM,EAAE,CAAC;QACvB,oBAAe,GAAK,EAAE;QACtB,eAAU,GAAK,CAAC,EAAC,SAAS,EAAC,GAAG,EAAC,WAAW,EAAC,+BAA+B,EAAC,EAAC,EAAC,SAAS,EAAC,GAAG,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;QAE1H,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,IAAI,CAAC,eAAe,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAClC;YACE,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3B,CAAC,CAAC;QAEH,EAAE,EAAC,IAAI,CAAC,eAAe,IAAE,IAAI,CAAC,CAC9B,CAAC;YACC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,uDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAGD,8DAAqB,GAArB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,aAAa,EAAC,CAAC,GAAG,CAAC;YACnB,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,SAAS,EAAC,CAAC,IAAI,CAAC;YAChB,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,qBAAqB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IAED,oDAAW,GAAX;QAAA,iBA6CC;QA3CC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACzD,CAAC;QACD,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,aAAG;YAExD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YACzF,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAExB,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC9E,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAC;oBACtC,gDAAgD;gBAClD,CAAC;gBACD,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC9E,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAC;oBACtC,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC9E,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAC;oBACtC,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,EAAE,EAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAC;oBACrD,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC9D,CAAC;gBACD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;YAEnE,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IACD,2DAAkB,GAAlB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAc;QACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8DAAqB,GAArB,UAAsB,CAAC,EAAC,IAAI;QAA5B,iBAkCC;QAhCC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAExB,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAChE,IAAI,aAAiB,CAAC;QACtB,EAAE,EAAC,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,EAAC;YACvB,aAAa,GAAC,CAAC;oBACb,WAAW,EAAC,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAC,IAAI,CAAC,QAAQ;oBACtB,UAAU,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;oBACpC,QAAQ,EAAC,KAAK;iBAEf,CAAC;YAEJ,IAAI,OAAO,GAAK,EAAC,SAAS,EAAC,aAAa,EAAC;YACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,mCAAmC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACvF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAc;QACjF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,EAAC;YACL,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAGD,4DAAmB,GAAnB,UAAoB,QAAQ,EAAC,MAAM;QAErC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,MAAM,CAAC,CAAC;QACxB,IAAI,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzE,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,GAAG,IAAI,MAAM,CAAC,YAAY,IAAE,EAAE,IAAI,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,YAAY,IAAE,IAAI,IAAI,MAAM,CAAC,aAAa,IAAE,IAAI,IAAI,MAAM,CAAC,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC;YAC/M,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5M,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE5I,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,MAAM,CAAC,aAAa,IAAE,GAAG,IAAI,MAAM,CAAC,aAAa,IAAG,EAAE,IAAI,MAAM,CAAC,aAAa,IAAG,IAAI,IAAI,MAAM,CAAC,eAAe,IAAI,EAAE,IAAK,MAAM,CAAC,eAAe,IAAI,IAAK,CAAC,EAAC;YACjK,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1K,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;QACC,wCAAwC;QACxC,8BAA8B;QAC9B,qDAAqD;QACrD,kDAAkD;QAClD,2CAA2C;QAC3C,oDAAoD;QACpD,iCAAiC;QACjC,eAAe;QACf,wCAAwC;QACxC,uBAAuB;QACvB,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QACN,wCAAwC;QACxC,qCAAqC;QACrC,4EAA4E;QAC5E,6BAA6B;QAC7B,MAAM;QACN,kCAAkC;QAClC,mCAAmC;QACnC,kEAAkE;QAClE,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QACN,qCAAqC;QACrC,mCAAmC;QACnC,kEAAkE;QAClE,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QAEN,UAAU;QACV,MAAM;QAEN,MAAM;QACN,2EAA2E;QAC3E,QAAQ;QACR,IAAI;QACJ,2EAA2E;QAC3E,IAAI;IACN,CAAC;IACD,yDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAsBC;QApBC,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAC;YAC/B,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,CAAC,QAAQ,EAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,mCAAmC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAErF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBAEE,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC7D,UAAU,CAAC;wBACV,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC,EAAC,IAAI,CAAC;oBACP,6BAA6B;gBAE/B,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,2DAAkB,GAAlB,UAAmB,eAAe;QAAlC,iBA4BC;QA1BC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,eAAe,CAAC,CAAC;QAEzC,IAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAc,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,EAAE,EAAC,eAAe,CAAC,MAAM,IAAG,CAAC,CAAC,CAC9B,CAAC;YACC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAAA,IAAI,EAAC;YACJ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAE5B,sBAAsB;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC;gBAC/C,EAAE,EAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,EAAC;oBAC9B,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC5E,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,qBAAqB,IAAI,IAAI,CAAC,EAAC;oBACtC,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBACpF,CAAC;YACN,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAG,QAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAT,CAAS,EAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,4BAA4B;IAE9B,CAAC;IAED,+DAAsB,GAAtB,UAAuB,IAAI;QAEzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9B,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,mBAAmB,EAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC9C,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1B,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,QAAQ,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxB,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IACD,sDAAa,GAAb,UAAc,QAAa,EAAC,KAAU;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC;QACxB,IAAI,OAAO,GAAmB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtE,EAAE,EAAC,KAAK,CAAC,KAAK,IAAE,GAAG,CAAC,EAAC;YACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,IAAE,GAAG,CAAC,EAAC;YACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACH,gDAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACV,SAAU,KAAK,CAAC;QAChB,CAAC;IACF,CAAC;IArUS,8BAA8B;QAJ1C,wEAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;WACG;SAClD,CAAC;uCAe2N;OAdhN,8BAA8B,CAsU1C;IAAD,CAAC;AAAA;SAtUY,8BAA8B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACpBD;AACe;AACsB;AACC;AACkB;AACzB;AACC;AAC1E;;;;;GAKG;AAOH;IAcE,wCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAX3N,UAAK,GAAM,EAAE,CAAC;QACd,mBAAc,GAAM,EAAE,CAAC;QAIvB,sBAAiB,GAAM,EAAE,CAAC;QAC1B,kBAAa,GAAM,EAAE,CAAC;QAMpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,UAAU,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;QAEH,EAAE,EAAC,IAAI,CAAC,cAAc,IAAE,IAAI,CAAC,CAC7B,CAAC;YACC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IA1BD,2DAAkB,GAAlB,UAAmB,IAAS;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IA0BD,oDAAW,GAAX;QAAA,iBAeC;QAbC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,aAAG;YAExD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAE5B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACD,CAAC,CAAC;IACR,CAAC;IACD,uDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAGD,8DAAqB,GAArB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,aAAa,EAAC,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,qBAAqB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IAGD,4DAAmB,GAAnB,UAAoB,QAAgB,EAAC,MAAW;QAC9C,IAAI,OAAO,GAAkB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvE,EAAE,EAAC,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,aAAa,IAAE,IAAI,IAAI,MAAM,CAAC,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC;YACxH,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1K,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE5G,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,2DAAkB,GAAlB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAc,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8DAAqB,GAArB,UAAsB,CAAC,EAAC,IAAI;QAA5B,iBAkCC;QAhCC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAEtE,IAAI,aAAiB,CAAC;QACtB,EAAE,EAAC,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,EAAC;YACvB,aAAa,GAAC,CAAC;oBACb,aAAa,EAAC,IAAI,CAAC,aAAa;oBACjC,QAAQ,EAAC,IAAI,CAAC,QAAQ;oBACtB,UAAU,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;oBACpC,QAAQ,EAAC,KAAK;iBAEf,CAAC;YAEJ,IAAI,OAAO,GAAK,EAAC,SAAS,EAAC,aAAa,EAAC;YACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oCAAoC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACxF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAc,CAAC;QAClF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,EAAC;YACL,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,2DAAkB,GAAlB,UAAmB,KAAK,EAAC,OAAO;QAI5B,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAEtC,IAAI,MAAM;QACV,EAAE,EAAC,YAAY,IAAE,IAAI,CAAC,EAAC;YACvB,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CAClB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACG,MAAM,GAAG,CAAC,YAAY,GAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACrC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC;YAC9B,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC;YAC9B,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,YAAY,GAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC;YAC9B,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CACL,CAAC;YAED,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,yDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAsBC;QAnBC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC;YAC7B,IAAI,OAAO,GAAI,EAAC,SAAS,EAAC,UAAU,CAAC,UAAU,EAAC,CAAC;YAEjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oCAAoC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEpF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBAEA,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACV,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC,EAAC,IAAI,CAAC;gBACN,CAAC;YACL,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IAEH,CAAC;IAED,4DAAmB,GAAnB,UAAoB,cAAc;QAAlC,iBAmBC;QAjBG,EAAE,EAAC,cAAc,CAAC,MAAM,IAAE,CAAC,CAAC,CAC5B,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAAA,IAAI,CACL,CAAC;YACH,IAAM,SAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAc,CAAC;YAC9E,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAE3B,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC;gBACtD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,EAAE,EAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,EAAC;oBAC9B,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC;oBACnE,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBACpF,CAAC;YACL,CAAC,CAAC;YACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED,sEAA6B,GAA7B,UAA8B,IAAI;QAEhC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,QAAQ,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxB,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IACD,gDAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACV,SAAU,KAAK,CAAC;QAChB,CAAC;IACF,CAAC;IA1PS,8BAA8B;QAJ1C,wEAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;WACG;SAClD,CAAC;uCAe2N;OAdhN,8BAA8B,CA2P1C;IAAD,CAAC;AAAA;SA3PY,8BAA8B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACnBD;AACe;AACsB;AACC;AACP;AACyB;AACxB;AAE1E;;;;;GAKG;AAOH;IAYE,mBAAmB;IACnB,yCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,OAAgC,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAN3N,gBAAW,GAAO,EAAE,CAAC;QACrB,2BAAsB,GAAM,EAAE,CAAC;QAE/B,UAAK,GAAM,EAAE,CAAC;QACd,mBAAc,GAAM,EAAE,CAAC;QAGrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,YAAY,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/B,CAAC,CAAC;QACH,EAAE,EAAC,IAAI,CAAC,cAAc,IAAG,IAAI,CAAC,CAC9B,CAAC;YACC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,wDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,qDAAW,GAAX;QAAA,iBAQC;QANC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACD,CAAC,CAAC;IACN,CAAC;IACD,4DAAkB,GAAlB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC3B,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxC,YAAY,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,eAAe,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,oBAAoB,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAC,CAAC,IAAI,CAAC;YACjB,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC;IACN,CAAC;IAED,0DAAgB,GAAhB;QAGE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAc,CAAC;QAEpF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,4DAAkB,GAAlB,UAAmB,CAAC,EAAC,IAAI;QAAzB,iBA+BC;QA7BC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACzE,IAAI,aAAiB;QACrB,EAAE,EAAC,IAAI,CAAC,oBAAoB,IAAG,IAAI,CAAC,EAAC;YACnC,aAAa,GAAC,CAAC;oBACb,oBAAoB,EAAC,IAAI,CAAC,oBAAoB;oBAC/C,QAAQ,EAAC,IAAI,CAAC,QAAQ;oBACtB,UAAU,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;oBACpC,QAAQ,EAAC,KAAK;iBAEf,CAAC;YAEJ,IAAI,OAAO,GAAK,EAAC,SAAS,EAAC,aAAa,EAAC;YACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,qCAAqC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACzF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAc,CAAC;QACpF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,EAAC;YACL,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,8DAAoB,GAApB,UAAqB,QAAQ,EAAC,MAAM;QAGlC,IAAI,OAAO,GAAkB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzE,EAAE,EAAC,MAAM,CAAC,aAAa,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,aAAa,IAAE,IAAI,IAAI,MAAM,CAAC,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC;YACxH,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE5G,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,iBAAiB;QACjB,qDAAqD;QACrD,oDAAoD;QACpD,8CAA8C;QAC9C,uDAAuD;QACvD,6BAA6B;QAC7B,eAAe;QACf,4BAA4B;QAC5B,uBAAuB;QACvB,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QACN,qCAAqC;QACrC,0CAA0C;QAC1C,2EAA2E;QAC3E,6BAA6B;QAC7B,MAAM;QACN,+BAA+B;QAC/B,wCAAwC;QACxC,iEAAiE;QACjE,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QACN,kCAAkC;QAClC,wCAAwC;QACxC,iEAAiE;QACjE,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QAEN,6BAA6B;QAC7B,MAAM;QAEN,UAAU;QACV,MAAM;QAEN,MAAM;QACN,iFAAiF;QACjF,iDAAiD;QACjD,QAAQ;QACR,IAAI;QACJ,sEAAsE;QACtE,IAAI;IACN,CAAC;IACD,8DAAoB,GAApB,UAAqB,UAAU;QAA/B,iBAoBC;QAlBG,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC5B,CAAC;YACC,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,CAAC,YAAY,EAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,qCAAqC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEvF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC7B,CAAC;oBAEA,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC/D,UAAU,CAAC;wBACR,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC,EAAC,IAAI,CAAC;gBACP,CAAC;YACD,CAAC,CAAC;QACN,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,6DAAmB,GAAnB,UAAoB,mBAAmB;QAAvC,iBAoBC;QAlBG,EAAE,EAAC,mBAAmB,CAAC,MAAM,IAAE,CAAC,CAAC,CACjC,CAAC;YACC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAAA,IAAI,CACL,CAAC;YACH,IAAM,SAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAc,CAAC;YAChF,mBAAmB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAElC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC;gBACnD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,EAAE,EAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,EAAC;oBAC5B,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC;oBACnE,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACrF,CAAC;YAEL,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;IAED,iEAAuB,GAAvB,UAAwB,IAAI;QAE1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAChD,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3E,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/E,oBAAoB,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3F,QAAQ,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1B,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC;IACN,CAAC;IACD,iDAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACV,SAAU,KAAK,CAAC;QAChB,CAAC;IACF,CAAC;IA3OS,+BAA+B;QAJ3C,wEAAS,CAAC;YACT,QAAQ,EAAE,qCAAqC;WACG;SACnD,CAAC;wCAc2N;OAbhN,+BAA+B,CA4O3C;IAAD,CAAC;AAAA;SA5OY,+BAA+B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACpBF;AACe;AACsB;AACC;AACkB;AACzB;AACD;AAExE;;;;;GAKG;AAOH;IAYE,8CAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAX3N,qBAAgB,GAAQ,EAAE,CAAC;QAG3B,qBAAgB,GAAM,EAAE,CAAC;QACzB,iBAAY,GAAM,EAAE,CAAC;QAKrB,UAAK,GAAM,EAAE,CAAC;QACd,mBAAc,GAAM,EAAE,CAAC;QAErB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;QAEH,EAAE,EAAC,IAAI,CAAC,cAAc,IAAE,IAAI,CAAC,CAC7B,CAAC;YACC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,0DAAW,GAAX;QAAA,iBAeC;QAbC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,aAAG;YAEtD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAE5B,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACD,CAAC,CAAC;IACR,CAAC;IACD,6DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IACD,oEAAqB,GAArB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,qBAAqB,EAAC,CAAC,IAAI,CAAC;YAC5B,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,kBAAkB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,iBAAiB,EAAC,CAAC,IAAI,CAAC;YACxB,mBAAmB,EAAC,CAAC,IAAI,CAAC;SAC3B,CAAC;IACN,CAAC;IAED,iEAAkB,GAAlB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,oEAAqB,GAArB,UAAsB,CAAC;QAErB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAEpE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;QACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,iEAAkB,GAAlB,UAAmB,QAAQ,EAAC,MAAM;QAEhC,IAAI,OAAO,GAAkB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxE,EAAE,EAAC,MAAM,CAAC,YAAY,IAAE,EAAE,IAAI,MAAM,CAAC,eAAe,IAAE,EAAE,IAAI,MAAM,CAAC,YAAY,IAAE,IAAI,IAAI,MAAM,CAAC,eAAe,IAAE,IAAI,CAAC,CAAC,CAAC;YACtH,IAAI,oBAAoB,GAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,YAAY,IAAE,MAAM,CAAC,eAAe,EAAxC,CAAwC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACtJ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE3G,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACA,iBAAiB;QAChB,qDAAqD;QACrD,kDAAkD;QAClD,8CAA8C;QAE9C,oBAAoB;QACpB,iDAAiD;QACjD,0GAA0G;QAC1G,yBAAyB;QACzB,MAAM;QAEN,8DAA8D;QAC9D,2CAA2C;QAC3C,kEAAkE;QAClE,6BAA6B;QAC7B,MAAM;QACN,gEAAgE;QAChE,2CAA2C;QAC3C,0EAA0E;QAC1E,6BAA6B;QAC7B,MAAM;QACN,8DAA8D;QAC9D,yCAAyC;QACzC,gEAAgE;QAChE,6BAA6B;QAC7B,MAAM;QACN,8DAA8D;QAC9D,yCAAyC;QACzC,gEAAgE;QAChE,6BAA6B;QAC7B,MAAM;QACN,8DAA8D;QAC9D,yCAAyC;QACzC,gEAAgE;QAChE,6BAA6B;QAC7B,MAAM;QACN,8DAA8D;QAC9D,2CAA2C;QAC3C,iEAAiE;QACjE,6BAA6B;QAC7B,MAAM;QACN,8DAA8D;QAC9D,2CAA2C;QAC3C,iEAAiE;QACjE,6BAA6B;QAC7B,MAAM;QACN,8BAA8B;QAC9B,iDAAiD;QACjD,yEAAyE;QAEzE,UAAU;QACV,MAAM;QAEN,MAAM;QACN,+EAA+E;QAC/E,QAAQ;QACR,IAAI;QACJ,sEAAsE;QACtE,IAAI;IACN,CAAC;IAED,+DAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAsBC;QAnBC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC;YAC7B,IAAI,OAAO,GAAI,EAAC,SAAS,EAAC,UAAU,CAAC,SAAS,EAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,yBAAyB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEzE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBAEA,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACV,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtB,CAAC,EAAC,IAAI,CAAC;gBACN,CAAC;YACL,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IAEH,CAAC;IAED,kEAAmB,GAAnB,UAAoB,cAAc;QAAlC,iBAmBC;QAjBG,EAAE,EAAC,cAAc,CAAC,MAAM,IAAE,CAAC,CAAC,CAC5B,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAAA,IAAI,CACL,CAAC;YACH,IAAM,SAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;YAC7E,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAE3B,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC;gBACnD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;oBAC3B,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC;oBAClE,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC;gBAClF,CAAC;YACP,CAAC,CAAC;YACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,4EAA6B,GAA7B,UAA8B,IAAI;QAEhC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClD,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,kBAAkB,EAAC,CAAC,IAAI,CAAC,kBAAkB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,mBAAmB,EAAC,CAAC,IAAI,CAAC,mBAAmB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxF,QAAQ,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxB,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,iBAAiB,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1C,mBAAmB,EAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;SAC/C,CAAC;IACN,CAAC;IACD,sDAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACV,SAAU,KAAK,CAAC;QAChB,CAAC;IACF,CAAC;IArOS,oCAAoC;QAJhD,wEAAS,CAAC;YACT,QAAQ,EAAE,2CAA2C;WACG;SACzD,CAAC;yCAa4B,IAA+L;OAZhN,oCAAoC,CAsOhD;IAAD,CAAC;AAAA;SAtOY,oCAAoC,mB;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBP;AACqB;AACc;AACD;AACmB;AACzB;AAC3B;AAC6B;AAGxE;;;;;GAKG;AAOH;IAaE,6CAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAC1F,EAAc,EAAS,OAAgC,EAAS,KAAmB,EAAS,IAAsB;QADzG,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAC1F,OAAE,GAAF,EAAE,CAAY;QAAS,YAAO,GAAP,OAAO,CAAyB;QAAS,UAAK,GAAL,KAAK,CAAc;QAAS,SAAI,GAAJ,IAAI,CAAkB;QAb5H,SAAI,GAAG,IAAI,iEAAQ,CAAC,OAAO,CAAC,CAAC;QAO7B,oBAAe,GAAM,EAAE,CAAC;QAExB,uBAAkB,GAAM,EAAE,CAAC;QAKvB,IAAI,KAAK,GAAC,IAAI,IAAI;QAClB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC;QAC1B,IAAI,IAAI,GAAC,KAAK,CAAC,OAAO,EAAE,GAAE,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;QACxE,IAAI,KAAK,GAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,GAAK,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,yBAAyB,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAElC,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAClC,sBAAsB;YACtB,4BAA4B;YAC5B,gBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,0BAA0B;SAC1B,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;IACpB,CAAC;IAED,4DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,EAAE,EAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,IAAI,EAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IAEH,CAAC;IACD,yDAAW,GAAX;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YACzF,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAExB,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC9E,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAC;oBACtC,gDAAgD;gBAClD,CAAC;gBACD,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC9E,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAC;oBACtC,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC9E,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAC;oBACtC,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,EAAE,EAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAC;oBACrD,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC9D,CAAC;gBACD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;YAEnE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,yDAAW,GAAX;QACI,IAAM,OAAO,GAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAc;QACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;IAChD,CAAC;IACD,iEAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAC,CAAC,IAAI,CAAC;SAChB,CAAC;IACJ,CAAC;IACD,mEAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QAC7G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,sEAAwB,GAAxB,UAAyB,KAAK;QAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,QAAQ,EAAC,CAAC,IAAI,CAAC;SAChB,CAAC;IACJ,CAAC;IACD,wEAA0B,GAA1B,UAA2B,MAAW;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,UAAU,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACvB,aAAa,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,mBAAmB,EAAC,CAAC,MAAM,CAAC,mBAAmB,KAAK,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAE;YAC5F,qBAAqB,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACrD,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3B,QAAQ,EAAC,CAAC,IAAI,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,yEAA2B,GAA3B,UAA4B,MAAW,EAAE,MAAW;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1B,gKAAgK;YAChK,aAAa,EAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YACpC,cAAc,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClF,QAAQ,EAAC,CAAC,IAAI,CAAC;SAChB,CAAC;IACJ,CAAC;IACH,qDAAO,GAAP,UAAQ,MAAM,EAAC,KAAK;QAClB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,MAAM,CAAC;QAC3B,EAAE,EAAC,MAAM,IAAI,EAAE,CAAC,EAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACvE,CAAC;IACH,CAAC;IACC,oCAAoC;IACtC,iEAAmB,GAAnB,UAAoB,QAAgB,EAAC,MAAW;QAAhD,iBA+BC;QA7BC,IAAI,OAAO,GAAkB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEhF,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACxB,IAAI,aAAa,GAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,aAAa,IAAE,EAAE,IAAI,GAAG,CAAC,aAAa,IAAE,IAAI,IAAI,GAAG,CAAC,aAAa,IAAE,SAAS,IAAI,GAAG,CAAC,cAAc,IAAE,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAG,IAAI,EAAjI,CAAiI,CAAC,CAAC,GAAG,CAAC,cAAI;gBACvL,IAAI,CAAC,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,EAAE,EAAC,aAAa,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,qEAAqE;gBACrE,kCAAkC;gBAClC,4CAA4C;gBAC5C,MAAM;gBAEN,IAAI,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,EAAlB,CAAkB,CAAC;qBAChE,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,eAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;gBACvD,4CAA4C;gBAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;QAEH,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,IAAI,YAAY,GAAQ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;YAC7E,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,8DAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAM,OAAO,GAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxC,IAAM,YAAY,GAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc;QAC5D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,iEAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAM,OAAO,GAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,sDAAQ,GAAR,UAAS,WAAW,EAAC,MAAM;QACzB,IAAI,OAAO,GAAmB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACjF,OAAO,GAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,yDAAW,GAAX,UAAY,WAAW,EAAC,UAAU,EAAC,UAAU;QAC3C,IAAI,OAAO,GAAmB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACjF,OAAO,GAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QAChE,EAAE,EAAC,UAAU,CAAC,OAAO,IAAE,EAAE,IAAI,UAAU,CAAC,OAAO,IAAE,IAAI,CAAC,EAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,qBAAqB,GAAmB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC/F,qBAAqB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpE,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,qBAAqB,GAAmB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC/F,qBAAqB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpE,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,8DAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAuDC;QAtDC,IAAM,OAAO,GAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACvE,6DAA6D;QAC5D,OAAO,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;YAC5B,IAAI,uBAAuB,GAAC,EAAE;YAC9B,IAAI,SAAS,GAAC,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;YAC9B,IAAI,MAAM,GAAC,MAAM,CAAC,MAAM,OAAb,MAAM,GAAQ,EAAE,SAAI,OAAO,CAAC,KAAK,EAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,MAAM,CAAC,CAAC;YAC7B,+FAA+F;YAC/F,+CAA+C;YAC/C,yBAAyB;YACzB,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,cAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACpD,uBAAuB,CAAC,KAAK,CAAC,GAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAG,IAAE,aAAM,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACxD,8DAA8D;YAC9D,wCAAwC;YACxC,mHAAmH;YACnH,gDAAgD;YAChD,oEAAoE;YACpE,IAAM,YAAY,GAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc;YAC9D,uBAAuB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,UAAU;gBACxD,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,UAAU;oBAC7B,EAAE,EAAC,GAAG,CAAC,aAAc,CAAC,EAAC;wBACrB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;wBAClC,gJAAgJ;wBAChJ,IAAI,IAAI,GAAC,QAAQ,CAAC,OAAO,EAAE,GAAE,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE;wBACjF,IAAI,KAAK,GAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC;wBAC5F,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;wBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,KAAK,CAAC;wBACzB,GAAG,CAAC,aAAa,GAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAI,IAAI,CAAC;wBACrE,OAAO,CAAC,GAAG,CAAE,GAAG,CAAC,aAAa,CAAC;oBAC/B,CAAC;oBACD,EAAE,EAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,EAAC;wBAC3B,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAC,UAAU,CAAC;oBAC7C,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;gBAClE,CAAC,CAAC;YACF,CAAC,CAAC;QAEF,CAAC,CAAC;QACJ,uCAAuC;QACxC,KAAK;QACJ,yDAAyD;QAEzD,0CAA0C;QAC1C,2CAA2C;QAC3C,yEAAyE;QACzE,KAAK;IAEP,CAAC;IAGD,2DAAa,GAAb,UAAc,OAAO;QAArB,iBAuBC;QAtBC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAM;YACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAQ;gBAC3B,EAAE,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAC;oBAC1B,OAAO,QAAQ,CAAC,aAAa,CAAC;gBAChC,CAAC;gBACD,EAAE,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAC;oBAC5B,QAAQ,CAAC,eAAe,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;gBACxF,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAK,EAAC,SAAS,EAAC,OAAO,CAAC,gBAAgB,EAAC;QACtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oCAAoC,EAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAG;YAC1F,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC3B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpB,CAAC,EAAC,IAAI,CAAC;YACT,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA1RY,mCAAmC;QAJ/C,wEAAS,CAAC;YACT,QAAQ,EAAE,0CAA0C;WACG;SACxD,CAAC;iMAc4B,yFAAiC,CAAS,0FAAY,EAAkB;YACvF,WAAW,EAAiB,mBAAmF;OAdjH,mCAAmC,CA6R/C;IAAD,CAAC;AAAA;SA7RY,mCAAmC,mB;;;;;;;;;;;;;;;;;;;;;;ACtBN;AACe;AACsC;AACG;AAElG;;;;;GAKG;AAQH;IAOE,uCAAmB,OAAsB,EAAS,SAAoB,EAAQ,OAAiC;QAA5F,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,YAAO,GAAP,OAAO,CAA0B;QAD/G,aAAQ,GAAS,KAAK,CAAC;QAErB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/C,8BAA8B;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IACD,wDAAgB,GAAhB;QACE,iCAAiC;QACjC,4BAA4B;IAC9B,CAAC;IACD,sDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAE9D,CAAC;IACD,0DAAkB,GAAlB;QAAA,iBAeC;QAdC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACzE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,EAAC;oBAC1C,KAAI,CAAC,aAAa,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,0BAA0B;oBAC1E,KAAI,CAAC,aAAa,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,4BAA4B;oBAC5E,KAAI,CAAC,cAAc,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,6BAA6B;oBAC9E,KAAI,CAAC,kBAAkB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB;oBACxE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;gBACD,KAAI,CAAC,QAAQ,GAAC,IAAI;YAEpB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAnCU,6BAA6B;QALzC,wEAAS,CAAC;YACT,QAAQ,EAAE,mCAAmC;YAC7C,WAAW,oHAAE,CAAmC;WACb;SACpC,CAAC;sCAQ+G;OAPpG,6BAA6B,CAoCzC;IAAD,CAAC;AAAA;SApCY,6BAA6B,kB;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACe;AACe;AACE;AACJ;AACyB;AAE/F;;;;;GAKG;AAMH;IAME,sCAAmB,OAAsB,EAAS,SAAoB,EAAS,cAA6B,EAClG,OAAuB,EAAS,KAAmB,EAAQ,OAAgC;QADlF,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,mBAAc,GAAd,cAAc,CAAe;QAClG,YAAO,GAAP,OAAO,CAAgB;QAAS,UAAK,GAAL,KAAK,CAAc;QAAQ,YAAO,GAAP,OAAO,CAAyB;QANrG,iBAAY,GAAM,EAAE,CAAC;QACrB,gBAAW,GAAM,EAAE,CAAC;QAMhB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,EAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC;IACvD,CAAC;IAED,qDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB;IACjB,kDAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QACxH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAED,iDAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,0DAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,gDAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,yDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,8CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;IAID,CAAC;IACD,gDAAS,GAAT;QAAA,iBA0BC;QAzBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;YACvB,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,EAAC,aAAG;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;IAnGQ,4BAA4B;QAJxC,wEAAS,CAAC;YACT,QAAQ,EAAE,kCAAkC;WACG;SAChD,CAAC;gMAO4B,kHAAkE,EAAc;YAC1F,eAAe,EAAe,QAAqD;OAP1F,4BAA4B,CAqGxC;IAAD,CAAC;AAAA;SArGY,4BAA4B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;AClBC;AACe;AACuB;AACkB;AACzB;AACK;AACN;AACE;AAC1E;;;;;GAKG;AAOH;IASE,4CAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAsB,EAAQ,OAAgC,EAC9D,KAAmB,EAAQ,EAAc,EAAS,cAA6B,EAC9E,OAAuB;QAHd,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAS,mBAAc,GAAd,cAAc,CAAe;QAC9E,YAAO,GAAP,OAAO,CAAgB;QALjC,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAMX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACtC,IAAI,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,+BAA+B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,sBAAsB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,2DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,4DAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnD,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAC;YAEhC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IAED,+DAAkB,GAAlB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,qCAAqC,EAAG,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,sCAAsC,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxF,CAAC,CAAC;IACL,CAAC;IAED,gEAAmB,GAAnB,UAAoB,CAAC;QACnB,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YACnB,IAAM,OAAO,GAAc,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;YAC7F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YACzB,IAAM,GAAG,GAAc,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACtF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,uDAAU,GAAV,UAAW,UAAU;QAArB,iBAsBC;QApBG,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CACjC,CAAC;YACC,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAE5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAExC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBACA,2BAA2B;oBAChC,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACvD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;gBACV,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,+DAAkB,GAAlB;QAAA,iBAoCC;QAlCC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAEzC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,EAAE,EAAC,eAAe,CAAC,+BAA+B,IAAE,KAAK,CAAC,EAAC;oBAEzD,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;oBAE9H,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;oBAGhH,IAAI,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAErG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC,CAAC,CAAC;oBAEb,IAAM,SAAO,GAAc,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,+BAA+B,CAAc,CAAC;oBAChG,wBAAwB,CAAC,OAAO,CAAC,aAAG;wBAEhC,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBAC1C,CAAC,CAAC;oBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBAEzG,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;oBAE9H,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAEA,iBAAiB;IACjB,wDAAW,GAAX;QAAA,iBAeD;QAdE,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACL,CAAC;IAED,uDAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,gEAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,sDAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,+DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,oDAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,sDAAS,GAAT;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC3D,4CAA4C;gBAC5C,kDAAkD;gBACjD,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IA7PS,kCAAkC;QAJ9C,wEAAS,CAAC;YACT,QAAQ,EAAE,wCAAwC;WACG;SACtD,CAAC;4NAU6D,CAAS;YACzD,4JAAkC,4FAAwB;YACxD,2FAAwB,EAAiD;YACtE,eAAe;OAZtB,kCAAkC,CA+P9C;IAAD,CAAC;AAAA;SA/PY,kCAAkC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBgB;AAC+B;AACd;AACkB;AACzB;AACe;AACwC;AACtF;AACI;AAGA;AAC0B;AACE;AAC1E,yBAAyB;AAEzB;;;;;GAKG;AAQH;IAoDE,mCAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAsB,EAAQ,OAAgC,EAC9D,KAAmB,EAAQ,EAAc,EAAQ,KAAqB,EACrE,cAA6B,EAAS,OAAuB;QAHvE,iBAsEC;QAtEkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,UAAK,GAAL,KAAK,CAAgB;QACrE,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QAtDvE,SAAI,GAAC,IAAI,iEAAQ,CAAC,OAAO,CAAC,CAAC;QAc3B,0BAAqB,GAAQ,EAAE,CAAC;QAEhC,0BAAqB,GAAQ,EAAE,CAAC;QAsB/B,YAAO,GAAK,EAAE,CAAC;QACf,iBAAY,GAAK,EAAE,CAAC;QASrB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAybf,SAAI,GAAC,EAAE,CAAC;QAmdR,SAAI,GAAW,CAAC,CAAC;QAt4BZ,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,qFAAqF;QACrF,qCAAqC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAC,qBAAqB,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YACzB,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC1B,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,UAAU,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,aAAa,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,WAAW,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,0BAA0B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,0BAA0B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAC/B,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAE/B,cAAc,EAAC,EAAE;SACpB,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAI7D,gCAAgC;QAChC,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAC,KAAK;QAClB,IAAI,CAAC,OAAO,GAAC,KAAK;QACnB,uBAAuB;QACtB,IAAI,CAAC,KAAK,GAAC,CAAC;gBACV,IAAI,EAAC,QAAQ;gBACb,EAAE,EAAC,CAAC;aACL;YACC;gBACC,IAAI,EAAC,IAAI;gBACT,EAAE,EAAC,CAAC;aACJ;SAEF;QACD,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAChE,IAAI,OAAO,GAAY,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/D,KAAI,CAAC,eAAe,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAO,IAAE,cAAO,CAAC,YAAY,IAAI,IAAI,EAA5B,CAA4B,CAAC,CAAC;YACjF,KAAI,CAAC,uBAAuB,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAO,IAAE,cAAO,CAAC,YAAY,IAAE,IAAI,IAAI,OAAO,CAAC,aAAa,IAAE,IAAI,EAAzD,CAAyD,CAAC;YACrH,KAAI,CAAC,QAAQ,GAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,yBAAyB;YACzB,gBAAgB;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YACnE,IAAI,OAAO,GAAY,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAClE,KAAI,CAAC,WAAW,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAO,IAAE,cAAO,CAAC,YAAY,EAApB,CAAoB,CAAE;QACvE,CAAC,CAAC;QACF,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC;IAET,CAAC;IAED,kDAAc,GAAd;QACC,oCAAoC;QACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,iDAAa,GAAb;QAEE,qBAAqB;QACrB,wEAAwE;QACxE,UAAU;IACZ,CAAC;IAED,mDAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,EAAE,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAC;YAEzB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IAED,6CAAS,GAAT,UAAU,IAAI,EAAC,OAAO;QAEpB,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,MAAM,CAAC;QACrC,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,CAClB,CAAC;YACA,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAEV,IAAI,oBAAoB,GAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,iCAAiC;gBACnG,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAClC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAChD,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC7B,GAAG,EAAC,CAAC,GAAG,CAAC,GAAG,CAAC;oBACb,aAAa,EAAC,CAAC,GAAG,CAAC,aAAa,CAAC;oBACjC,WAAW,EAAC,CAAC,GAAG,CAAC,WAAW,CAAC;oBAE7B,oBAAoB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;oBACxC,MAAM,EAAC,IAAI;oBACX,SAAS,EAAC,IAAI;oBACd,kBAAkB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;oBAErC,kBAAkB,EAAC,CAAC,oBAAoB,CAAC;iBAGzC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;gBAC1B,8CAA8C;aAC9C;QACH,CAAC;QACD,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,EAAC;YACjB,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAER,IAAI,oBAAoB,GAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,iCAAiC;gBACpG,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC9C,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC7B,GAAG,EAAC,CAAC,GAAG,CAAC,GAAG,CAAC;oBACb,aAAa,EAAC,CAAC,GAAG,CAAC,aAAa,CAAC;oBACjC,WAAW,EAAC,CAAC,GAAG,CAAC,WAAW,CAAC;oBAE7B,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAChD,MAAM,EAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACnB,SAAS,EAAC,CAAC,GAAG,CAAC,SAAS,CAAC;oBACzB,kBAAkB,EAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;oBAM3C,kBAAkB,EAAC,CAAC,oBAAoB,CAAC;iBAGzC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;gBAC1B,8CAA8C;aAC9C;QACH,CAAC;IACH,CAAC;IAEC,qDAAiB,GAAjB,UAAkB,IAAI;QACpB,GAAG,EAAU,UAAsB,EAAtB,SAAI,CAAC,iBAAiB,EAAtB,cAAsB,EAAtB,IAAsB;YAA/B,IAAI,CAAC;YACP,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,gBAAgB,CAAC,EAAC;gBAC3B,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,kBAAkB;gBACnC,MAAM,CAAC,IAAI,CAAC,SAAS;YACvB,CAAC;SACF;IAEH,CAAC;IACD,oDAAgB,GAAhB,UAAiB,IAAI,EAAC,OAAO;QAC3B,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACpE,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,CAClB,CAAC;YACD,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAET,IAAI,eAAe,GAAC,EAAE;gBACtB,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC9B,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACnE,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC7B,eAAe,GAAC,GAAG,CAAC,0BAA0B;gBACjD,CAAC;gBAED,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,YAAY,EAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBAChC,iCAAiC;oBAClC,uDAAuD;oBACpD,gBAAgB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;oBACpC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,0BAA0B,EAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC3D,MAAM,EAAC,IAAI;oBACX,SAAS,EAAC,IAAI;oBACd,mBAAmB,EAAC,CAAC,KAAK,CAAC;oBAE3B,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAEhD,yBAAyB,EAAC,CAAC,eAAe,CAAC;iBAC3C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;aACxB;QACH,CAAC;QACD,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,CAClB,CAAC;YACC,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAGT,IAAI,eAAe,GAAC,EAAE;gBACtB,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC9B,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACnE,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC7B,eAAe,GAAC,GAAG,CAAC,0BAA0B;gBACjD,CAAC;gBAED,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,YAAY,EAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBAChC,iCAAiC;oBACjC,gBAAgB,EAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACtC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,0BAA0B,EAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC3D,MAAM,EAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACnB,SAAS,EAAC,CAAC,GAAG,CAAC,SAAS,CAAC;oBACzB,mBAAmB,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAE7C,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAE/C,yBAAyB,EAAC,CAAC,eAAe,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;aACxB;QACH,CAAC;IACD,CAAC;IACD,sDAAkB,GAAlB,UAAmB,GAAG;QACpB,GAAG,EAAU,UAA2B,EAA3B,SAAI,CAAC,sBAAsB,EAA3B,cAA2B,EAA3B,IAA2B;YAApC,IAAI,CAAC;YACP,EAAE,EAAC,GAAG,IAAE,CAAC,CAAC,uBAAuB,CAAC,EAAC;gBACjC,IAAI,IAAI,GAAC,CAAC,CAAC,yBAAyB;gBACrC,MAAM,CAAC,IAAI;YACZ,CAAC;SACF;IAEH,CAAC;IAGC,mDAAe,GAAf,UAAgB,IAAI;QAElB,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAC,EAAE;QACnB,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC,EAAC;YACf,IAAI,QAAQ,GAAa,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrC,cAAc,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBACvC,aAAa,EAAC,KAAK;gBACnB,YAAY,EAAC,KAAK;gBAClB,GAAG,EAAC,CAAC,EAAE,CAAC;gBACR,aAAa,EAAC,CAAC,EAAE,CAAC;gBAClB,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,oBAAoB,EAAC,CAAC,EAAE,CAAC;aAE1B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAC;YACH,IAAI,QAAQ,GAAa,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAGrC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBACxD,aAAa,EAAC,IAAI,CAAC,aAAa;gBAChC,YAAY,EAAC,IAAI,CAAC,YAAY;gBAC9B,GAAG,EAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACd,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBAClC,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9B,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;aAGjD,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,CAAC;IAKH,CAAC;IACD,iDAAa,GAAb,UAAc,IAAI;QAChB,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,OAAO,CAAC,QAAQ,GAAC,EAAE;QACnB,EAAE,EAAC,IAAI,IAAI,IAAI,CAAC,EAAC;YACjB,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,YAAY,EAAC,CAAC,EAAE,CAAC;gBACjB,oBAAoB,EAAC,KAAK;gBAC1B,oBAAoB,EAAC,CAAC,EAAE,CAAC;gBACzB,0BAA0B,EAAC,CAAC,EAAE,CAAC;gBAC/B,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,oBAAoB,EAAC,CAAC,EAAE,CAAC;aAC1B,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAC,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAExB,CAAC;QACD,IAAI,EAAC;YACH,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChC,oBAAoB,EAAC,IAAI,CAAC,oBAAoB;gBAC9C,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBAChD,0BAA0B,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC5D,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;gBACpC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;gBACpC,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACjD,CAAC;YACF,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW;YAElC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;IACA,CAAC;IACF,0DAAsB,GAAtB,UAAuB,KAAK;QAC1B,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACjF,EAAE,EAAC,KAAK,IAAE,EAAE,CAAC,CACb,CAAC;YAEC,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,kBAAkB,EAAC,CAAC,EAAE,CAAC;gBACvB,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,YAAY,EAAC,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,oBAAoB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;aAExC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACF,IAAI,EAAC;YACH,GAAG,EAAY,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAhB,IAAI,GAAG;gBAEZ,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,kBAAkB,EAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;oBAC3C,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,YAAY,EAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBAC/B,WAAW,EAAC,CAAC,GAAG,CAAC,WAAW,CAAC;iBAC9B,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;QACF,CAAC;IAED,CAAC;IACD,2DAAuB,GAAvB,UAAwB,KAAK;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAClB,EAAE,EAAC,KAAK,IAAE,EAAE,CAAC,CACb,CAAC;YACD,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,oBAAoB,EAAC,CAAC,EAAE,CAAC;gBACzB,mBAAmB,EAAC,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC;YACH,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,KAAK,CAAC,CAAC;YAC1B,GAAG,EAAY,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAhB,IAAI,GAAG;gBACT,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,mBAAmB,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;iBAC9C,CAAC,CAAC;gBACH,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACxB;QACH,CAAC;IAED,CAAC;IAID,uCAAG,GAAH;QAEE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAMD,0CAAM,GAAN,UAAO,CAAC;QACN,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACV,CAAC;YACF,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;YAClB,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACV,CAAC;YACC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAC,IAAI;YACpB,2BAA2B;YACzB,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,mDAAe,GAAf,UAAgB,KAAK;QACpB,IAAI,MAAM,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,OAAO,GAAC,KAAK;QAClB,IAAI,CAAC,gBAAgB,GAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,wCAAwC;IAExC,CAAC;IACD,iDAAa,GAAb,UAAc,KAAK;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAC,KAAK;QAC3B,IAAI,CAAC,OAAO,GAAC,KAAK;QAClB,OAAO;QACP,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,0CAAM,GAAN,UAAO,CAAC,EAAC,UAAU;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,CAAC;QACtB,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,EAAC;YAEV,IAAI,MAAM,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,yFAAyF;YACzF,wCAAwC;YACxC,gCAAgC;YAC/B,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;gBAC/D,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC7C,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;gBAEnD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,eAAe,EAAE,CAAC;gBACvD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE;YAC9D,CAAC;YACD,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,EAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;gBAEnD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9F,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE;YAC9D,CAAC;YACD,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;gBAC/D,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;gBAEnD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9F,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE;YAC9D,CAAC;YAEF,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kDAAkD,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,GAAG,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,IAAI,GAAG,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC1E,0FAA0F;gBAC3F,gCAAgC;gBAC9B,IAAI,oBAAoB,GAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;gBAClE,IAAM,OAAO,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACzF,OAAO,CAAC,UAAU,CAAC;oBAEZ,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC7C,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC7B,GAAG,EAAC,GAAG,CAAC,GAAG;oBACX,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,WAAW,EAAC,GAAG,CAAC,WAAW;oBAE3B,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC9C,MAAM,EAAC,GAAG,CAAC,MAAM;oBACjB,SAAS,EAAC,GAAG,CAAC,SAAS;oBACvB,kBAAkB,EAAC,GAAG,CAAC,kBAAkB;oBAEzC,kBAAkB,EAAC,oBAAoB;iBAC5C,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC9D,4DAA4D;gBAC7D,0DAA0D;gBACzD,gCAAgC;gBAG9B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,GAAG,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEzB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,EAAC;YACb,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CACjD,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iDAAiD,CAAC;YACnF,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,GAAG,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpD,IAAI,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACrE,IAAM,OAAO,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC3F,OAAO,CAAC,UAAU,CAAC;oBAClB,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC9B,uCAAuC;oBACtC,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC7C,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC7C,0BAA0B,EAAC,GAAG,CAAC,0BAA0B;oBAC1D,eAAe;oBACf,kBAAkB;oBACjB,8BAA8B;oBAE9B,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAE9C,yBAAyB,EAAC,eAAe;iBACxC,CAAC;gBACF,IAAI,CAAC,WAAW,GAAC,KAAK;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IAGH,CAAC;IAEA,0CAAM,GAAN,UAAO,CAAC,EAAC,UAAU;QACjB,sCAAsC;QACvC,qEAAqE;QACpE,sBAAsB;QACtB,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,8DAA8D;QAC7D,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACV,CAAC;YAAA,IAAI,MAAM,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAE,CAAC,EAAE,CAAC,CAAC,CAAc,CAAC;YACtF,uCAAuC;YACxC,gCAAgC;YAC9B,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;gBAC/D,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC7C,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;gBAEnD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,eAAe,EAAE,CAAC;gBACvD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE;YAC9D,CAAC;YACD,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,EAAC;gBACjC,uBAAuB;gBACtB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;gBAEnD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9F,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE;YAC9D,CAAC;YACD,EAAE,EAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,EAAC;gBAC/D,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE;gBAEnD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9F,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE;YAC9D,CAAC;YACC,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iDAAiD,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,EAAC;gBACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAC,KAAK,CAAC;gBACxD,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QACA,IAAI,CAAC,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACf,CAAC;YACA,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iDAAiD,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,EAAC;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAC,KAAK,CAAC;YAC/D,CAAC;QACF,CAAC;IAEH,CAAC;IACD,8CAAU,GAAV,UAAW,CAAC,EAAC,KAAK;QAChB,EAAE,EAAC,KAAK,IAAE,GAAG,CAAC,CACd,CAAC;YACC,kCAAkC;YACtC,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpB,qCAAqC;YACrC,IAAM,QAAQ,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAClF,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEnB,CAAC;QACD,EAAE,EAAC,KAAK,IAAE,CAAC,CAAC,EAAC;YACX,+BAA+B;YACjC,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAC,KAAK;YAChC,IAAI,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAGrB,qEAAqE;YACrE,wCAAwC;YACxC,gDAAgD;YAChD,wCAAwC;YACxC,+CAA+C;YAC/C,eAAe;YACd,kDAAkD;YACjD;;;;;0FAK8E;QACjF,CAAC;QACD,EAAE,EAAC,KAAK,IAAE,YAAY,CAAC,CACvB,CAAC;YACC,0BAA0B;YAC1B,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAGD,+CAAW,GAAX;QAAA,iBAiCC;QA/BC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,iBAAiB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC5D,KAAI,CAAC,sBAAsB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,aAAG;YAErD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,aAAG;YAChD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,yDAAqB,GAArB,UAAsB,mBAAmB,EAAC,wBAAwB;QAAlE,iBAoBC;QAlBC,IAAI,gBAAgB,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9E,IAAI,eAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAG/E,EAAE,EAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAClC,CAAC;YACC,mBAAmB,CAAC,OAAO,CAAC,aAAG;gBAC7B,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QAEL,CAAC;QACD,EAAE,EAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YACtC,wBAAwB,CAAC,OAAO,CAAC,aAAG;gBAChC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvD,yBAAyB;gBAC9B,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACL,CAAC;IAED,mDAAe,GAAf,UAAgB,YAAgB;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACrD,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YAC7C,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;YACzC,YAAY,EAAC,CAAC,YAAY,CAAC,YAAY,IAAE,CAAC,IAAI,YAAY,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACpG,CAAC,CAAC;IACH,CAAC;IAED,qDAAiB,GAAjB,UAAkB,KAAK,EAAC,KAAK,EAAC,IAAI;QAAlC,iBAuDC;QApDC,IAAI,eAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjF,IAAI,gBAAgB,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE9E,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CACzB,CAAC;YACC,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAE,CAAC,CAAC,EAAC;gBACjC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qJAAmC,CAAC,CAAC;gBACnE,KAAK,CAAC,YAAY,CAAC,cAAI;oBACrB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;wBACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAG;4BAGtB,IAAI,iBAAiB,GAAO,EAAC,oBAAoB,EAAC,GAAG,CAAC,kBAAkB,EAAC,gBAAgB,EAAC,GAAG,CAAC,cAAc,EAAC,uBAAuB,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,cAAc,EAAC,EAAE,EAAC,kBAAkB,EAAC,EAAE,EAAC,CAAC;4BAC/L,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BACvE,0BAA0B;4BACzB,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBACtD,CAAC,CAAC,CAAC;oBACP,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAGjE,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACA,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;YAAA,IAAI,CACL,CAAC;gBAEC,IAAI,iBAAiB,GAAO,EAAC,oBAAoB,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAC,uBAAuB,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,cAAc,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC,kBAAkB,EAAC,EAAE,EAAC,CAAC;gBAClO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvE,0BAA0B;gBACzB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,CACJ,CAAC;YACC,IAAI,iBAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC/E,IAAI,MAAM,GAAG,iBAAe,CAAC,KAAK,CAAC,GAAG,CAAC,WAAC;gBACtC,QAAC,CAAC,kBAAkB;YAApB,CAAoB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/D,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAG,CAAC,CAAC,EAAC;gBACtC,iBAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,QAAQ,GAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEjE,CAAC;YACD,4BAA4B;QAEhC,CAAC;IAEL,CAAC;IAED,2DAAuB,GAAvB,UAAwB,YAAiB;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAEnB,kBAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACrD,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YAC7C,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,EAAC,YAAY,CAAC,YAAY,GAAG,kEAAU,CAAC,QAAQ,GAAG,kEAAU,CAAC,aAAa,CAAC;YACpH,oBAAoB,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACzD,qBAAqB,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAChF,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;SAC5C,CAAC,CAAC;IACH,CAAC;IACD,cAAc;IACd,mDAAe,GAAf,UAAgB,KAAK;QAGnB,IAAI,eAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAK3E,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,qBAAqB;IAE7B,CAAC;IACD,0BAA0B;IAC1B,IAAI;IACJ,0BAA0B;IAC1B,QAAQ;IACR,cAAc;IACd,SAAS;IACT,IAAI;IACJ,mEAA+B,GAA/B,UAAgC,CAAC,EAAC,YAAY,EAAC,IAAI;QAGjD,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QACvC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACP,IAAI,OAAO,GAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;YAClE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;YAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACf,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC;YACzE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IACD,kDAAc,GAAd,UAAe,MAAW,EAAE,YAAY;QACtC,IAAI,OAAO,GAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;QAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAC,EAAE;QACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAC,EAAE;QACrC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,kBAAkB,GAAU,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpG,IAAI,IAAI,GAAC,IAAI,IAAI,EAAE;QAEnB,IAAI,SAAS,GAAC,IAAI,CAAC,WAAW,EAAE,GAAC,GAAG,GAAC,CAAC,GAAG,GAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC,GAAC,GAAG,GAAC,CAAC,GAAG,GAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,cAAc,EAAC,SAAS,CAAC,CAAC;QACtC,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kBAAkB,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,aAAa,CAAC;QAC1C,qBAAqB;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAExG,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,GAAE,EAAE,CAAC,CAAC,GAAC,EAAE,CAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,MAAM,GAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,GAAE,EAAE,CAAC,CAAC,GAAC,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAC,EAAE,CAAC,CAAC;QACzD,4BAA4B;QAC1B,oFAAoF;QACtF,iCAAiC;QACjC,kBAAkB;QAClB,2DAA2D;QAC3D,mCAAmC;QACnC,+BAA+B;QAC/B,uCAAuC;QAEvC,IAAI;QACJ,sGAAsG;QACpG,mCAAmC;QACnC,0BAA0B;QAC1B,4EAA4E;QAC5E,kDAAkD;QAClD,2BAA2B;QAC3B,+BAA+B;QAC/B,6BAA6B;QAC7B,mCAAmC;QACnC,kDAAkD;QAClD,kDAAkD;QAElD,YAAY;QACZ,wEAAwE;QACxE,wEAAwE;QACxE,IAAI;IAEN,CAAC;IAGC,8CAAU,GAAV,UAAW,UAAU;QAArB,iBA0IC;QAxIH,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,WAAW,GAAK,EAAE;QACtB,IAAI,eAAe,GAAK,EAAE;QAE1B,IAAI,UAAU,GAAK,EAAE;QACvB,IAAI,cAAc,GAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YACpE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;QACnC,CAAC,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,UAAC,OAAO;YAC7B,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC;QACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,OAAO;gBAClC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC;QACF,CAAC;QAEC,IAAI,SAAS,GAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YAClE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;QACtC,CAAC,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,OAAO,CAAC;YACpC,EAAE,EAAC,OAAO,CAAC,oBAAoB,IAAE,EAAE,IAAI,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,EAAC;gBAC3E,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uDAAuD,CAAC,CAAC;gBACxF,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC3B,2CAA2C;gBAC1C,MAAM,CAAC;YACT,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC;QACF,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,OAAO;gBAC3B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1B,CAAC,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,eAAe,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;gBACjC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC;oBAC/B,KAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,KAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,QAAQ,EAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5D,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,CAAC;YACT,CAAC;QACH,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,SAAS,GAAC,UAAU;YAChC,WAAW,CAAC,0BAA0B,GAAC,UAAU,CAAC,0BAA0B;YAC5E,WAAW,CAAC,0BAA0B,GAAG,IAAI,CAAC;YAC9C,WAAW,CAAC,0BAA0B,GAAG,IAAI,CAAC;YAC9C,iEAAiE;QACnE,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,CAAC,CAAC;YAC/C,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;YAC3B,WAAW,CAAC,0BAA0B,GAAG,EAAE,CAAC;YAC5C,WAAW,CAAC,0BAA0B,GAAG,UAAU,CAAC,0BAA0B,CAAC;YAC/E,WAAW,CAAC,0BAA0B,GAAG,UAAU,CAAC,0BAA0B,CAAC;YAC/E,+DAA+D;QACjE,CAAC;QAED,WAAW,CAAC,WAAW,GAAC,eAAe,CAAC;QACxC,mCAAmC;QACnC,WAAW,CAAC,IAAI,GAAC,UAAU,CAAC,IAAI,CAAC;QACjC,WAAW,CAAC,MAAM,GAAC,UAAU,CAAC,MAAM,CAAC;QACrC,WAAW,CAAC,YAAY,GAAC,IAAI,CAAC,KAAK,CAAC;QACpC,WAAW,CAAC,0BAA0B,GAAC,UAAU,CAAC,0BAA0B,CAAC;QAC7E,+EAA+E;QAC/E,WAAW,CAAC,cAAc,GAAC,UAAU,CAAC,cAAc,CAAC;QAEnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAU;YACrD,EAAE,EAAC,UAAU,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAChC,2BAA2B;gBAC3B,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YAGV,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCM;IACP,CAAC;IAED,kDAAc,GAAd;QAAA,iBAgLC;QA9KC,IAAI,OAAO,GAAC,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7C,KAAI,CAAC,QAAQ,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,eAAmB,CAAC;YACxB,IAAI,+BAAmC,CAAC;YACxC,IAAI,cAAc,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAc,CAAC;YACxE,cAAc,CAAC,QAAQ,GAAC,EAAE;YAC1B,KAAI,CAAC,OAAO,GAAC,KAAI,CAAC,QAAQ,CAAC;YAC3B,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBAGC,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACpF,EAAE;gBAEF,IAAI,YAAY,GAAK,EAAE;gBACtB,IAAI,iBAAiB,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC5E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC;gBACF,EAAE,EAAC,iBAAiB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC7B,iBAAiB,CAAC,OAAO,CAAC,UAAC,OAAO;wBAChC,EAAE,EAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,EAAC;4BAC7B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;wBACjC,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAI,CAAC,SAAS,CAAC,YAAY,EAAC,KAAK,CAAC;gBAGlC,EAAE,EAAC,KAAI,CAAC,QAAQ,CAAC,0BAA0B,IAAI,EAAE,CAAC,EAAC;oBACjD,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;gBACrE,CAAC;gBACF,kCAAkC;gBACjC,+BAA+B,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBACtG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;gBACvD,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,KAAI,CAAC,qBAAqB,CAAC;gBACzD,EAAE,EAAC,KAAI,CAAC,qBAAqB,IAAG,OAAO,CAAC,CACxC,CAAC;oBACC,EAAE,EAAC,+BAA+B,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAC5C,iDAAiD;wBACjD,wCAAwC;wBACxC,sCAAsC;wBACtC,KAAK;wBACL,KAAI,CAAC,uBAAuB,CAAC,+BAA+B,CAAC,CAAC;oBAC/D,CAAC;oBACD,IAAI,CAAC,EAAE,EAAC,+BAA+B,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;wBACjD,KAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;oBACD,kBAAkB;oBAClB,eAAe,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACrE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACvC,CAAC,CAAC;oBACF,IAAI,QAAQ,GAAK,EAAE;oBAChB,EAAE,EAAC,eAAe,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAC9B,eAAe,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;4BACrC,EAAE,EAAC,OAAO,CAAC,SAAS,IAAE,KAAK,CAAC,EAAC;gCAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BACzB,CAAC;4BACD,IAAI,EAAC;gCACH,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC7B,CAAC;wBACH,CAAC,CAAC;oBAEJ,CAAC;oBACD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAC,KAAK,CAAC,CAAC;oBACtC,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACvE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,EAAE,EAAC,KAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,EAAC;oBAC9C,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAC,EAAE,CAAC,CAAC;oBAC3J,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAC,EAAE,CAAC,CAAC;gBAE5J,CAAC;gBAER,sBAAsB;gBAGtB,gCAAgC;gBAChC,gDAAgD;gBAChD,oCAAoC;gBACpC,gCAAgC;gBAChC,QAAQ;gBACR,YAAY;gBACZ,oCAAoC;gBACpC,QAAQ;gBACR,OAAO;gBAEP,IAAI;gBACF,yCAAyC;gBAIzC,uDAAuD;gBACvD,2EAA2E;gBAC3E,KAAK;YAEL,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,qBAAqB,CAAC;gBACnD,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;oBAC7C,KAAK,CAAC,YAAY,GAAC,IAAI;wBACvB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC5B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;oBACrB,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,cAAc,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;oBACrE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBACvB,KAAK,CAAC,oBAAoB,GAAG,KAAK,GAAG,CAAC,CAAC;oBACxC,8BAA8B;oBAC7B,KAAK,CAAC,GAAG,GAAG,EAAE;wBACd,KAAK,CAAC,aAAa,GAAG,EAAE;wBACxB,KAAK,CAAC,WAAW,GAAG,EAAE;oBACrB,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACvB,IAAI,gBAAgB,GAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;wBAC7b,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,mCAAmC;gBACnC,iCAAiC;gBACjC,kDAAkD;gBAClD,uBAAuB;gBACvB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,OAAO,CAAC;gBACrC,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,qBAAqB,EAAC,KAAK,CAAC,CAAC;gBACjD,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,qBAAqB,CAAC;gBACxD,2DAA2D;gBAC3D,KAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAEjC,CAAC;QACH,CAAC,CAAC;QACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCM;IACR,CAAC;IACD,mDAAe,GAAf,UAAgB,YAAgB;QAC9B,IAAI,IAAI,GAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACjD,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;YAC1C,mBAAmB,EAAE,CAAC,KAAK,CAAC;YAC5B,oBAAoB,EAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACxD,oBAAoB,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC7E,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YAC7C,oBAAoB,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;YACnC,MAAM,EAAC,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5B,yBAAyB,EAAC,CAAC,IAAI,CAAC;SAEnC,CAAC,CAAC;IACH,CAAC;IAEA,iBAAiB;IACjB,+CAAW,GAAX;QAAA,iBAeD;QAdE,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACL,CAAC;IAED,8CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,uDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,6CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,sDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,2CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,6CAAS,GAAT;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC3D,4CAA4C;gBAC5C,kDAAkD;gBACjD,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IAjzCiB;QAApB,yEAAS,CAAC,QAAQ,CAAC;kCAAY,iEAAU;gEAAC;IACf;QAA3B,yEAAS,CAAC,eAAe,CAAC;kCAAyB,oEAAS;4EAAA;IA9ChD,yBAAyB;QALrC,wEAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,WAAW,6DAAE,EAA+B;WAC1B;SACnB,CAAC;4NAqD6D,CAAS;YACzD,4JAAkC,yEAAwB;YACxD,0FAAa,CAAW,6FAAyB,EAAe;YACtD,cAAc,EAAiB,MAAe;OAvD5D,yBAAyB,CAi2CrC;IAAD,CAAC;AAAA;SAj2CY,yBAAyB,kB;;;;;;;;;;;;;;;;;;;;;AC7BI;AAC+B;AACK;AAE9E;;;;;GAKG;AAOH;IAGE,6CAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,QAAuB;QAAxG,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,aAAQ,GAAR,QAAQ,CAAe;QAD7H,kBAAa,GAAK,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,EAAE,EAAC,cAAc,EAAC,EAAE,EAAC,CAAC;QAE7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC5B;YACE,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5B,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,4DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,wDAAU,GAAV,UAAW,YAAgB;QAEzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,kBAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACrD,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;SACnE,CAAC;IACN,CAAC;IAED,qDAAO,GAAP;QAEE,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;YACC,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,2DAAa,GAAb,UAAc,KAAK;QAEjB,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACD,CAAC;IAED,wDAAU,GAAV;QACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,wDAAU,GAAV,UAAW,UAAU;QAEnB,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAnDU,mCAAmC;QAJ/C,wEAAS,CAAC;YACT,QAAQ,EAAE,0CAA0C;WACG;SACxD,CAAC;yCAI4B,GAA+F;OAHhH,mCAAmC,CAsD/C;IAAD,CAAC;AAAA;SAtDY,mCAAmC,mB;;;;;;;;;;;;;;;;AChBI;AAEpD;;;;GAIG;AAIH;IAAA;IAmBA,CAAC;IAlBC;;OAEG;IACH,0BAAS,GAAT,UAAU,KAAU,EAAE,UAAc;QAClC,IAAI,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,WAAW,IAAE,UAAU,CAAC,kBAAkB,EAA/C,CAA+C,CAAC,CAAC;QAChH,EAAE,EAAC,cAAc,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAS,IAAI;gBACpC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAS,IAAI;oBACvC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAE,UAAU,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;gBACxH,CAAC,CAAC,CAAC;YACH,CAAC,CAAC;YACF,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,kBAAkB,IAAE,UAAU,CAAC,kBAAkB,EAAtD,CAAsD,CAAC,CAAC;QACpF,CAAC;IAEH,CAAC;IAlBU,MAAM;QAHlB,mEAAI,CAAC;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;OACW,MAAM,CAmBlB;IAAD,aAAC;CAAA;AAnBkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVuB;AACe;AACuB;AACkB;AACzB;AACe;AACb;AACH;AACE;AAC1E;;;;;GAKG;AAOH;IAwBE,qCAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAsB,EAAQ,OAAgC,EAC9D,KAAmB,EAAQ,EAAc,EACzC,QAA2B,EAAS,cAA6B,EAAS,OAAuB;QAHvF,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QACzC,aAAQ,GAAR,QAAQ,CAAmB;QAAS,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QAnB1G,eAAU,GAAK,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,WAAW,EAAC,eAAe,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;QAC5F,qBAAgB,GAAU,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC;YACvD,EAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC;YAC5B,EAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,mCAAmC,EAAC,CAAC,CAAC;QAIvD,cAAS,GAAO,EAAE,CAAC;QACnB,eAAU,GAAO,EAAE,CAAC;QACpB,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,wBAAmB,GAAM,EAAE,CAAC;QAC5B,iBAAY,GAAM,EAAE,CAAC;QACrB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAOX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAxD,CAAwD,CAAC,CAAC;QACzG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAE,CAAC,EAAC,gBAAgB,EAAE,QAAQ,EAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACpC;YACA,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YACzB,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC1B,UAAU,EAAC,CAAC;YACZ,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,0BAA0B,EAAC,EAAE;SAC5B,CAAC;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oDAAc,GAAd;QACC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IACD,qDAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClD,EAAE,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAC;YAE/B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAC,8BAA8B,CAAC;gBACjF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IAED,iDAAW,GAAX;QAAA,iBAuCC;QArCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3E,EAAE,EAAC,GAAG,CAAC,UAAU,IAAE,IAAI,CAAC,EAAC;gBACvB,KAAI,CAAC,gBAAgB,GAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAI,IAAI,EAArB,CAAqB,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC;YACpC,CAAC;YACD,IAAI,iBAAiB,GAAK,EAAE;YAC5B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACjC,iBAAiB,GAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACjD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;YAE5F,CAAC;YACD,IAAI,mBAAmB,GAAK,EAAE;YAC9B,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAC3B,mBAAmB,GAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC7C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC;gBACF,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE3F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,KAAI,CAAC,qBAAqB,CAAC;QAC7D,CAAC,CAAC;IACR,CAAC;IACD,6CAAO,GAAP,UAAQ,GAAG,EAAC,CAAC;QAEX,0EAA0E;IAC5E,CAAC;IACD,8CAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACA,kCAAkC;IACpC,0DAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC,EAAC,IAAI;QAClC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAEV,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAC1D,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;YACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAEf,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC;YAC3D,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;YACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,sDAAgB,GAAhB,UAAiB,CAAC,EAAC,KAAK,EAAC,IAAI;QAC3B,IAAI,GAAG;QAEP,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,oDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAGD,+DAAyB,GAAzB,UAA0B,KAAK,EAAC,CAAC;QAC/B,mCAAmC;QACrC,IAAI,KAAK,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC3E,gCAAgC;QAClC,IAAI,QAAQ,GAAkB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,oCAAoC;QACnC,UAAU;QAGZ,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QACzB,EAAE,EAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACjB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACzC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YACrB,gDAAgD;YAE5C,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YAC3B,kDAAkD;YAClD,uFAAuF;YACrF,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,eAAe,EAAE,CAAC;YAC3D,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACxC,oFAAoF;QACpF,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,CAAC;IACpE,CAAC;IACC,qDAAe,GAAf;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpF,SAAS,EAAC,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,iBAAiB,EAAC,CAAC,IAAI,CAAC;YACxB,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,uBAAuB,EAAC,CAAC,IAAI,CAAC;YAC9B,yBAAyB,EAAC,CAAC,IAAI,CAAC;YAChC,sBAAsB,EAAC,CAAC,IAAI,CAAC;YAC7B,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC3B,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,uBAAuB,EAAC,CAAC,IAAI,CAAC;YAC9B,oBAAoB,EAAC,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACH,CAAC;IACD,kDAAY,GAAZ;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,qDAAe,GAAf,UAAgB,CAAC;QAEf,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACG,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,yDAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,CAAC,EAAE,CAAC;YAEb,wBAAwB,EAAE,CAAC,EAAE,CAAC;YAC9B,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxB,kBAAkB,EAAC,CAAC,EAAE,CAAC;YACvB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,mCAAmC,EAAC,CAAC,EAAE,CAAC;YACxC,sBAAsB,EAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACH,CAAC;IAED,sDAAgB,GAAhB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,yDAAmB,GAAnB,UAAoB,CAAC;QAEnB,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACG,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,gDAAU,GAAV,UAAW,UAAU;QAArB,iBA+HC;QA5HC,IAAM,oBAAoB,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAc,CAAC;QAC5G,IAAI,cAAc,GAAQ,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,gGAAgG;QAChG,oFAAoF;QAEpF,qGAAqG;QACrG,0FAA0F;QAC5F,EAAE,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,OAAM,IAAI,GAAG,cAAc,EAAC,CAAC;gBAE5B,IAAI,aAAa,GAAS,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE9D,qFAAqF;gBACrF,yEAAyE;gBAEzE,0EAA0E;gBAC1E,8DAA8D;gBAG9D,EAAE,EAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;oBAC7C,mJAAmJ;oBACnJ,EAAE,EAAC,aAAa,CAAC,QAAQ,CAAC,mCAAmC,CAAC,KAAK,IAAI,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC,mCAAmC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAC;wBACtJ,sJAAsJ;wBACtJ,4FAA4F;wBAC5F,gFAAgF;wBAChF,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACxF,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBAC9E,CAAC;oBACD,IAAI,CAAC,EAAE,EAAC,aAAa,CAAC,QAAQ,CAAC,mCAAmC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAC;wBAChF,wJAAwJ;wBACxJ,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACjE,yEAAyE;wBACzE,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,sBAAsB,EAAE,CAAC;wBAC7E,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChE,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,eAAe,EAAE,CAAC;wBACrE,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBAC9E,CAAC;oBAED,EAAE,EAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,IAAI,KAAK,CAAC,EAAC;wBAC5H,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClF,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBACxE,CAAC;oBACD,IAAI,CAAC,EAAE,EAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,KAAK,IAAI,IAAI,CAAC,EAAC;wBACnE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,eAAe,EAAE,CAAC;wBAC/D,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,sBAAsB,EAAE,CAAC;oBACxE,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,CAAC;YACR,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;QACjF,CAAC;QAGD,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,uDAAuD;YACvD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;YACrE,MAAM,CAAC;QACT,CAAC;QAEG,IAAI,WAAW,GAAO,EAAE;QACxB,IAAI,mBAAmB,GAAK,EAAE,CAAC;QAC/B,IAAI,kBAAkB,GAAK,EAAE,CAAC;QAC9B,gCAAgC;QAC9B,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,GAAG;YAChD,kBAAkB,CAAC,IAAI,CAAC;gBACtB,oBAAoB,EAAC,OAAO,CAAC,kBAAkB;gBAC/C,SAAS,EAAC,OAAO,CAAC,OAAO;gBACzB,0BAA0B,EAAC,OAAO,CAAC,wBAAwB;gBAC3D,2BAA2B,EAAC,OAAO,CAAC,yBAAyB;gBAC7D,oBAAoB,EAAC,OAAO,CAAC,kBAAkB;gBAC/C,oBAAoB,EAAC,OAAO,CAAC,kBAAkB;gBAC/C,0BAA0B,EAAC,OAAO,CAAC,wBAAwB;gBAC3D,qCAAqC,EAAC,OAAO,CAAC,mCAAmC;gBACjF,wBAAwB,EAAC,OAAO,CAAC,sBAAsB;aACxD,CAAC;QACF,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,kBAAkB,GAAC,kBAAkB,CAAC;QAEtD,IAAI;QACJ,QAAQ;QACL,4CAA4C;QAC/C,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,GAAG;YACjD,mBAAmB,CAAC,IAAI,CAAC;gBACvB,gBAAgB,EAAC,OAAO,CAAC,cAAc;gBACvC,QAAQ,EAAC,OAAO,CAAC,MAAM;gBACvB,UAAU,EAAC,OAAO,CAAC,SAAS,GAAC,GAAG,GAAC,OAAO,CAAC,QAAQ;gBACjD,UAAU,EAAC,OAAO,CAAC,QAAQ;gBAC3B,mBAAmB,EAAC,OAAO,CAAC,iBAAiB;gBAC7C,QAAQ,EAAC,OAAO,CAAC,MAAM;gBACvB,yBAAyB,EAAC,OAAO,CAAC,uBAAuB;gBACzD,2BAA2B,EAAC,OAAO,CAAC,yBAAyB;gBAC7D,wBAAwB,EAAC,OAAO,CAAC,sBAAsB;gBACvD,sBAAsB,EAAC,OAAO,CAAC,oBAAoB;gBACnD,aAAa,EAAC,OAAO,CAAC,WAAW;gBACjC,yBAAyB,EAAC,OAAO,CAAC,uBAAuB;gBACzD,sBAAsB,EAAC,OAAO,CAAC,oBAAoB;aACpD,CAAC;QACF,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,mBAAmB,GAAC,mBAAmB,CAAC;QAEtD,IAAI;QACJ,WAAW,CAAC,IAAI,GAAC,UAAU,CAAC,IAAI,CAAC;QACjC,WAAW,CAAC,MAAM,GAAC,UAAU,CAAC,MAAM,CAAC;QACrC,gDAAgD;QAChD,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,WAAW,CAAC,oBAAoB,GAAC,UAAU,CAAC,oBAAoB;QAChE,WAAW,CAAC,0BAA0B,GAAC,UAAU,CAAC,0BAA0B,CAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,2BAA2B;gBACjC,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACrD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;IAEV,CAAC;IAED,sDAAgB,GAAhB;QAAA,iBAyEC;QAvEC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC9E,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClF,IAAM,UAAU,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEpF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvC,0CAA0C;gBAEzC,qCAAqC;gBACrC,IAAI;gBAEF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA0B;gBACpF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;gBACpH,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;gBACrG,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAEtF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,kBAAkB,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAChD,EAAE,EAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAGlC,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;wBAErC,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,mCAAmC,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;wBAC3E,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,sBAAsB,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;wBAC9D,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;wBAC5C,KAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,EAAC,KAAK,CAAC;oBAClE,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAGzF,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;gBACD,qCAAqC;gBACrC,IAAI;gBACF,IAAI,qBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAExF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,qBAAmB,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,qBAAmB,CAAC,MAAM,CAAC,CAAC;gBACjD,EAAE,EAAC,qBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBACnC,uFAAuF;oBACvF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;oBACpH,qBAAmB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBAElC,IAAI,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC/C,qBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,GAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAC,eAAe,CAAC,CAAC;wBAC/E,qBAAmB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC;wBAClF,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,EAAE,CAAC,CAAC;wBACrC,yFAAyF;oBAC3F,CAAC,CAAC,CAAC;oBACP,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,qBAAmB,CAAC,CAAC;gBAErF,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,KAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB;IACjB,iDAAW,GAAX;QAAA,iBAeA;QAdE,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACL,CAAC;IAED,gDAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,yDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,+CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,wDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,6CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,+CAAS,GAAT;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC3D,4CAA4C;gBAC5C,kDAAkD;gBACjD,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IAEJ,CAAC;IAtlBS,2BAA2B;QAJvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;WACG;SAC/C,CAAC;4NAyB6D,CAAS;YACzD,4JAAkC,CAAwB;YACxD,yFAAwB,2FAAW;YAC/B,iBAAiB,EAAwB,KAA8C;OA3B/F,2BAA2B,CA0lBvC;IAAD,CAAC;AAAA;SA1lBY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBE;AACe;AACmB;AAC5E,iDAAiD;AAC+B;AACkB;AACzB;AACC;AACA;AAE1E;;;;;GAKG;AAOH;IAaE,mCAAmB,OAAsB,EAAS,SAAoB,EAAS,EAAc,EACjF,OAAgC,EAAQ,GAAsB,EAC9D,KAAmB,EAAS,cAA6B,EAAS,OAAuB;QAFlF,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,OAAE,GAAF,EAAE,CAAY;QACjF,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAC9D,UAAK,GAAL,KAAK,CAAc;QAAS,mBAAc,GAAd,cAAc,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QAbrG,kCAA6B,GAAK,EAAE,CAAC;QAOrC,yBAAoB,GAAM,EAAE,CAAC;QAC7B,iBAAY,GAAM,EAAE,CAAC;QACrB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAIX,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QAC9B,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAC,GAAG,CAAC,SAAS,EAAE;QAE1B,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAClC,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,2BAA2B,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,8BAA8B,EAAC,CAAC,IAAI,CAAC;YACrC,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,kBAAkB,EAAC,CAAC,IAAI,CAAC;YACzB,0BAA0B,EAAC,CAAC,IAAI,CAAC;YAChC,iCAAiC,EAAC,CAAC,EAAE,CAAC;YACvC,4BAA4B;YAC5B,4BAA4B;YAC5B,mCAAmC;YACnC,uBAAuB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,uBAAuB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,8BAA8B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAEjD,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,kDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,mDAAe,GAAf;QAAA,iBA0DC;QAzDC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAC;YAE9B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;gBAChC,IAAI,KAAK,GAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAC,8BAA8B,CAAC;gBAChF,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC;oBACtB,EAAE,EAAC,IAAI,IAAG,KAAK,CAAC,EAAC;wBACf,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAC;wBACH,wBAAwB;wBACxB,EAAE,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,QAAQ,EAAE,OAAO;gCACnC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,sHAAsH,CAAC;gCACtM,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;oCACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oCACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wCAClB,YAAY;wCACZ,MAAM,EAAE,CAAC;oCACX,CAAC;oCACD,IAAI,CAAC,CAAC;wCACJ,QAAQ,EAAE,CAAC;wCACX,OAAO,EAAE,CAAC;oCACZ,CAAC;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;QAEA,CAAC;QACD,IAAI,EAAC;YACH,qCAAqC;YACrC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,IAAI,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,EAAE,wHAAwH,CAAC;oBACxM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,CAAC,UAAC,IAAI;wBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACvB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BAClB,MAAM,EAAE,CAAC;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;QAEP,CAAC;IAEH,CAAC;IACH,+CAAW,GAAX;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3D,KAAI,CAAC,6BAA6B,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC;QAClF,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,aAAG;YAClE,KAAI,CAAC,oBAAoB,GAAC,GAAG,CAAC,SAAS,CAAC;QAC1C,CAAC,CAAC;IACJ,CAAC;IACD,+DAA2B,GAA3B,UAA4B,IAAI;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mBAAmB,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;SACtE,CAAC;IACJ,CAAC;IACD,4DAAwB,GAAxB;QACE,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,+DAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,+DAA2B,GAA3B,UAA4B,IAAI;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mBAAmB,EAAC,IAAI,IAAG,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IACD,4DAAwB,GAAxB;QACE,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,+DAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,kEAA8B,GAA9B,UAA+B,IAAI;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAC,IAAI,IAAE,IAAI,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IACD,+DAA2B,GAA3B;QACE,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,kEAA8B,GAA9B,UAA+B,KAAK;QAClC,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC1F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,wDAAoB,GAApB,UAAqB,CAAC;QACpB,0BAA0B;QAC1B,IAAI,0BAA0B,GAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;QACxG,IAAI,0BAA0B,GAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;QACxG,IAAI,2BAA2B,GAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;QAEhH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAGtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE5C,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC9F,CAAC;YACH,CAAC;QAGH,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE5C,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAE9F,CAAC;YACH,CAAC;YAED,8FAA8F;YAC9F,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChG,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEtF,CAAC;YACH,CAAC;QAGH,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE5C,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC9F,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChG,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YACD,8FAA8F;QAEhG,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE7D,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxG,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAE9F,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACA,kDAAc,GAAd;QAAA,iBAiDC;QAhDC,IAAI,WAAW,GAAC,EAAC,OAAO,EAAC,IAAI,CAAC,IAAI,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QACpE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YACnD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC3B,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;gBACjH,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBACvH,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBACjG,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;gBAC/G,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC;gBAC5H,mGAAmG;gBACnG,kHAAkH;gBAClH,oGAAoG;gBACpG,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACnD,IAAI,4BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;oBACxG,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;wBACvB,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,EAAC;4BACpC,IAAI,GAAG,GAAC,EAAC,qBAAqB,EAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC;4BACxD,4BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACnD,IAAI,4BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;oBACxG,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;wBACvB,IAAI,GAAG,GAAC,EAAC,qBAAqB,EAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC;wBACxD,4BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBACxE,CAAC,CAAC;gBACJ,CAAC;gBACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC1D,IAAI,6BAA2B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;oBAChH,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,aAAG;wBACxD,IAAI,GAAG,GAAC,EAAC,4BAA4B,EAAC,GAAG,CAAC,0BAA0B,EAAC,CAAC;wBACtE,6BAA2B,CAAC,IAAI,CAAC,KAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;oBAC5E,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YACD,IAAI,EAAC;gBACL,IAAI,0BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;gBACtG,0BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzE,IAAI,0BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;gBACxG,0BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,IAAI,2BAA2B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;gBAChH,2BAA2B,CAAC,IAAI,CAAC,KAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC,CAAC;IAEJ,CAAC;IACD,mDAAe,GAAf;QAAA,iBAsBC;QArBC,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAC;YAChC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6CAA6C,CAAC;QAC/E,CAAC;QACD,IAAI,EAAC;YACH,IAAI,UAAU,GAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK;YAC1C,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAnD,CAAmD,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;gBAC7C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBACzB,2BAA2B;oBAC7B,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACvD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;oBAC5D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;gBACX,CAAC;gBACD,IAAI,EAAC;oBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+CAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC;QACnG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAEA,8CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,uDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,6CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,sDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,2CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,6CAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,EAAE;SAChB;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA5eU,yBAAyB;QAJrC,wEAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;WACG;SAC7C,CAAC;4NAc6D,CAAgC;YACzE,kLAAoC,6FAAkB;YACxD,aAAa,EAAwB,OAA8C;OAf1F,yBAAyB,CA8erC;IAAD,CAAC;AAAA;SA9eY,yBAAyB,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBI;AACe;AAEyC;AACqD;AACN;AACH;AACS;AACK;AACC;AACN;AAC9B;AAEzH;;;;;GAKG;AAMH;IASE,qCAAmB,OAAsB,EACtB,SAAoB,EACpB,OAAgC;QAFhC,YAAO,GAAP,OAAO,CAAe;QACtB,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAyB;QARnD,cAAS,GAAQ,EAAE,CAAC;QACpB,qBAAgB,GAAQ,EAAE,CAAC;QAG3B,gBAAW,GAAK,EAAE;QAMV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,qCAAqC;IAG5C,CAAC;IACD,qDAAe,GAAf;QAEE,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClC,qBAAqB;IAEtB,CAAC;IAED,yCAAyC;IACzC,+DAAyB,GAAzB;QAAA,iBAmCC;QAlCC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBACf,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,EAAb,CAAa,CAAC,CAAC;gBACpE,+EAA+E;gBAC/E,kDAAkD;gBAClD,KAAK;gBACL,oBAAoB;gBACrB,qCAAqC;gBACrC,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,GAAG;oBACxC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;gBACpC,CAAC,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC;gBAC7B,KAAI,CAAC,WAAW,GAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,YAAY,IAAI,IAAI,EAAxB,CAAwB,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC;gBAC5B,2CAA2C;gBAC3C,0BAA0B;gBAC1B,KAAK;gBAGL,mDAAmD;gBACnD,yBAAyB;gBACzB,MAAM;gBAGN,0FAA0F;gBACxF,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;oBAClC,KAAI,CAAC,KAAK,GAAC,CAAC;gBACd,CAAC;gBACD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAGF,kCAAkC;IAClC,gEAA0B,GAA1B,UAA2B,OAAY,EAAE,OAAY;QAEpD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,CAAC,CAAC,EAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qKAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QACnG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,CAAC,CAAC,EAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+JAAwB,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEjG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4JAAuB,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEhG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qKAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEnG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wKAA2B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEpG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qKAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEnG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8KAA6B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEtG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2KAA4B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAErG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2IAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QACnG,CAAC;IAGH,CAAC;IAhHY,2BAA2B;QAJvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;WACG;SAC/C,CAAC;6EAUyC;YACX,gHAAS;YACZ,wBAAwB;OAXxC,2BAA2B,CAmHvC;IAAD,CAAC;AAAA;SAnHY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxByB;AACR;AAC0B;AACP;AACyB;AACV;AAErC;AACuB;AAC/B;AAE+B;AACE;AAC/E;;;;;GAKG;AAOH;IA4DE,oCAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAsB,EAAQ,KAAmB,EACjD,OAAgC,EAAQ,EAAc,EAAQ,IAAsB,EACnF,OAAuB,EAAS,cAA6B;QAHpD,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QACjD,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QACnF,YAAO,GAAP,OAAO,CAAgB;QAAS,mBAAc,GAAd,cAAc,CAAe;QA9DrE,cAAS,GAAK,EAAE,CAAC;QAKnB,eAAU,GAAK,EAAE,CAAC;QAClB,2BAAsB,GAAO;YAC3B,uBAAuB,EAAC,MAAM;YAC9B,yBAAyB,EAAC,MAAM;YAC7B,uBAAuB,EAAC,MAAM;SACjC,CAAC;QAQH,iBAAY,GAAQ,EAAE,CAAC;QACrB,iBAAY,GAAQ,EAAE,CAAC;QACvB,iBAAY,GAAQ,EAAE,CAAC;QAEvB,4BAAuB,GAAK,EAAE;QAC9B,oBAAe,GAAK,EAAE;QAGtB,mBAAc,GAAS,EAAE,CAAC;QAC1B,iBAAY,GAAK,EAAE,CAAC;QAEpB,cAAS,GAAK,EAAE;QAChB,gBAAW,GAAK,EAAE;QAMlB,eAAU,GAAU,KAAK,CAAC;QAC1B,aAAQ,GAAM,EAAE,CAAC;QACjB,kBAAa,GAAK,EAAE,CAAC;QACrB,oCAA+B,GAAK,EAAE;QACtC,mBAAc,GAAM,EAAE,CAAC;QACvB,oBAAe,GAAM,EAAE,CAAC;QACxB,mBAAc,GAAS,KAAK;QAE5B,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,4CAAuC,GAAS,EAAE,CAAC;QAGzC,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QACnC,iBAAY,GAAiC,IAAI,mDAAa,CAAgB,CAAC,CAAC,CAAC;QACzF,oCAAoC;QAC7B,kBAAa,GAA8B,IAAI,mDAAa,CAAgB,CAAC,CAAC;QACrF,aAAQ,GAAK,EAAE;QACf,kBAAa,GAAK,EAAE;QAEpB,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAS,GAAG,CAAC;QAmzDjB,8BAAyB,GAAQ,EAAE,CAAC;QACvC,uBAAkB,GAAQ,EAAE,CAAC;QAC7B,0BAAqB,GAAQ,EAAE,CAAC;QAChC,wBAAmB,GAAQ,EAAE,CAAC;QAhzD1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,wCAAwC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAEhD,IAAI,CAAC,sBAAsB,GAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB;QAC/D,IAAI,CAAC,4BAA4B,GAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B;QAC3E,IAAI,CAAC,wBAAwB,GAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC5D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAC,CAAC;QAIX,2BAA2B;QAC3B,6BAA6B;QAE7B,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YACrC,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,0BAA0B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,6BAA6B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,8BAA8B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,+BAA+B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,kCAAkC,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,iCAAiC,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,6CAA6C;YAC7C,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAC/B,qCAAqC;YACrC,mCAAmC;YACnC,2BAA2B;YAC3B,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,kCAAkC,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC,EAAE,CAAC;YAClB,2BAA2B;YAC5B,sBAAsB;YACrB,sBAAsB;YACtB,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,gBAAgB,EAAC,CAAC,EAAE,CAAC;SAKvB,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpB,2BAA2B;IAEzB,CAAC;IAED,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;IAGpB,CAAC;IACD,gDAAW,GAAX;QAAA,iBAsED;QApEG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,cAAI;YAEtD,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAG;gBACvB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3D,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,uBAAuB,IAAE,KAAI,CAAC,sBAAsB,EAAxD,CAAwD,CAAC,CAAC;gBACvG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,UAAU,CAAC;gBAChC,EAAE,EAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACxB,KAAI,CAAC,sBAAsB,CAAC,uBAAuB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAE,CAAC,CAAC;oBAC/F,KAAI,CAAC,sBAAsB,CAAC,yBAAyB,GAAI,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,yBAAyB,GAAG,KAAI,CAAC,4BAA4B,CAAC;oBAChL,KAAI,CAAC,sBAAsB,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,KAAI,CAAC,4BAA4B,CAAC;oBAEvJ,EAAE,EAAC,KAAI,CAAC,sBAAsB,CAAC,yBAAyB,IAAI,0BAA0B,IAAI,KAAI,CAAC,sBAAsB,CAAC,yBAAyB,IAAI,qBAAqB,CAAC,EAAC;wBACtK,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACD,CAAC;QAED,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,cAAI;YAE/D,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAG;gBACvB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,cAAI;YAEvD,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAG;gBACvB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7D,KAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAE9E,CAAC,CAAC,CAAC;QAIH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAChD,KAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAEtE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;YAC/C,KAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACpD,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBAEpB,KAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,EAArB,CAAqB,CAAC;YAElE,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAAxC,CAAwC,CAAC,CAAC;YACpF,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC7C,CAAC,CAAC;IAEN,CAAC;IACD,oDAAe,GAAf;QAAA,iBAWC;QAVD,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,cAAI;YAG7C,KAAI,CAAC,SAAS,GAAC,IAAI,CAAC,OAAO;YAC3B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAEjD,KAAI,CAAC,UAAU,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,4DAAuB,GAAvB,UAAwB,OAAO,EAAC,CAAC,EAAC,CAAC;QAC/B,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,EAAC;YACX,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC1F,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,IAAI,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5F,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,yBAAyB,IAAI,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;QACzF,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;IACF,CAAC;IACF,+CAAU,GAAV;QAAA,iBA6fC;QA3fC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,EAAE;QACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,QAAa,CAAC;YAGpB,IAAM,MAAM,GAAkB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAErE,IAAM,QAAQ,GAAkB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAEzF,IAAM,iBAAiB,GAAkB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;YAErG,IAAM,mBAAmB,GAAiB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YACvG,IAAM,aAAa,GAAmB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YACpG,IAAM,gBAAgB,GAAgB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACvG,IAAM,sBAAsB,GAAgB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAC5G,4FAA4F;YAC5F,IAAM,QAAQ,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpE,gDAAgD;YAChD,qDAAqD;YAErD,gJAAgJ;YAChJ,yCAAyC;YACzC,qJAAqJ;YACtJ,+CAA+C;YAC9C,gJAAgJ;YAChJ,0CAA0C;YAE1C,EAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAE,GAAG,CAAC,EAAC;gBACpB,IAAI,QAAQ,SAAK,CAAC;gBAClB,IAAI,WAAW,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAClE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC;gBAEF,EAAE,EAAC,WAAW,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtC,CAAC;gBACD,IAAI,EAAC;oBACD,WAAW,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,GAAG;wBAC1B,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;wBACnC,EAAE,EAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,CAAC,CAAC;4BAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;wBACnG,CAAC;wBACD,EAAE,EAAC,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC;4BAC9F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;wBACnH,CAAC;wBACD,IAAI,CAAC,CAAC;4BACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC;wBAC5E,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,EAAC;oBAC/C,IAAI,YAAY,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACtF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC,CAAC;oBACF,EAAE,EAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBACtB,YAAY,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,GAAG;4BAC3B,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;wBAC7C,CAAC,CAAC;wBACF,WAAW,CAAC,0BAA0B,GAAC,YAAY;oBAEvD,CAAC;oBACD,IAAI,EAAC;wBACD,2CAA2C;wBAC3C,WAAW,CAAC,0BAA0B,GAAC,EAAE;oBAC7C,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,WAAW,CAAC,0BAA0B,GAAC,EAAE;gBAE7C,CAAC;gBAGG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC;oBAC3C,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACC,QAAQ,CAAC,OAAO,CAAC,eAAK;wBAClB,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACX,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,QAAQ,GAAG,CAAC,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAEA,WAAW,CAAC,IAAI,GAAI,KAAI,CAAC,IAAI,CAAC;gBAC1B,WAAW,CAAC,MAAM,GAAI,EAAE,CAAC;gBACzB,WAAW,CAAC,UAAU,GAAI,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC;gBACpD,WAAW,CAAC,YAAY,GAAI,KAAI,CAAC,KAAK,CAAC;gBACvC,wCAAwC;gBACxC,WAAW,CAAC,QAAQ,GAAI,WAAW,CAAC;gBACtC,uDAAuD;gBACrD,WAAW,CAAC,SAAS,GAAC,QAAQ;gBAE9B,EAAE,EAAC,WAAW,CAAC,qBAAqB,CAAC,EAAC;oBAClC,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBACtG,CAAC;gBAGE,mFAAmF;gBACpF,2CAA2C;gBAC1C,qCAAqC;gBACrC,IAAI,cAAY,GAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAI,IAAE,QAAC,EAAC,IAAI,EAAG,IAAI,CAAC,IAAI,EAAC,mBAAmB,EAAG,IAAI,CAAC,mBAAmB,EAAC,CAAC,EAAnE,CAAmE,CAAC;gBAChH,IAAI,qBAAmB,GAAM,EAAE,CAAC;gBAChC,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,EAAC;oBAC7C,qBAAmB,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAC5F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;oBAClF,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,wBAAwB,GAAG,cAAY,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,EAAxB,CAAwB,CAAC,CAAC;gBAClF,IAAI,6BAA6B,GAAE,wBAAwB,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK;oBAC1E,EAAE,CAAC,CAAC,qBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACtC,cAAY,CAAC,KAAK,CAAC,CAAC,YAAY,GAAC,CAAC,CAAC;wBACnC,MAAM,CAAC,cAAY,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,IAAI,EAAC;wBACD,cAAY,CAAC,KAAK,CAAC,CAAC,YAAY,GAAC,CAAC,CAAC;wBACnC,MAAM,CAAC,cAAY,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;gBACD,CAAC,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,IAAI,SAAS,EAAjB,CAAiB,CAAC,CAAC;gBAErC,EAAE,EAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,CAAC,CAC5C,CAAC;oBACG,6BAA6B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBAC5C,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC1D,yGAAyG;oBAE5G,CAAC,CAAC,CAAC;oBAEH,WAAW,CAAC,6BAA6B,GAAC,6BAA6B,CAAC;gBAC5E,CAAC;gBACF,wDAAwD;gBAExD,sGAAsG;gBAEtG,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,EAAC;oBAC/C,IAAI,qBAAqB,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAClG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;oBAC/D,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,qBAAqB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAClC,qBAAqB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACxL,qBAAqB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;wBAE5K,qBAAqB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACxC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,WAAW,EAAC,KAAK,CAAC;4BACxD,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC;4BACnD,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCAErC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gCACzF,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAE7G,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCACzC,CAAC,CAAC,CAAC;gCACH,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACnG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCACzC,CAAC,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACjG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC3G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC7G,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAExF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACnG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCAEF,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACjG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC3G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BAED,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,WAAW,CAAC,8BAA8B,GAAC,qBAAqB,CAAC;oBAGlE,CAAC;oBACD,IAAI,EAAC;wBAEJ,WAAW,CAAC,8BAA8B,GAAC,EAAE,CAAC;oBAC/C,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBAEJ,WAAW,CAAC,8BAA8B,GAAC,EAAE,CAAC;gBAC/C,CAAC;gBAED,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,EAAC;oBAEnD,IAAI,cAAc,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC3B,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACjL,cAAc,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;wBACjL,cAAc,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;wBAC7K,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBAC9M,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC;wBAC/M,cAAc,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACjC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,WAAW,EAAC,KAAK,CAAC;4BACzD,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BAC7C,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACrC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACvG,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAC/F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAClF,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAC7F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACvG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAClF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAC/F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAC7F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACF,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACD,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,WAAW,CAAC,+BAA+B,GAAC,cAAc,CAAC;oBAC/D,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,+BAA+B,GAAC,EAAE,CAAC;oBACnD,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,+BAA+B,GAAC,EAAE,CAAC;gBACnD,CAAC;gBAGA,4BAA4B;gBAC5B,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,EAAC;oBACpD,IAAI,iBAAiB,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACtG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9B,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACpL,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;wBACpL,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;wBAChL,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACjN,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC;wBAClN,iBAAiB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACpC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,WAAW,EAAC,KAAK,CAAC;4BACzD,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BAChD,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACrC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACxF,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC1G,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAClG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAChG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACxF,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC1G,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAClG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAChG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACF,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACD,CAAC;wBAEL,CAAC,CAAC,CAAC;wBACH,WAAW,CAAC,kCAAkC,GAAC,iBAAiB,CAAC;oBACrE,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,kCAAkC,GAAC,EAAE,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,kCAAkC,GAAC,EAAE,CAAC;gBAEtD,CAAC;gBAGD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,EAAC;oBAClD,IAAI,eAAe,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;oBAClE,CAAC,CAAC;oBACF,EAAE,EAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC5B,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;wBACxK,eAAe,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;wBAClL,eAAe,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;wBAC9K,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBAC/M,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC;wBAEhN,eAAe,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACpC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,YAAY,EAAC,KAAK,CAAC;4BACvD,sBAAsB,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BAExD,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACpC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAChH,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACtE,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACtG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;4BACA,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACpG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAEnE,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC9G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAChH,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC1D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCAC1E,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,EAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;oCACvE,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACtG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACF,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACjG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC9G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BAGJ,CAAC;wBACL,CAAC,CAAC,CAAC;wBAGH,WAAW,CAAC,iCAAiC,GAAC,eAAe,CAAC;oBAElE,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,iCAAiC,GAAC,EAAE,CAAC;oBAErD,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,iCAAiC,GAAC,EAAE,CAAC;gBAErD,CAAC;gBAEL,oDAAoD;gBAEpD,yCAAyC;gBACzC,uGAAuG;gBACvG,+DAA+D;gBAC/D,UAAU;gBACV,sCAAsC;gBACtC,oDAAoD;gBACpD,+DAA+D;gBAC/D,sCAAsC;gBACtC,8DAA8D;gBAC9D,QAAQ;gBACR,YAAY;gBACZ,kDAAkD;gBAClD,WAAW;gBACX,IAAI;gBACJ,SAAS;gBACT,8CAA8C;gBAE9C,MAAM;gBAEc,qCAAqC;gBACjD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAC;oBAEnB,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,IAAE,KAAK,CAAC,EAAC;wBACjD,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAiB,CAAC;gBAE1H,CAAC;gBAEJ,gEAAgE;gBAC9D,iFAAiF;gBAElF,oHAAoH;gBACpH,EAAE,EAAC,WAAW,CAAC,0BAA0B,IAAI,KAAK,CAAC,EAAC;oBAChD,oCAAoC;oBACpC,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAK;wBAC1C,KAAK,CAAC,UAAU,GAAC,EAAE;oBACvB,CAAC,CAAC;oBACF,yBAAyB;oBAC3B,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;oBACvF,IAAM,UAAU,GAAmB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;oBACtF,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;wBAErD,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBACrF,CAAC;gBACL,CAAC;gBAEC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAG9C,CAAC;YACD,IAAI,EAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAEtC,uCAAuC;gBAEvC,0DAA0D;gBAC1D,IAAI,YAAY,GAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAI,IAAE,QAAC,EAAC,IAAI,EAAG,IAAI,CAAC,IAAI,EAAC,mBAAmB,EAAG,IAAI,CAAC,mBAAmB,EAAC,YAAY,EAAC,CAAC,EAAC,CAAC,EAAlF,CAAkF,CAAC;gBAChI,EAAE,EAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3B,CAAC;oBACG,YAAY,CAAC,OAAO,CAAC,aAAG;wBACpB,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;gBACP,CAAC;YAEP,CAAC;QACT,CAAC,CAAC;QACE,4BAA4B;QAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAChE,GAAG,CAAC,WAAW,EAAE,IAAE,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1L,GAAG,CAAC,WAAW,EAAE,IAAE,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACxL,CAAC,CAAC,CAAC;IAGP,CAAC;IAED,+CAAU,GAAV,UAAW,UAAe,EAAC,QAAe;QACxC,aAAa;QACb,+BAA+B;QAC/B,mBAAmB;QACnB,MAAM;QAGN,EAAE,EAAC,QAAQ,CAAC,EAAC;YACT,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAE,QAAC,CAAC,QAAQ,IAAE,QAAQ,EAApB,CAAoB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QACnD,CAAC;IACL,CAAC;IACD,mDAAc,GAAd,UAAe,UAAe,EAAC,QAAe,EAAC,KAAK;QAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,KAAK,CAAC;QAE1B,EAAE,EAAC,QAAQ,CAAC,EAAC;YACX,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAE,QAAC,CAAC,QAAQ,IAAE,QAAQ,EAApB,CAAoB,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;YACnE,yDAAyD;YACvD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YACtD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,iDAAiD;IACrD,CAAC;IAEC,0BAA0B;IAC1B,uDAAkB,GAAlB,UAAmB,UAAe,EAAC,YAAgB;QACjD,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;QACjC,EAAE,EAAC,YAAY,CAAC,EAAC;YACf,IAAI,sBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,EAAb,CAAa,CAAC,CAAC;YACjE,IAAI,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,UAAU,EAAd,CAAc,CAAC,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,UAAU,EAAjB,CAAiB,CAAC,CAAC;YAChG,IAAI,cAAc,GAAM,EAAE,CAAC;YAC1B,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,WAAC;gBAC9B,IAAI,SAAS,GAAG,sBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC;QACzD,CAAC;IACL,CAAC;IACD,wDAAmB,GAAnB,UAAoB,UAAe,EAAE,YAAiB,EAAE,aAAkB;QACxE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACf,IAAI,eAAa,GAAM,EAAE,CAAC;YAC1B,IAAI,sBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,EAAb,CAAa,CAAC,CAAC;YACjE,YAAY,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,QAAQ;gBACvC,aAAa,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,QAAQ;oBACxC,EAAE,EAAC,YAAY,IAAE,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBACzE,IAAI,SAAS,GAAG,sBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC3D,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;wBAEzC,IAAI,YAAY,GAAQ,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,IAAE,GAAG,EAAT,CAAS,CAAC,CAAC;wBACvE,qCAAqC;wBACrC,EAAE,EAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACtB,eAAa,GAAE,eAAa,CAAC,MAAM,CAAC,KAAK,CAAC,eAAa,EAAE,SAAS,CAAC,CAAC;4BACpE,qCAAqC;wBACzC,CAAC;wBAED,IAAI,EAAC;4BACF,IAAI,KAAK,GAAQ,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI;gCACnC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI;oCAC7C,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;gCAChC,CAAC,CAAC,CAAC;4BACP,CAAC,CAAC,CAAC;4BACX,eAAa,GAAE,eAAa,CAAC,MAAM,CAAC,KAAK,CAAC,eAAa,EAAE,KAAK,CAAC,CAAC;4BAChE,wCAAwC;wBAE5C,CAAC;oBACL,CAAC;gBAEL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,eAAa,CAAC,MAAM,GAAC,CAAC,GAAG,eAAa,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,OAAO,IAAE,GAAG,EAAjB,CAAiB,CAAC,GAAG,EAAE,CAAC;QAEvF,CAAC;QACD,IAAI,CAAC,CAAC;YACF,MAAM,CAAC,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IACD,iFAAiF;IACjF,mCAAmC;IACnC,2GAA2G;IAC3G,yCAAyC;IACzC,sDAAsD;IACtD,qCAAqC;IACrC,2BAA2B;IAE3B,YAAY;IACZ,SAAS;IACT,wCAAwC;IACxC,wBAAwB;IACxB,0EAA0E;IAC1E,yDAAyD;IACzD,oDAAoD;IACpD,8DAA8D;IAC9D,uDAAuD;IACvD,+BAA+B;IAC/B,YAAY;IACZ,+CAA+C;IAE/C,yDAAyD;IACzD,oCAAoC;IAEpC,4BAA4B;IAC5B,uDAAuD;IACvD,kDAAkD;IAClD,uCAAuC;IACvC,YAAY;IACZ,WAAW;IACX,4BAA4B;IAC5B,sBAAsB;IAEtB,QAAQ;IACR,aAAa;IACb,qBAAqB;IACrB,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,mBAAmB;IACnB,QAAQ;IACR,IAAI;IAGJ,uDAAkB,GAAlB,UAAmB,QAAQ;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,IAAG,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,CAAC,CAAC;IAC5I,CAAC;IACJ,qCAAqC;IACrC,6CAA6C;IAC7C,iEAAiE;IACjE,QAAQ;IACR,YAAY;IACZ,qCAAqC;IACrC,QAAQ;IACR,OAAO;IAEP,+DAA0B,GAA1B,UAA2B,CAAC,EAAE,CAAC,EAAE,OAAO;QAEpC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;YAC1D,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,sEAAiC,GAAjC,UAAkC,CAAC,EAAE,CAAC,EAAE,OAAO;QAE3C,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC,GAAG,kEAAkE,CAAC;YACrH,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,CAAC;YACF,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACzD,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,2DAAsB,GAAtB,UAAuB,KAAU;QAE7B,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;YACrD,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YACnG,oBAAoB,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEtC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;YACjD,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YACnG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAG7D,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,eAAe,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC7C,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YAC7F,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,eAAe,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YACzC,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YAC7F,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,iBAAiB,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC/C,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACnG,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,iBAAiB,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC3C,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACnG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,cAAc,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC5C,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAChG,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,cAAc,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YACxC,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAChG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,4EAA4E;QAC5E,4FAA4F;QAC5F,mCAAmC;QACnC,kCAAkC;QAClC,IAAI;QACJ,kFAAkF;QAClF,gGAAgG;QAChG,2DAA2D;QAC3D,IAAI;QACJ,kEAAkE;QAClE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChZ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC/O,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACrP,iDAAiD;QAEjD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;QAC5Z,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAGpZ,EAAE,EAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,IAAE,SAAS,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAE,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAG,IAAI,CAAC,iBAAiB,IAAE,SAAS,IAAK,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAE,SAAS,CAAC,EAAC;YACvP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC5B,CAAC;IACL,CAAC;IAGD,gEAA2B,GAA3B,UAA4B,UAAe,EAAE,QAAQ;QACjD,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;QACxF,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAEA,wBAAwB;IACxB,yDAAoB,GAApB,UAAqB,UAAe,EAAE,QAAQ;QAC3C,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;QAEzF,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,4DAAuB,GAAvB,UAAwB,UAAe,EAAE,QAAQ;QAC7C,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;QAE5F,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IACD,2BAA2B;IAC3B,sDAAiB,GAAjB,UAAkB,UAAe,EAAE,QAAQ;QACvC,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;QAE3F,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAGD,0DAAqB,GAArB,UAAsB,IAAI,EAAC,aAAa,EAAC,KAAK;QAC1C,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBAEd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YAC3F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;IACL,CAAC;IAEG,0CAA0C;IAC1C,uDAAkB,GAAlB,UAAmB,KAAK,EAAC,GAAG;QACxB,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;QAClE,KAAK,IAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACnL,CAAC;IAEH,sDAAiB,GAAjB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnE,CAAC,CAAC;IACP,CAAC;IACD,6CAAQ,GAAR,UAAS,KAAU;QACf,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK,EAAE,GAAG;QAC1B,IAAI,kBAAkB,GAAG,KAAK,CAAC,gCAAgC,IAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC3H,IAAI,gBAAgB,GAAG,KAAK,CAAC,yBAAyB,IAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3G,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;QAClE,EAAE,EAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC;YAC5C,2FAA2F;YAC3F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC;QAC7E,CAAC;QACD,cAAc;QACd,0BAA0B;QAC1B,kGAAkG;QAClG,8GAA8G;QAC9G,0EAA0E;QAC1E,IAAI;IACR,CAAC;IACA,gEAAgE;IAChE,uDAAkB,GAAlB,UAAmB,EAAE;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,CAAC,UAAU,IAAI,EAAE,EAAtB,CAAsB,CAAC,CAAC;QAExE,MAAM,CAAC,uDAAuD,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7F,oCAAoC;IACxC,CAAC;IACD,yDAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC,EAAC,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,KAAK,CAAC;QAEnE,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAEzF,8CAA8C;QAC9C,0BAA0B;QAC1B,iEAAiE;QACjE,sEAAsE;QACtE,uEAAuE;QAEvE,IAAI;QACJ,SAAS;QACT,wGAAwG;QACxG,sEAAsE;QACtE,0EAA0E;QAC1E,2EAA2E;QAE3E,eAAe;QACf,0CAA0C;QAC1C,yCAAyC;QACzC,4EAA4E;QAC5E,oGAAoG;QACpG,QAAQ;QACR,IAAI;IAER,CAAC;IAID,mDAAc,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,2BAA2B;YAC1B,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,gBAAgB,EAAC,CAAC,EAAE,CAAC;YACrB,gCAAgC,EAAC,CAAC,EAAE,CAAC;YACrC,iCAAiC,EAAC,CAAC,EAAE,CAAC;YACtC,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACxC;;0FAE8E;SAChF,CAAC,CAAC;IACP,CAAC;IACD,uDAAkB,GAAlB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,kBAAkB,EAAC,CAAC,EAAE,CAAC;YACvB,4BAA4B,EAAC,CAAC,EAAE,CAAC;YACjC,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,4BAA4B,EAAC,CAAC,EAAE,CAAC;YACjC,gBAAgB,EAAC,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;IACP,CAAC;IACD,2DAAsB,GAAtB,UAAuB,OAAO;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7F,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,YAAY,EAAC,CAAC,OAAO,CAAC,YAAY,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IACD,0DAAqB,GAArB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,WAAW,EAAE,CAAC,EAAE,CAAC;SACpB,CAAC,CAAC;IACP,CAAC;IACD,yDAAoB,GAApB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClE,CAAC,CAAC;IACP,CAAC;IACD,uDAAkB,GAAlB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,WAAW,EAAC,CAAC,EAAE,CAAC;YACjB,0BAA0B;YAC1B,2CAA2C;YAC1C,wCAAwC;YACxC,+CAA+C;SAClD,CAAC;IACN,CAAC;IACD,mDAAc,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,SAAS,EAAC,CAAC,EAAE,CAAC;YACd,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,UAAU,EAAC,CAAC,EAAE,CAAC;SAClB,CAAC;IACN,CAAC;IACD,iDAAY,GAAZ;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,SAAS,EAAC,CAAC,EAAE,CAAC;YACd,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,UAAU,EAAC,CAAC,EAAE,CAAC;SAClB,CAAC;IACN,CAAC;IACD,mDAAc,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC;IACP,CAAC;IACD,mDAAc,GAAd;QACI,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QACnB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QACnB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjE,KAAK,CAAC,eAAe,EAAE;QACxB,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAEpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,0DAAqB,GAArB,UAAsB,KAAK;QACvB,KAAK,CAAC,eAAe,EAAE;QACvB,IAAM,OAAO,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACjF,IAAI,MAAM,GAAC,OAAO,CAAC,MAAM;QACzB,IAAI,CAAC,IAAI,GAAC,MAAM;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,6DAAwB,GAAxB,UAAyB,KAAK;QAC1B,IAAM,OAAO,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAClF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,yDAAoB,GAApB,UAAqB,KAAK;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,yDAAoB,GAApB;QACI,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACnG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,wDAAmB,GAAnB,UAAoB,KAAK;QACrB,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACnG,EAAE,EAAC,oBAAoB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC9B,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,EAAC;YACD,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACL,CAAC;IACD,kDAAa,GAAb;QACI,IAAI,aAAa,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAC3F,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,iDAAY,GAAZ,UAAa,KAAK;QACd,IAAI,aAAa,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAC3F,EAAE,EAAC,aAAa,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACvB,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,EAAC;YACD,aAAa,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IACD,qDAAgB,GAAhB;QACI,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QACnG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,oDAAe,GAAf,UAAgB,KAAK;QACjB,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QACnG,EAAE,EAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,CAAC;QACD,IAAI,EAAC;YACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,2DAAsB,GAAtB;QACI,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAChG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,0DAAqB,GAArB,UAAsB,KAAK;QACvB,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAChG,EAAE,EAAC,cAAc,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACxB,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,EAAC;YACD,cAAc,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IACD,2BAA2B;IAC3B,4FAA4F;IAC5F,uDAAuD;IACvD,IAAI;IACJ,sDAAiB,GAAjB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,YAAY,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/D,CAAC,CAAC;IACP,CAAC;IAED,iDAAY,GAAZ,UAAa,MAAM,EAAC,IAAI;QACpB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IAGL,CAAC;IACD,gDAAW,GAAX,UAAY,MAAM,EAAC,MAAM,EAAC,IAAI;QAC1B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,uDAAkB,GAAlB,UAAmB,MAAM,EAAC,IAAI;QAC1B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;IACD,sDAAiB,GAAjB,UAAkB,MAAM,EAAC,MAAM,EAAC,IAAI;QAChC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,4BAA4B;IAC5B,0DAAqB,GAArB,UAAsB,MAAM,EAAC,IAAI;QAC7B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IAEL,CAAC;IACD,yBAAyB;IACzB,yDAAoB,GAApB,UAAqB,MAAM,EAAC,MAAM,EAAC,IAAI;QACnC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IACG,4BAA4B;IAC5B,wDAAmB,GAAnB,UAAoB,MAAM,EAAC,IAAI;QAC3B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YAC3F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YAC3F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;IAEA,0BAA0B;IAE/B,uDAAkB,GAAlB,UAAmB,MAAM,EAAC,MAAM,EAAC,IAAI;QACjC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YACxF,OAAO,GAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,QAAQ,GAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YACzF,QAAQ,GAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc;YAClF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,iDAAY,GAAZ;QACI,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,oDAAe,GAAf,UAAgB,KAAK;QACjB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED,oDAAe,GAAf,UAAgB,KAAK;QAArB,iBAKC;QAJG,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAM;YACtB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IACD,6DAAwB,GAAxB,UAAyB,IAAI;QACzB,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC,EAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,uCAAuC,EAAE,CAAC,EAAE,CAAC;gBAC7C,UAAU,EAAC,CAAC,EAAE,CAAC;gBACf,qBAAqB,EAAE,CAAC,EAAE,CAAC;aAC9B,CAAC;QACN,CAAC;QACD,IAAI,EAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,uCAAuC,EAAE,CAAC,IAAI,CAAC,uCAAuC,CAAC;gBACvF,UAAU,EAAC,CAAC,EAAE,CAAC;gBACf,qBAAqB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;aACtD,CAAC;QACN,CAAC;IACL,CAAC;IAEQ,qDAAgB,GAAvB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,QAAQ,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,kBAAkB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,SAAS,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,uBAAuB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,UAAU,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC9D,CAAC,CAAC;IACP,CAAC;IAED,kDAAa,GAAb;QAAA,iBA4MC;QA1MG,EAAE,EAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAC;YAC5B,IAAI,SAAO,GAAmB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrE,IAAI,QAAQ,GAAkB,SAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAElD,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC;YACpD,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC3D,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAGlD,qDAAqD;YACrD,yDAAyD;YACzD,yEAAyE;YACzE,0EAA0E;YAC1E,kEAAkE;YAElE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnD,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,eAAe,EAAE,CAAC;YACxE,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/E,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnE,QAAQ,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEpE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,eAAe,EAAE,CAAC;YACjE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACxE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,iFAAiF;YACjF,qFAAqF;YACrF,4FAA4F;YAC5F,iFAAiF;YACjF,IAAI;QAER,CAAC;QACD,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,OAAO,CAAC,CAAC;QACnC,sCAAsC;QACtC,mDAAmD;QACnD,yBAAyB;QACzB,MAAM;QACN,KAAK;QAEP,IAAI,MAAM,GAAQ,EAAE,CAAC;QAErB,IAAI,MAAW,CAAC;QAChB,2FAA2F;QAC3F,IAAI,OAAW,CAAC;QACjB,uCAAuC;QACvC,gCAAgC;QAChC,qCAAqC;QACpC,OAAO,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAEhC,4CAA4C;QAC5C,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,gBAAgB,CAAC;QACpC,CAAC;QACF,wDAAwD;QACzD,EAAE,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAK,GAAQ,CAAC,CAAC;YACnB,EAAE,EAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAO;oBAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oBACpB,OAAK,IAAE,OAAO,CAAC,YAAY;gBAC/B,CAAC,CAAC;YACN,CAAC;YACD,EAAE,EAAC,OAAK,IAAE,GAAG,CAAC,EAAC;gBACX,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,CAAC;gBACvE,yDAAyD;gBACzD,wCAAwC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACzC,qEAAqE;gBACnE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACvC,qCAAqC;gBACtC,6DAA6D;gBAC3D,MAAM;YACV,CAAC;QACD,CAAC;QACC,IAAI,cAAc,GAAY,CAAC,CAAC;QAEhC,kDAAkD;QAClD,EAAE,EAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAElD,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACrD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAG,cAAc,CAAC,EAAC;oBACtC,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACnF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACjF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QAGP,CAAC;QAED,oDAAoD;QACpD,EAAE,EAAC,OAAO,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAEtD,OAAO,CAAC,kCAAkC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACzD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,EAAC;oBACvC,IAAI,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACtF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACpF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACD,CAAC,CAAC,CAAC;QAEP,CAAC;QAED,iDAAiD;QACjD,EAAE,EAAC,OAAO,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAEnD,OAAO,CAAC,+BAA+B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACtD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,EAAC;oBACvC,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACnF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACjF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACD,CAAC,CAAC,CAAC;QAEP,CAAC;QAGD,mDAAmD;QACnD,EAAE,EAAC,OAAO,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAErD,OAAO,CAAC,iCAAiC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACxD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,EAAC;oBAEvC,IAAI,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACrF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACnF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACD,CAAC,CAAC,CAAC;QAEP,CAAC;QAED,2EAA2E;QAC3E,EAAE,EAAC,cAAc,GAAG,CAAC,CAAC,EAAC;YACnB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mDAAmD,CAAC,CAAC;YACpF,MAAM,CAAC;QACX,CAAC;QAED,OAAO,CAAC,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,YAAY,IAAE,CAAC,EAArB,CAAqB,CAAC,CAAC;QACrH,EAAE,EAAC,OAAO,CAAC,oBAAoB,CAAC,EAAC;YAC/B,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAK;gBACvC,OAAO,KAAK,CAAC,UAAU;YAC1B,CAAC,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,sEAAsE;QACtE,gHAAgH;QAChH,kHAAkH;QAClH,gHAAgH;QAChH,wDAAwD;QACxD,wDAAwD;QACxD,qEAAqE;QACrE,6EAA6E;QAC7E,+CAA+C;QAC/C,8EAA8E;QAC9E,gDAAgD;QAChD,oBAAoB;QACpB,gBAAgB;QAChB,sDAAsD;QACtD,mEAAmE;QACnE,6EAA6E;QAC7E,8EAA8E;QAC9E,oBAAoB;QACpB,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,IAAI;QACJ,kCAAkC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACG,KAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;gBACtC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACX,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACR,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACC,uDAAkB,GAAlB;QAAA,iBA8EC;QA5EC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9C,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAElC,IAAI,QAAa,CAAC;YAClB,IAAM,KAAK,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnE,IAAM,MAAM,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjE,IAAM,QAAQ,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEpE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,QAAQ,SAAK,CAAC;gBAClB,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACvE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACrE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,IAAI,eAAe,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACzF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,IAAI,QAAM,GAAQ,EAAE,CAAC;gBACrB,IAAI,eAAa,GAAO,EAAE,CAAC;gBAC3B,eAAe,CAAC,OAAO,CAAC,aAAG;oBACvB,QAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACxB,eAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,eAAa,CAAC;gBACnC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,UAAU,CAAC,OAAO,CAAC,eAAK;wBACpB,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBAEP,CAAC;gBACD,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,WAAW,CAAC,OAAO,CAAC,eAAK;wBACrB,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC;oBAC1C,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACC,QAAQ,CAAC,OAAO,CAAC,eAAK;wBAClB,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACX,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,QAAQ,GAAG,CAAC,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAC9C,WAAW,CAAC,gBAAgB,GAAI,EAAE,CAAC;gBACvC,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAC9C,WAAW,CAAC,SAAS,GAAI,EAAE,CAAC;gBAChC,CAAC;gBACD,WAAW,CAAC,uBAAuB,GAAI,QAAM,CAAC;gBAC9C,WAAW,CAAC,IAAI,GAAI,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACzC,WAAW,CAAC,MAAM,GAAI,KAAI,CAAC,MAAM,CAAC;gBAClC,WAAW,CAAC,YAAY,GAAI,KAAI,CAAC,KAAK,CAAC;gBACvC,WAAW,CAAC,WAAW,GAAI,UAAU,CAAC;gBACtC,WAAW,CAAC,QAAQ,GAAI,WAAW,CAAC;gBACpC,WAAW,CAAC,SAAS,GAAI,QAAQ,CAAC;gBAElC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACzC,CAAC;QAEL,CAAC,CAAC,CAAC;IACH,CAAC;IACD,4CAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,4CAAO,GAAP,UAAQ,CAAC,EAAC,IAAI;QACV,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC;QACV,CAAC;IACF,CAAC;IAMD,gDAAW,GAAX,UAAY,KAAK,EAAC,UAAU,EAAC,KAAK;QAC9B,uBAAuB;QAC1B,IAAM,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QAC7F,IAAM,YAAY,GAAc,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAG1D,0CAA0C;QAG1C,+DAA+D;QAE/D,MAAM;QAMN,EAAE,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAC;YAC5B,sBAAsB;YACzB,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAC7C,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAClD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;QACD,CAAC;QAAA,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,IAAI,UAAU,IAAI,WAAW,CAAC,EAAC;YAC/D,uBAAuB;YACtB,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAEF,EAAE,EAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAC;YACrB,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAClD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,EAAC;YACvD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,EAAE,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAC;YACxB,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAC7C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAClD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAC;YACzD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,EAAE,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAC;YAEjB,EAAE,EAAC,UAAU,IAAI,YAAY,IAAI,KAAK,IAAI,MAAM,CAAC,CACjD,CAAC;gBACG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,YAAY,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBACnD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QAET,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,YAAY,CAAC,EAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAEnG,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAErF,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAE3F,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAGvF,IAAI,cAAc,GAAG,yBAAyB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,mBAAmB,CAAE;QAGnH,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAE;QACtD,gCAAgC;QAC/B,6BAA6B;IAEjC,CAAC;IACD,iEAA4B,GAA5B,UAA6B,CAAC,EAAE,IAAI;QAEhC,CAAC,IAAI,KAAK;cACJ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC;cACvE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAE5D,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,IAAI,KAAK;kBACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;kBAC1D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;IAEL,CAAC;IACD,4DAAuB,GAAvB,UAAwB,CAAC,EAAC,IAAI;QAE1B,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QACzF,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAE3E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,EAAE,EAAC,CAAC,GAAG,CAAE,CAAC,EAAC;YACP,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;gBACZ,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,IAAG,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;gBACf,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,IAAG,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;QACL,CAAC;IACN,CAAC;IACD,8CAAS,GAAT,UAAU,OAAW,EAAC,CAAQ,EAAC,MAAM;QAArC,iBA4BK;QA1BC,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;YACpB,4EAA4E;YAC7E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;iBACxC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;YACxB,yBAAyB;YACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY;iBACzC,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACT,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YAEzD,CAAC,CAAC;QACN,CAAC;QACD,6CAA6C;QAC7C,EAAE,EAAC,MAAM,IAAI,MAAM,CAAC,EAAC;YACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;YAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY;iBAC1C,IAAI,CAAC,iEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,CAAC;gBACP,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAI,CAAC,QAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,EAAC,MAAM,CAAC;YACtG,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IACD,+CAAU,GAAV,UAAW,GAAQ,EAAE,CAAS;QAC3B,gBAAgB;QACjB,iCAAiC;QACjC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM;QACR,CAAC;QACD,IAAI,WAAW,GAAG,GAAG;QACrB,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAC7C,MAAM;QACR,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE;QACzC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC,CAAC,EAApD,CAAoD,CAAC;QAEtF,uDAAuD;QACxD,yCAAyC;QACxC,0BAA0B;QAC1B,8FAA8F;QAC9F,IAAI;IAEN,CAAC;IACD,gDAAW,GAAX,UAAY,GAAQ;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,MAAM;QACR,CAAC;QACD,IAAI,SAAS,GAAG,GAAG;QACnB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC/C,MAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE;QACrC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAApD,CAAoD,CAAC,CACnF;IACH,CAAC;IAEN,iBAAiB;IACjB,gDAAW,GAAX;QAAA,iBAeE;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,MAAM,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAChH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,+CAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,wDAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,8CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,uDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,4CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,8CAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,MAAM;YACpB,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA3kE0B;QAA1B,yEAAS,CAAC,cAAc,CAAC;kCAAa,iEAAU;mEAAA;IAhDxC,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mMA6D4B,CAA0C;YACzD,gHAAgC,qEAAa;YACzC,uLAAmC,EAAyC;YAC3E,eAAe,EAAwB,MAAc;OA/D5D,0BAA0B,CAioEtC;IAAD,CAAC;AAAA;SAjoEY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzB0B;AACR;AAC0B;AACP;AACwB;AACvB;AACF;AAEA;AACE;AAC7E;;;;;GAKG;AAOH;IA+CE,sCAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAsB,EAAQ,EAAc,EAAQ,OAAgC,EACpF,IAAsB,EAAQ,KAAmB,EAAS,OAAuB,EAChF,cAA6B;QAHpB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAmB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QACpF,SAAI,GAAJ,IAAI,CAAkB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAS,YAAO,GAAP,OAAO,CAAgB;QAChF,mBAAc,GAAd,cAAc,CAAe;QAjDvC,gBAAW,GAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAElC,0BAAqB,GAAI,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,KAAK,EAAC;YACnC,EAAC,OAAO,EAAE,IAAI,EAAC,WAAW,EAAE,IAAI,EAAC;YACjC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;QASpE,sBAAiB,GAAK,EAAE,CAAC;QACzB,yBAAoB,GAAK,EAAE,CAAC;QAC5B,mBAAc,GAAK,EAAE;QACrB,0BAAqB,GAAK,EAAE,CAAC;QAC7B,qBAAgB,GAAK,EAAE;QAMvB,qBAAgB,GAAM,EAAE,CAAC;QACzB,sBAAiB,GAAM,EAAE,CAAC;QAC1B,iBAAY,GAAM,EAAE,CAAC;QACrB,oBAAe,GAAS,EAAE;QAC1B,mBAAc,GAAK,EAAE;QAMrB,6BAAwB,GAAO,EAAE,CAAC;QAClC,mCAA8B,GAAO,EAAE,CAAC;QACxC,2BAAsB,GAAa,KAAK,CAAC;QACzC,iBAAY,GAAY,KAAK,CAAC;QACvB,mBAAc,GAAG,EAAE,CAAC;QAC3B,YAAO,GAAM,EAAE,CAAC;QAChB,WAAM,GAAM,EAAE,CAAC;QACf,wBAAmB,GAAM,EAAE,CAAC;QAG5B,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAM,GAAG,CAAC;QAyJb,kBAAa,GAAS,KAAK;QAjJzB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC9D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,GAAE,IAAI,CAAC,SAAS,CAAE;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QACtD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE;IAOxB,CAAC;IAED,qDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;QACjB,mBAAmB;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,iDAAU,GAAV;QAAA,iBAoEC;QAnEC,IAAI,MAAM,GAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,UAAU,GAAC,GAAG;QAErB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7C,IAAM,OAAO,GAAa,KAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YAC/F,EAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAGzB,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,GAAG;wBACzC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC;wBAC3B,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;4BACvD,EAAE,EAAC,GAAG,CAAC,UAAU,IAAG,IAAI,CAAC,EAAC;gCACxB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;gCACxB,KAAI,CAAC,OAAO,GAAC,GAAG,CAAC,OAAO,CAAC,MAAM;gCAC/B,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;gCAClC,IAAI,mBAAmB,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,EAA5C,CAA4C,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjH,IAAI,aAAa,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClG,IAAI,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC;gCACnF,IAAI,eAAe,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAlC,CAAkC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEnG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gCACjB,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;gCACvG,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,YAAY,CAAC,SAAS,GAAG,GAAG,GAAC,aAAa,CAAC,IAAI,GAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gCAGxK,mHAAmH;gCACnH,8BAA8B;gCAC9B,0GAA0G;gCAE1G,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,wCAAwC,GAAC,WAAW,GAAC,mBAAmB,CAAC;gCACrG,mCAAmC;gCACrC,IAAI,YAAY,GAAG,KAAK,GAAC,OAAO,GAAC,KAAK,GAAC,WAAW,CAAE;gCACpD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,YAAY,CAAC;gCAC9B,IAAI,MAAM,GAAC;oCACT,aAAa,EAAC,YAAY;oCAC1B,cAAc,EAAE,EAAE;oCAClB,cAAc,EAAE,EAAE;oCAClB,6BAA6B,EAAE,EAAE;oCACjC,sBAAsB,EAAE,EAAE;oCAC1B,0BAA0B,EAAE,EAAE;oCAC9B,iCAAiC,EAAE,EAAE;oCACrC,uBAAuB,EAAE,EAAE;oCAC3B,2BAA2B,EAAE,EAAE;oCAC/B,0BAA0B,EAAE,EAAE;oCAC9B,gCAAgC,EAAE,EAAE;oCACpC,gBAAgB,EAAE,EAAE;oCACpB,sBAAsB,EAAE,EAAE;oCAC1B,YAAY,EAAE,EAAE;iCACjB;gCACD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;4BACzD,CAAC;wBACH,CAAC,CAAC;oBAEE,CAAC,CAAC;gBAEF,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC3C,CAAC;QACD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAW,GAAX;QAAA,iBA8CC;QA7CC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACtD,KAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,cAAI;YACA,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,SAAS,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YACpD,KAAI,CAAC,aAAa,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,IAAI,IAAE,CAAC,EAA9B,CAA8B,CAAC,CAAC;QAEjF,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC;QAClE,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5E,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBAClB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAE,IAAI,EAAnB,CAAmB,CAAC,CAAC;YAEzE,CAAC;YAED,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC3B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YACzF,CAAC;YACD,IAAI,mBAAmB,GAAM,EAAE,CAAC;YAChC,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAC7B,mBAAmB,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE3F,CAAC;QACP,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAChD,KAAI,CAAC,mBAAmB,GAAI,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAE;QAC5E,CAAC,CAAC;IAIJ,CAAC;IAED,iDAAU,GAAV;QAAA,iBA6CA;QA5CE,IAAI,MAAM,GAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QACjC,MAAM,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU;QACjC,MAAM,CAAC,UAAU,GAAC,EAAE;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAE3B,8BAA8B;gBAC/B;;;;;;;;;;;;;;;;;;;;;mBAqBG;gBACH,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YAGC,IAAI,EAAC;gBACH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,KAAI,CAAC,aAAa,GAAC,IAAI;QAGzB,CAAC,CAAC;QACF,0BAA0B;IAE7B,CAAC;IAEA,mDAAY,GAAZ,UAAa,IAAI;QACf,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC,EAAC;YACb,IAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,oBAAoB;gBACpB,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAClC,UAAU,EAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAEzB,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,wCAAwC;gBAC1C,uBAAuB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACtC,IAAI,CAAC,mBAAmB,EAAE;iBAC3B,CAAC;gBACF,2BAA2B,EAAC,CAAC,EAAE,CAAC;aACjC,CAAC,CAAC;YACN,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,EAAC;YAEH,IAAI,KAAK,GAAC,IAAI,CAAC;YACf,IAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,oBAAoB;gBACpB,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAClC,UAAU,EAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,yCAAyC;gBACzC,yCAAyC;gBACzC,uEAAuE;gBACvE,yDAAyD;gBACzD,iEAAiE;gBACjE,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,uBAAuB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,2BAA2B,EAAC,CAAC,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC;aACtE,CAAC,CAAC;YACL,oFAAoF;YAEpF,2EAA2E;YAC3E,MAAM;YACN,WAAW;YACX,uGAAuG;YACvG,2DAA2D;YAC3D,YAAY;YACZ,0EAA0E;YAC1E,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpE,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACpE,CAAC;QAEF,IAAI,CAAC,WAAW,GAAC,IAAI;IACvB,CAAC;IAED,0DAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAEnC,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,6BAA6B,EAAC,CAAC,EAAE,CAAC;YAClC,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAE/B,iCAAiC,EAAE,CAAC,EAAE,CAAC;YACvC,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,2BAA2B,EAAC,CAAC,EAAE,CAAC;YAChC,0BAA0B,EAAE,EAAE;YAC9B,gCAAgC,EAAE,EAAE;YACpC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,sBAAsB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACzF,YAAY,EAAE,CAAC,EAAE,CAAC;SAEnB,CAAC;IACJ,CAAC;IACD,mDAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,uBAAuB,EAAE,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,uDAAgB,GAAhB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IACD,4EAAqC,GAArC;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,qEAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,qBAAqB,EAAG,CAAC,EAAE,CAAC;YAC5B,oBAAoB,EAAG,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAEC,wEAAwE;IACxE,sDAAe,GAAf,UAAgB,CAAC;QAEf,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE7C,CAAC;IACD,mFAAmF;IACnF,0DAAmB,GAAnB,UAAoB,CAAS;QAE3B,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC5F,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExB,CAAC;IAED,qEAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,6BAA6B,EAAC,CAAC,EAAE,CAAC;YAClC,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAE/B,iCAAiC,EAAE,CAAC,EAAE,CAAC;YACvC,uBAAuB,EAAE,CAAC,EAAE,CAAC;YAC7B,2BAA2B,EAAE,CAAC,EAAE,CAAC;YACjC,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,gCAAgC,EAAE,CAAC,EAAE,CAAC;YACtC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,sBAAsB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1F,YAAY,EAAE,CAAC,EAAE,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAEC,yDAAkB,GAAlB,UAAmB,CAAM,EAAE,CAAM;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAC;QACV,IAAM,GAAG,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QACvI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC7I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;gBACpD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,KAAG,GAAG,CAAC,CAAC;gBACZ,IAAM,OAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,KAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACR,CAAC;YAED,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,2DAAoB,GAApB,UAAqB,IAAI;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/C,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,+DAAwB,GAAxB,UAAyB,IAAI;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YACjC,kBAAkB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,oFAA6C,GAA7C,UAA8C,IAAI;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IACD,6EAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,oBAAoB,EAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAGD,kEAA2B,GAA3B,UAA4B,IAAI;QAAhC,iBAsDC;QArDC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;gBAC1B,4DAA4D;gBAC9D,+CAA+C;gBAC9C,iDAAiD;gBACjD,EAAE,EAAC,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,IAAG,EAAE,CAAC,EAAC;oBAC1D,IAAI,QAAQ,GAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC9C,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAC,wCAAwC,GAAC,QAAQ,GAAC,mBAAmB,CAAC;gBACpG,CAAC;gBACA,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACzG,KAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACnH,IAAI,WAAW,GAAG,CAAC,CAAC;gBAEpB,EAAE,EAAC,KAAK,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAChD,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,gBAAM;wBAC7C,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;4BACzC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;wBAC1B,CAAC;oBACH,CAAC,CAAC,CAAC;gBACH,CAAC;gBACD,KAAI,CAAC,sBAAsB,GAAG,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAI,GAAG;gBAEV,IAAI,IAAI,GAAG;oBACT,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,6BAA6B,EAAC,GAAG,CAAC,6BAA6B;oBAC/D,sBAAsB,EAAC,GAAG,CAAC,sBAAsB;oBACjD,0BAA0B,EAAC,GAAG,CAAC,0BAA0B;oBAEzD,iCAAiC,EAAE,GAAG,CAAC,iCAAiC;oBACxE,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;oBACpD,2BAA2B,EAAE,GAAG,CAAC,2BAA2B;oBAC5D,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;oBAC1D,gCAAgC,EAAE,GAAG,CAAC,gCAAgC;oBACtE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;oBAClD,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAC;gBACF,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBAChG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC;aACjE;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,uEAAgC,GAAhC,UAAiC,SAAS;QAA1C,iBAsCC;QArCC,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YAChD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,EAAE,EAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;gBACzB,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;gBACzG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YACH,GAAG,EAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAI,GAAG;gBACT,IAAI,QAAQ,GAAC;oBACX,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;oBAE9C,cAAc,EAAC,GAAG,CAAC,aAAa;oBAChC,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,6BAA6B,EAAC,GAAG,CAAC,6BAA6B;oBAC/D,sBAAsB,EAAC,GAAG,CAAC,sBAAsB;oBACjD,0BAA0B,EAAC,GAAG,CAAC,0BAA0B;oBAEzD,iCAAiC,EAAE,GAAG,CAAC,iCAAiC;oBACxE,uBAAuB,EAAC,GAAG,CAAC,uBAAuB;oBACnD,2BAA2B,EAAC,GAAG,CAAC,2BAA2B;oBAC3D,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;oBAC1D,gCAAgC,EAAE,GAAG,CAAC,gCAAgC;oBACtE,sBAAsB,EAAE,GAAG,CAAE,sBAAsB;oBACnD,gBAAgB,EAAG,GAAG,CAAC,gBAAgB;oBACvC,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAC;gBACF,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;gBAC5F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/G;QAEH,CAAC;QACD,IAAI,CAAC,WAAW,GAAC,IAAI;IACvB,CAAC;IAED,6EAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,6BAA6B,EAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAClE,sBAAsB,EAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpD,0BAA0B,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAE5D,iCAAiC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC;YAC3E,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACvD,2BAA2B,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC;YAC/D,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,gCAAgC,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC;YACzE,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,sBAAsB,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnH,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,kEAA2B,GAA3B,UAA4B,IAAI;QAG9B,IAAI,SAAS,GAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,oBAAoB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAEjD,cAAc,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,6BAA6B,EAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAClE,sBAAsB,EAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpD,0BAA0B,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAE5D,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,iCAAiC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC;YAC3E,uBAAuB,EAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACxD,2BAA2B,EAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;YAC9D,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,gCAAgC,EAAC,CAAC,IAAI,CAAC,gCAAgC,IAAI,EAAE,CAAC;YAC9E,mCAAmC;YACnC,gBAAgB,EAAE,CAAC,IAAI,CAAE,gBAAgB,CAAC;YAC1C,sBAAsB,EAAE,CAAC,IAAI,CAAE,sBAAsB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnH,yCAAyC;YACzC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IACD,uEAAgC,GAAhC,UAAiC,mBAAuB,EAAC,KAAS,EAAC,CAAK;QAAxE,iBAsDC;QApDC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAM,OAAO,GAAa,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QACzI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,yBAA6B,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,yBAAuB,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBACjL,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAuB,CAAC,CAAC,CAAC;gBACjE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,4BAAgC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,4BAA0B,GAAG,EAAE,4BAA4B,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,EAAE,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACtL,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,4BAA0B,CAAC,CAAC,CAAC;gBACxE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,2CAA+C,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,2CAAyC,GAAE,EAAE,qCAAqC,EAAE,KAAK,CAAC,mCAAmC,EAAE,CAAC;gBAClI,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,2CAAyC,CAAC,CAAC,CAAC;gBAC5G,KAAK,CAAC;YACR,CAAC;YAEH,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,aAAiB,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACzF,aAAW,GAAG;wBACZ,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,wDAAwD;wBACxD,sBAAsB,EAAE,KAAK,CAAC,oBAAoB;qBACrD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,aAAW,CAAC,CAAC,CAAC;gBACvE,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACD,CAAC;IAGD,iDAAU,GAAV,UAAW,CAAC;QACV,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;QAClC,8DAA8D;IAChE,CAAC;IAGD,2DAAoB,GAApB,UAAqB,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACrC,CAAC;IAGD,+CAAQ,GAAR;QAAA,iBAwBC;QAvBC,EAAE,EAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAC;YACtC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gCAAgC,CAAC;YAChE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,CAAC;QACT,CAAC;QAED,IAAI,UAAU,GAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAEjD,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAM,QAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAnD,CAAmD,CAAC,CAAC;QAE/F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,gBAAM;YAChD,EAAE,EAAC,MAAM,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;gBAC5D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACb,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;IAEL,CAAC;IACD,oCAAoC;IACpC,+DAAwB,GAAxB,UAAyB,KAAU,EAAE,UAAe,EAAE,IAAY;QAChE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC/F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC/F,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1M,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtO,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnG,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1M,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtO,CAAC;IACH,CAAC;IAGD,qDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAED,kBAAkB;IAClB,kDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IAGD,4DAAqB,GAArB,UAAsB,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;QAC3C,EAAE,EAAC,IAAI,IAAG,EAAE,CAAC,EAAC;YACZ,EAAE,EAAC,KAAK,IAAI,KAAK,CAAC,EAAC;gBACjB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;YAC5I,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,KAAK,IAAI,IAAI,CAAC,EAAC;gBACrB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/J,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;QACnJ,CAAC;QACG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBACzD,kIAAkI;gBAEjI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChK,kGAAkG;gBAClG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzJ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7J,kGAAkG;YACpG,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;gBAE9H,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,eAAe,EAAE,CAAC;gBAC7I,8EAA8E;gBAC9E,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;gBACtI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;gBAC1I,8EAA8E;YAChF,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC;YAErI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,sBAAsB,EAAE,CAAC;YACpJ,oFAAoF;YACpF,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,CAAC;YAC7I,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;YACjJ,oFAAoF;QAGtF,CAAC;QACD,iBAAiB;QACjB,cAAc;QACd,oFAAoF;QACpF,kEAAkE;QAClE,uEAAuE;QACvE,IAAI;QACJ,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;QACpE,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,aAAW,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACzC,aAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;YACP,EAAE,EAAC,aAAW,IAAI,CAAC,CAAC,EAAC;gBAEf,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC/B,CAAC;YAAA,IAAI,EAAC;gBAEA,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,eAAe,EAAE,CAAC;gBACjE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,sBAAsB,EAAE,CAAC;YAExE,aAAa;YACb,0FAA0F;YAC1F,wEAAwE;YACxE,2EAA2E;QAC7E,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC;kBACN,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBACrE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;QAC5D,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC;kBACN,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBACtE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;YAE3D,KAAK,IAAI,EAAE;kBACP,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBAC1E,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;QACjE,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;QACpE,CAAC;QACH,mBAAmB;QACnB,2BAA2B;QAC3B,oCAAoC;QACpC,wDAAwD;QAExD,uCAAuC;QACvC,cAAc;QACd,cAAc;QACd,6BAA6B;QAC7B,4BAA4B;QAE5B,iGAAiG;QACjG,gDAAgD;QAChD,aAAa;QAEb,yEAAyE;QACzE,8EAA8E;QAC9E,iDAAiD;QACjD,QAAQ;QAER,+EAA+E;QAE/E,MAAM;IAEN,CAAC;IACE,kCAAkC;IAClC,2DAAoB,GAApB,UAAqB,CAAC,EAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC3H,IAAI,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;QAGxI,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,IAAI,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAExD,EAAE,EAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC;YAC5D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3H,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/H,CAAC;QACD,IAAI,EAAC;YACD,EAAE,EAAC,IAAI,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAC9F,CAAC;gBACG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC;gBAC7D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3H,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE/H,CAAC;YAAA,IAAI,EAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrK,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7J,CAAC;QACL,CAAC;IACH,CAAC;IAED,iEAA0B,GAA1B,UAA2B,CAAC,EAAC,GAAG;QAE9B,EAAE,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC;YAC5D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/H,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;IAGD,8CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACX,KAAK,CAAC;gBACA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzE,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,KAAK,CAAC;YACZ,KAAK,EAAE;gBACD,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxF,KAAK,CAAC;YACZ;gBACM,KAAK,CAAC;QAEd,CAAC;IACH,CAAC;IACD,iBAAiB;IACjB,kDAAW,GAAX;QAAA,iBAeC;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,iDAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,0DAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,gDAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,yDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,8CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,gDAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YACjC,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAh8BwB;QAA1B,yEAAS,CAAC,cAAc,CAAC;kCAAa,iEAAU;qEAAA;IA1CtC,4BAA4B;QAJxC,wEAAS,CAAC;YACT,QAAQ,EAAE,kCAAkC;WACG;SAChD,CAAC;+KAgD4B,kHAA0C;YACzD,0FAAkB,wFAAsB,CAAgB,6FAAwB;YAC/E,2FAA4E;YACjE,cAAc;OAlD5B,4BAA4B,CA4+BxC;IAAD,CAAC;AAAA;SA5+BY,4BAA4B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBC;AACe;AACkB;AACM;AACmB;AACpG,qEAAqE;AACM;AACF;AAC1C;AAC4C;AACE;AAE7E;;;;;GAKG;AAOH;IA+BE,uCAAmB,OAAsB,EAAS,SAAoB,EAC7D,GAAuB,EAAQ,EAAc,EAAQ,OAAgC,EACrF,IAAsB,EAAQ,KAAmB,EAAS,OAAuB,EAChF,cAA6B;QAHpB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAC7D,QAAG,GAAH,GAAG,CAAoB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QACrF,SAAI,GAAJ,IAAI,CAAkB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAS,YAAO,GAAP,OAAO,CAAgB;QAChF,mBAAc,GAAd,cAAc,CAAe;QAlBzC,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAE5B,eAAU,GAAM,EAAE,CAAC;QACnB,kBAAa,GAAM,EAAE,CAAC;QACtB,kBAAa,GAAM,EAAE,CAAC;QAGtB,qBAAgB,GAAM,EAAE,CAAC;QACzB,sBAAiB,GAAM,EAAE,CAAC;QAC1B,wBAAmB,GAAK,EAAE;QAChB,eAAU,GAAG,IAAI,6CAAO,EAAQ,CAAC;QAE3C,gBAAW,GAAM,EAAE,CAAC;QACpB,QAAG,GAAS,GAAG,CAAC;QAKd,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAE9C,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACvE,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU;QAEzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,yBAAyB,GAAC,IAAI,CAAC,SAAS,CAAC,cAAc;QAC5D,IAAI,CAAC,wBAAwB,GAAC,IAAI,CAAC,SAAS,CAAC,cAAc;QAG3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAC,CAAC;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;YACA,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,mBAAmB,EAAC,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC;QAIH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAG9F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,sDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,iDAAS,GAAT,UAAU,OAAO;QACf,EAAE,EAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAC;YAC5B,MAAM;QACR,CAAC;QACD,IAAI,SAAS,GAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;QAClD,EAAE,EAAC,CAAC,SAAS,CAAC,EAAC;YACb,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YACpD,MAAM;QACR,CAAC;QACD,IAAI,EAAC;YACH,SAAS,GAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAC,CAAC,CAAC,EAAnD,CAAmD,CAAC;QAC/G,CAAC;IACH,CAAC;IACD,mDAAW,GAAX;QAAA,iBAwCC;QAtCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAG;YAEnD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,WAAW,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAClD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC7B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;gBACzE,KAAI,CAAC,mBAAmB,GAAC,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YACvD,CAAC;QACD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAEjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,EAApB,CAAoB,CAAC,EAAC,sCAAsC;YAEnH,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YAEzF,CAAC;QACH,CAAC,CAAC;QACA,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE1F,6EAA6E;QAC9E,CAAC;IACT,CAAC;IAED,kEAA0B,GAA1B,UAA2B,OAAO,EAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACtC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;YAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,sDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,mDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IACD,8DAAsB,GAAtB,UAAuB,KAAU,EAAC,CAAC;QAEjC,EAAE,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAE9B,oEAAoE;YAEpE,sDAAsD;YACtD,6DAA6D;QAEjE,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,CAAC;IAEL,CAAC;IACA,kCAAkC;IAClC,4DAAoB,GAApB,UAAqB,OAAO,EAAE,CAAC,EAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAG5C,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;QAE/C,IAAI,eAAe,GAAW,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,cAAc,GAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE/C,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;YAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE9C,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAC/F,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;gBAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAExC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IAGL,CAAC;IACK,qBAAqB;IACrB,+CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAED,6DAAqB,GAArB,UAAsB,KAAK,EAAC,IAAI,EAAC,IAAI;QAGrC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACZ,KAAK,IAAE,CAAC;kBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBAClE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QACD,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACV,KAAK,IAAE,CAAC;kBACF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBAC7D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC1D,CAAC;IAEH,CAAC;IAEH,sDAAc,GAAd,UAAe,IAAI;QAEjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,EAAE,CAAC;YAEpB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAClF,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,eAAe,EAAC,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,CAAC;SAEtB,CAAC,CAAC;IAEH,CAAC;IACD,sDAAc,GAAd,UAAe,KAAK,EAAC,KAAK;QACxB,qBAAqB;QAEnB,4BAA4B;QAC5B,IAAI;QACJ,iCAAiC;QACjC,IAAI;QAEH,KAAK,CAAC,eAAe,EAAE;QACvB,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAEpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAIxC,CAAC;IAED,yDAAiB,GAAjB;QAGE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;QAE9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,kDAAU,GAAV,UAAW,CAAC;QACV,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI;YAGD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,+CAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,yDAAiB,GAAjB;QAAA,iBAwCG;QAvCD,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,UAAU,EAAC;QACnG,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBACvE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAGzF,EAAE,EAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,EAAC;oBAErB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAAA,IAAI,CACL,CAAC;oBAEC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;wBAEvB,KAAK,CAAC,UAAU,GAAC,EAAE;wBACnB,KAAI,CAAE,sBAAsB,CAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;wBACvD,EAAE,EAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;4BAEtB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACtE,CAAC;wBACF,KAAI,CAAE,sBAAsB,CAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;wBACtD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC;oBAEF,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAA,IAAI,CACL,CAAC;gBAEA,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,kDAAU,GAAV,UAAW,UAAU;QAArB,iBA6BC;QA3BC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAO;YAClC,OAAO,OAAO,CAAC,UAAU;QAC1B,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,UAAU,CAAC;QAC9B,IAAI,OAAO,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9C,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAEzC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAClC,CAAC;gBACC,KAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;gBACnC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;YACjE,CAAC;QACC,CAAC,CAAC;IAEN,CAAC;IAEJ,iBAAiB;IACjB,mDAAW,GAAX;QAAA,iBAeA;QAdC,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAC,EAAE;QACpB,IAAI,cAAc,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC;gBACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAM;wBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAC,CAAC;oBACnG,CAAC,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IACD,kDAAU,GAAV,UAAW,KAAK,EAAC,KAAK,EAAC,GAAG;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IAErD,CAAC;IACD,2DAAmB,GAAnB,UAAoB,KAAK,EAAC,KAAK,EAAC,GAAG;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC;IACpD,CAAC;IACD,iDAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;IAClC,CAAC;IACD,+CAAO,GAAP;QAAA,iBAsBG;QArBD,oBAAoB;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;YACxB,EAAE,EAAC,GAAG,IAAI,OAAO,CAAC,EAAC;gBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;gBAC/C,qCAAqC;gBACpC,IAAI,OAAK,GAAE,KAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBAC1C,OAAK,CAAC,OAAO,EAAE;gBACf,OAAK,CAAC,YAAY,CAAC,eAAK;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,KAAK,CAAC,CAAC;oBACjC,EAAE,EAAC,KAAK,CAAC,EAAC;wBACR,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,IAAI,GAAC,KAAK,CAAC,IAAI;oBAC7D,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC,EAAC,eAAK;YACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC;IAGZ,CAAC;IACD,iDAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,GAAK;YACd,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC5B,QAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YACjC,QAAQ,EAAC,IAAI,CAAC,WAAW;YACzB,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU;SACvC;QACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;gBAC1D,KAAI,CAAC,WAAW,GAAC,EAAE;gBACnB,KAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA3bU,6BAA6B;QAJzC,wEAAS,CAAC;YACT,QAAQ,EAAE,mCAAmC;WACG;SACjD,CAAC;+KAgC4B,kHAA0C;YACxD,0FAAkB,wFAAsB,CAAgB,6FAAwB;YAChF,2FAA4E;YACjE,cAAc;OAlC5B,6BAA6B,CA+bzC;IAAD,CAAC;AAAA;SA/bY,6BAA6B,kB;;;;;;;;;;;;;;;;;;;;;;ACxBA;AACe;AACwC;AACI;AAErG;;;;;GAKG;AAEH,eAAe;AAMf;IAME,kCAAmB,OAAsB,EAAS,SAAoB,EAAS,OAAgC;QAA5F,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,YAAO,GAAP,OAAO,CAAyB;QAD/G,yBAAoB,GAAM,EAAE,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAGjC,CAAC;IAED,iDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,mDAAgB,GAAhB;QAAA,iBAgDC;QA/CC,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACzF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,IAAI,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,WAAS,GAAQ,EAAE,CAAC;gBACxB,IAAI,KAAG,GAAQ,EAAE,CAAC;gBAClB,KAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAAC;gBACjD,SAAS,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;oBAC5B,IAAI,aAAiB;oBACrB,EAAE,EAAC,KAAK,CAAC,qBAAqB,CAAC,EAAC;wBAC9B,IAAI,YAAY,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;4BACxE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC;wBACzC,CAAC,CAAC,CAAC;wBACH,EAAE,EAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACxB,YAAY,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,UAAU;gCACtC,WAAS,CAAC,UAAU,CAAC,GAAC,OAAO,CAAC,mBAAmB;gCACjD,aAAa,GAAC,WAAS,CAAC,MAAM,CAAC,UAAC,GAAG,EAAC,GAAG,IAAI,UAAG,GAAE,CAAC,GAAG,EAAT,CAAS,EAAC,CAAC,CAAC,CAAC;gCACxD,aAAa,GAAC,aAAa,GAAC,EAAE,CAAC;4BACjC,CAAC,CAAC;wBACJ,CAAC;wBACD,IAAI,EAAC;4BACH,aAAa,GAAC,CAAC,CAAC;wBAClB,CAAC;wBACD,KAAG,CAAC,KAAK,CAAC,GAAC,aAAa;oBAC1B,CAAC;oBACD,IAAI,MAAM,GAAC,EAAC,UAAU,EAAC,KAAK,CAAC,KAAK,EAAC,SAAS,EAAC,KAAK,CAAC,IAAI,EAAC,YAAY,EAAC,KAAK,CAAC,OAAO,EAAC;oBACnF,KAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAK;wBAC9D,EAAE,EAAC,KAAK,CAAC,UAAU,IAAE,IAAI,CAAC,EAAC;4BACzB,IAAI,GAAG,GAAC;gCACN,SAAS,EAAC,KAAK,CAAC,gBAAgB;gCAChC,iBAAiB,EAAE,KAAG,CAAC,KAAK,CAAC;gCAC7B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;gCACjC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;gCAC/B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gCAChC,iBAAiB,EAAE,KAAK,CAAC,eAAe;gCACxC,sBAAsB,EAAE,KAAK;6BAC9B;4BACD,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;4BACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,EAAC;gBACL,KAAI,CAAC,wBAAwB,GAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,0CAAO,GAAP,UAAQ,MAAM;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,MAAM,CAAC;IACzB,CAAC;IAtEU,wBAAwB;QALpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;YACxC,WAAW,oHAAE,CAA8B;WACR;SACpC,CAAC;iCAO+G;OANpG,wBAAwB,CAwEpC;IAAD,CAAC;AAAA;SAxEY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;;;;AClBK;AACe;AACe;AACuB;AACzB;AAEtE;;;;;GAKG;AAOH;IAOE,6BAAmB,OAAsB,EAAS,SAAoB,EAAQ,MAAqB,EAAQ,OAAgC,EAAQ,KAAmB;QAAnJ,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,WAAM,GAAN,MAAM,CAAe;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QALtK,cAAS,GAAO,EAAE,CAAC;QAEnB,UAAK,GAAO,CAAC,CAAC;QACd,eAAU,GAAU,KAAK,CAAC;QAC1B,WAAM,GAAO,EAAE,CAAC;QAGd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7C,CAAC;IAED,4CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IAED,yCAAW,GAAX;QAAA,iBAQC;QANC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,eAAK;YAE/B,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,GAAC,CAAC,CAAC;YAE1B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yCAAW,GAAX,UAAY,CAAC;QAEX,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,sCAAQ,GAAR,UAAS,GAAG,EAAC,CAAC,EAAC,GAAG;QAGd,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,CAAC;QAC7C,gDAAgD;IACpD,CAAC;IACD,0CAAY,GAAZ;QAAA,iBAcC;QAXC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,GAAQ,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,EAAC,CAAC;QACvE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAtDU,mBAAmB;QAJ/B,wEAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;WACG;SACtC,CAAC;4BAQsK;OAP3J,mBAAmB,CAwD/B;IAAD,CAAC;AAAA;SAxDY,mBAAmB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;AClBU;AAC+B;AACO;AACL;AACuB;AAC9B;AACjB;AACmB;AAEtE;;;;;GAKG;AAOH;IAQE,2BAAmB,OAAsB,EAAS,SAAoB,EAAQ,QAAuB,EAC5F,GAAsB,EAAQ,SAA2B,EACzD,OAAgC,EAAQ,EAAc,EAAQ,KAAmB;QAFvE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,aAAQ,GAAR,QAAQ,CAAe;QAC5F,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAkB;QACzD,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,UAAK,GAAL,KAAK,CAAc;QAH1F,yBAAoB,GAAO,EAAE,CAAC;QAI5B,qDAAqD;QACrD,8CAA8C;QAC9C,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;QAC7C,8BAA8B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IAEzB,CAAC;IAED,uCAAW,GAAX;QAAA,iBAYC;QARG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YAEpD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,QAAQ,IAAE,CAAC,EAAjB,CAAiB,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC;IAER,CAAC;IACD,0CAAc,GAAd;QAAA,iBAwCC;QAtCC,EAAE,EAAC,IAAI,CAAC,aAAa,IAAG,IAAI,IAAI,IAAI,CAAC,aAAa,IAAG,CAAC,CAAC,CACvD,CAAC;YACC,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,eAAe,EAAC,IAAI,CAAC,aAAa,EAAC,sBAAsB,EAAC,IAAI,CAAC,oBAAoB,EAAC,CAAC;YAC/L,kCAAkC;YAClC,0CAA0C;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE3C,2BAA2B;gBAC3B,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAC7B,CAAC;oBACG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACF,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,IAAG,IAAK,CAAC,CACvG,CAAC;YACC,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,eAAe,EAAC,IAAI,CAAC,aAAa,EAAC,sBAAsB,EAAC,IAAI,CAAC,oBAAoB,EAAC,CAAC;YAC7L,kCAAkC;YAClC,0CAA0C;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE3C,2BAA2B;gBAC3B,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAC7B,CAAC;oBACG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAIT,IAAI,EAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACvE,CAAC;IACD,CAAC;IAzEU,iBAAiB;QAJ7B,wEAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;WACG;SACnC,CAAC;qMAS4B,CAAyE;YACxF,gHAAoC,qEAAiB;YACjD,cAAyE;OAV/E,iBAAiB,CA0E7B;IAAD,CAAC;AAAA;SA1EY,iBAAiB,gB;;;;;;;;;;;;;;;;;;;;;ACrBoB;AACP;AACgB;AAC3D;;;;;EAKE;AAEF;IAEE,0BAAmB,IAAgB,EAAQ,GAAU;QAAlC,SAAI,GAAJ,IAAI,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAO;QACnD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sCAAW,GAAX;QAAA,iBAgBC;QAdC,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CACb;YACE,IAAI,EAAC,UAAU;YACf,QAAQ,EAAC,SAAS;SACnB,CAAC,CAAC,IAAI,CAAC,UAAC,EAAe;YAEtB,EAAE,CAAC,UAAU,CAAC,mHAAmH,CAAC,CAAC,IAAI,CAAC,aAAG;gBAEvI,sBAAsB;gBACtB,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CAAC;iBACH,KAAK,CAAC,WAAC,IAAI,cAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC;QAC9B,CAAC,CAAC;IACN,CAAC;IACD,yCAAc,GAAd;QAEE,qBAAqB;QACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CACb;YACE,IAAI,EAAC,UAAU;YACf,QAAQ,EAAC,SAAS;SACnB,CAAC,CAAC,IAAI,CAAC,UAAC,EAAe;YAEtB,EAAE,CAAC,UAAU,CAAC,2CAA2C,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;gBAElE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC,CAAC;IACR,CAAC;IAtCU,gBAAgB;QAD5B,yEAAU,EAAE;yCAGc,wEAAU,EAAY,oEAAM;OAF1C,gBAAgB,CAwC5B;IAAD,uBAAC;CAAA;AAxC4B;;;;;;;;;;;;;;;;;;;;;;;;;ACVa;AACe;AACoB;AAC7B;AACsB;AACE;AACxE;;;;;GAKG;AAOH;IAQE,sBAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,cAAgC;QAApJ,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,mBAAc,GAAd,cAAc,CAAkB;QACrK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,qCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IACD,qCAAc,GAAd,UAAe,OAAO;QAAtB,iBAiBC;QAfC,EAAE,EAAC,OAAO,IAAG,EAAE,IAAI,OAAO,IAAG,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,EAAC;YAC5D,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;gBACjC,mCAAmC;YACrC,CAAC,EAAE,aAAG;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,sBAAsB;YACxB,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAlCU,YAAY;QAJxB,wEAAS,CAAC;YACT,QAAQ,EAAE,eAAe;WACG;SAC7B,CAAC;qBASuK;OAR5J,YAAY,CAmCxB;IAAD,CAAC;AAAA;SAnCY,YAAY,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBiB;AACgD;AACZ;AAE9B;AACqC;AACf;AACP;AACc;AAEH;AACF;AACxE;;;;;GAKG;AAOH;IASE,kBAAmB,OAAsB,EAAS,SAAoB,EAAQ,IAAmB,EAAQ,EAAc,EAAQ,MAA6B,EAAQ,KAAmB,EAAQ,IAAmB,EAAQ,GAAsB,EAAQ,WAA2B,EAAQ,cAAgC;QAAxS,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,SAAI,GAAJ,IAAI,CAAe;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAe;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,gBAAW,GAAX,WAAW,CAAgB;QAAQ,mBAAc,GAAd,cAAc,CAAkB;QAJ3T,eAAU,GAAU,KAAK,CAAC;QAKxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IAIxB,CAAC;IAED,iCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IACD,kCAAe,GAAf;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,mCAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,iCAAc,GAAd;QAAA,iBA+BC;QA7BG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3C,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,CACvC,CAAC;gBACG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAI,CAAC,WAAW,GAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC7C,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAG,cAAc,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,YAAY,CAAC,EAAC;oBAClG,0EAA0E;oBAC5E,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAG,IAAI,CAAC,CACnC,CAAC;wBAEC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBAEzB,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAAA,IAAI,EAAC;oBAEJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;oBAClE,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;YAAA,IAAI,EAAC;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpC,CAAC;YACC,+BAA+B;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4BAAS,GAAT,UAAU,MAAM;QAAhB,iBAWC;QATC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAExC,KAAI,CAAC,aAAa,GAAI,GAAG,CAAC;YAC1B,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CACzC,CAAC;gBACG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IACD,kBAAkB;IAElB,2BAAQ,GAAR,UAAS,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,GAAG,CAAC,CAAC;QAC7B,EAAE,EAAC,GAAG,IAAG,EAAE,IAAI,GAAG,IAAG,IAAI,CAAC,CAC1B,CAAC;YACA,EAAE,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CACnC,CAAC;gBACC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;YACnC,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;IAIF,CAAC;IACD,mCAAgB,GAAhB;QAAA,iBAgBC;QAdC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,QAAQ,EAAE,kBAAkB;YAC5B,YAAY,EAAE,UAAU;YACxB,sBAAsB,EAAE,SAAS;YACjC,eAAe,EAAE,qBAAqB;YACtC,aAAa,EAAC,IAAI;SACnB,CAAC;aACC,IAAI,CAAC,UAAC,MAAW;YAChB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;QACnC,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,KAAU;YAChB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,GAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IA7GU,QAAQ;QAJpB,wEAAS,CAAC;YACT,QAAQ,EAAE,WAAW;WACG;SACzB,CAAC;iBAU2T;OAThT,QAAQ,CA8GpB;IAAD,CAAC;AAAA;SA9GY,QAAQ,e;;;;;;;;;;;;ACxBsD;AAElC;AACM;AAC/C,+EAAc,EAAE,CAAC;AACjB,yGAAsB,EAAE,CAAC,eAAe,CAAC,8DAAS,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLM;AACH;AACkB;AAEjC;AAGa;AACM;AAEkB;AAC/B;AACoB;AACK;AAkC5C;AAC+C;AACC;AAChB;AACc;AACS;AACb;AACvB;AACG;AACK;AACsC;AAC1B;AACO;AACf;AACc;AACvB;AACkB;AACE;AACN;AAEE;AACtB;AACiD;AAE5B;AACN;AACW;AACE;AACzB;AAEuD;AACC;AACD;AACiB;AACf;AACL;AAEH;AACqD;AACjC;AAC8B;AACzF;AAC8D;AACkB;AACG;AAC3I,0DAA0D;AACuF;AACjC;AACM;AACoB;AACjB;AACY;AACH;AACZ;AACrC;AACiD;AACY;AAC3B;AACyD;AACnD;AACN;AAEX;AACgB;AAC8B;AACC;AAC/G;AAC8G;AACnE;AAC6B;AAC7C;AACyD;AAC7D;AACA;AACiF;AACpD;AAC6B;AACzH,oDAAoD;AACH;AACc;AACsE;AAmLrI;IAAA;IAAwB,CAAC;IAAZ,SAAS;QAjLrB,uEAAQ,CAAC;YACN,YAAY,EAAE;gBACV,6DAAK;gBACL,mEAAQ;gBACR,sEAAS;gBACT,2EAAU;gBACV,iHAAsB;gBACtB,uFAAc;gBACd,8FAAiB;gBACjB,+EAAY;gBACZ,6FAAgB;gBAChB,sEAAS;gBACT,gEAAO;gBACP,0HAAqB;gBACrB,0HAAqB;gBACrB,0HAAqB;gBACrB,2IAA0B;gBAC1B,4HAAqB;gBACrB,uHAAoB;gBACpB,sKAA0B;gBAC1B,oHAAmB;gBACnB,yKAA2B;gBAC3B,wIAAyB;gBACzB,sKAA0B;gBAC1B,2IAA0B;gBAC1B,6JAAuB;gBACvB,gKAAwB;gBACxB,qIAAwB;gBACxB,2IAA0B;gBAC1B,+JAAgC;gBAChC,8IAA2B;gBAC3B,sKAA0B;gBAC1B,0JAA+B;gBAC/B,uJAA8B;gBAC9B,2IAA0B;gBAC1B,sGAAiB;gBACjB,uJAA8B;gBAC9B,mKAAkC;gBAClC,wIAAyB;gBACzB,iMAAmC;gBACnC,8IAA2B;gBAC3B,wIAAyB;gBACzB,6HAAsB;gBACtB,8IAA2B;gBAC3B,4KAA4B;gBAC5B,+KAA6B;gBAC7B,2KAAoC;gBACpC,wGAAmB;gBACnB,qIAAwB;gBACxB,oJAA6B;gBAC7B,wKAAmC;gBACnC,iJAA4B;gBAC5B,oHAAuB;gBACvB,6JAAwB;gBACxB,cAAc;aAEjB;YACD,OAAO,EAAE;gBACL,gFAAa,EAAC,4EAAmB,EAAC,oEAAW;gBAC7C,kEAAW,CAAC,OAAO,CAAC,6DAAK,EAAE,EAAE,EACrC;oBACE,KAAK,EAAE,EAEN;iBACF,CAAC;gBACM,qGAAuB;gBACvB,iFAAqB;gBACrB,2EAAe;gBACf,iFAAqB;gBACrB,yEAAa;gBACb,6EAAiB;gBACjB,0EAAc;gBACd,+EAAmB;gBACnB,2EAAe,EAAC,yEAAa;gBAC7B,8EAAkB;gBAClB,6EAAiB;gBACjB,yEAAa;gBACb,0EAAc;gBACd,yEAAa;gBACb,yEAAa;gBACb,+EAAmB;gBACnB,8EAAkB;gBAClB,gFAAoB;gBACpB,oFAAwB;gBACxB,0EAAc;gBACd,2EAAe;gBACf,2EAAe;gBACf,4EAAgB;gBAChB,2EAAe;gBACf,gFAAoB;gBACpB,6EAAiB;gBACjB,yEAAa;gBACb,0EAAc;gBACd,yEAAa;gBACb,4EAAgB;gBAChB,4EAAgB;gBAChB,4EAAgB,EAAC,+EAAgB,EAAC,iFAAsB,EAAC,wFAAwB;gBACjF,sFAAmB;gBACnB,2EAAkB,CAAC,OAAO,EAAE;aAE/B;YACD,SAAS,EAAE,CAAC,+DAAQ,CAAC;YACrB,eAAe,EAAE;gBACb,6DAAK;gBACL,mEAAQ;gBACR,sEAAS;gBACT,2EAAU;gBACV,iHAAsB;gBACtB,uFAAc;gBACd,8FAAiB;gBACjB,+EAAY;gBACZ,6FAAgB;gBAChB,sEAAS;gBACT,gEAAO;gBACP,0HAAqB;gBACrB,0HAAqB;gBACrB,0HAAqB;gBACrB,2IAA0B;gBAC1B,4HAAqB;gBACrB,uHAAoB;gBACpB,sKAA0B;gBAC1B,oHAAmB;gBACnB,yKAA2B;gBAC3B,wIAAyB;gBACzB,sKAA0B;gBAC1B,2IAA0B;gBAC1B,6JAAuB;gBACvB,gKAAwB;gBACxB,qIAAwB;gBACxB,2IAA0B;gBAC1B,+JAAgC;gBAChC,8IAA2B;gBAC3B,sKAA0B;gBAC1B,0JAA+B;gBAC/B,uJAA8B;gBAC9B,2IAA0B;gBAC1B,sGAAiB;gBACjB,uJAA8B;gBAC9B,mKAAkC;gBAClC,wIAAyB;gBACzB,iMAAmC;gBACnC,8IAA2B;gBAC3B,wIAAyB;gBACzB,6HAAsB;gBACtB,8IAA2B;gBAC3B,4KAA4B;gBAC5B,+KAA6B;gBAC7B,2KAAoC;gBACpC,wGAAmB;gBACnB,qIAAwB;gBACxB,oJAA6B;gBAC7B,wKAAmC;gBACnC,iJAA4B;gBAC5B,6JAAwB;aAE3B;YACD,SAAS,EAAE;gBACP,2EAAS,EAAC,+FAAkB,EAAC,+EAAS,EAAC,6FAAgB,EAAC,wFAAa;gBACrE,0FAAiB,EAAC,uGAAsB,EAAC,iFAAY,EAAC,0FAAiB,EAAC,sFAAc,EAAC,oEAAM,EAAC,6FAAkB;gBAChH;oBACI,OAAO,EAAC,gFAAiB;oBACzB,QAAQ,EAAE,6FAAgB;oBAC1B,KAAK,EAAE,IAAI;iBACZ;gBACH;oBACI,OAAO,EAAE,mEAAY;oBACrB,QAAQ,EAAE,wEAAiB;iBAC9B,EAAC,wFAAe;gBACrB,+FAAkB;gBAClB,iHAAwB;gBACxB,0FAAc,EAAC,qEAAM;gBACrB,6DAAM,EAAC,0FAAgB;gBACvB,4FAAe,EAAC,+EAAW;gBAC3B,sFAAgB;gBAChB,oFAAe;aACd;SACJ,CAAC;OACW,SAAS,CAAG;IAAD,gBAAC;CAAA;AAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClT+B;AACP;AACO;AACM;AACV;AACK;AAEoB;AACQ;AAEpC;AACD;AAE7C,0EAA0E;AAM1E;IAUE,eAAmB,QAAkB,EAAS,SAAoB,EAAS,YAA0B,EAAQ,GAAsB,EAAQ,MAA6B,EAAQ,GAAsB,EAClL,SAAyB;QAD7C,iBAYC;QAZkB,aAAQ,GAAR,QAAQ,CAAU;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,iBAAY,GAAZ,YAAY,CAAc;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAClL,cAAS,GAAT,SAAS,CAAgB;QAT7C,eAAU,GAAW,KAAK,CAAC;QAG3B,aAAQ,GAAQ,qEAAS,CAAC;QACnB,eAAU,GAAS,KAAK;QAM7B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8CAA8C;QAC9C,IAAI,CAAC,KAAK,GAAG;YACX,wDAAwD;YACxD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,EAAC,cAAI,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhB,CAAgB,EAAE;YAC3D,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,MAAM,EAAC,cAAI,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhB,CAAgB,EAAC;SAChE,CAAC;IAGJ,CAAC;IAED,6BAAa,GAAb;QAAA,iBAwDC;QAvDC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;YACzB,gEAAgE;YAChE,iEAAiE;YACjE,KAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC9B,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChC,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,KAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAEzD,CAAC;YACC,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAEzB,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC;gBAChC,KAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,GAAG,kEAAQ;YAC5B,CAAC,CAAC,CAAC,KAAK,CAAC;gBACT,UAAU,CAAC;oBACP,KAAI,CAAC,QAAQ,GAAG,qEAAS,CAAC;gBAC9B,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACpC,EAAE,EAAC,KAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAE,CAAC,CAAC,EAAC;gBACvB,EAAE,EAAC,KAAI,CAAC,UAAU,IAAE,KAAK,CAAC,EAAC;oBAC3B,0BAA0B;oBAC1B,IAAI,OAAK,GAAC,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;wBAC9B,KAAK,EAAC,cAAc;wBACpB,OAAO,EAAC,oBAAoB;wBAC5B,OAAO,EAAC;4BACN;gCACE,IAAI,EAAC,QAAQ;gCACb,IAAI,EAAC,QAAQ;gCACb,OAAO,EAAC;oCACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oCAC/B,KAAI,CAAC,UAAU,GAAC,KAAK;oCACrB,OAAK,CAAC,OAAO;gCACd,CAAC;6BACF;4BACD;gCACE,IAAI,EAAC,KAAK;gCACV,OAAO,EAAC;oCACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oCACpB,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gCAC1B,CAAC;6BACF;yBACF;qBACF,CAAC,CAAC;oBACD,OAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAI,CAAC,UAAU,GAAC,IAAI;gBACtB,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAAc,GAAd;QAAA,iBAyBC;QAxBH,IAAI,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAC,cAAc;YACpB,OAAO,EAAC,oBAAoB;YAC5B,OAAO,EAAC;gBACN;oBACE,IAAI,EAAC,QAAQ;oBACb,IAAI,EAAC,QAAQ;oBACb,OAAO,EAAC;wBACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBAC/B,wBAAwB;wBACxB,KAAK,CAAC,OAAO;oBACd,CAAC;iBACF;gBACD;oBACE,IAAI,EAAC,KAAK;oBACV,OAAO,EAAC;wBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACpB,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC1B,CAAC;iBACF;aACF;SACF,CAAC,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,wBAAwB;IACvB,CAAC;IACD,8BAAc,GAAd;QAAA,iBAcC;QAXC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3C,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,CACvC,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,WAAW,GAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAElD,CAAC;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wBAAQ,GAAR,UAAS,EAAE;QAAX,iBAkBD;QAjBG,UAAU;QACV,MAAM,EAAC,EAAE,CAAC,CACV,CAAC;YACC,KAAK,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,0EAAU,CAAC,CAAC;gBAC7B,KAAK,CAAC;YACN,KAAK,CAAC;gBACV,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC;oBAE1B,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qEAAS,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,KAAK,CAAC;QACR,CAAC;IACD,CAAC;IACC,sBAAM,GAAN;QAEC,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qEAAS,CAAC,CAAC;IAC7B,CAAC;IA/Ie;QAAf,yEAAS,CAAC,0DAAG,CAAC;kCAAM,0DAAG;sCAAC;IAHd,KAAK;QAHjB,wEAAS,CAAC;WACc;SACxB,CAAC;oFAWsM;YACxK,EAAe;OAXlC,KAAK,CAoJjB;IAAD,CAAC;AAAA;SApJY,KAAK,2B;;;;;;;;;;;;;;;;;;;ACnByB;AAS3C;IAEI;IAGA,CAAC;IAED,2EAA2E;IAC3E,uCAAuC;IACvC,uBAAuB;IACvB,yCAAyC;IACzC,sBAAsB;IACtB,eAAe;IACf,yBAAyB;IACzB,4CAA4C;IAC5C,wBAAwB;IACxB,QAAQ;IACR,IAAI;IACJ,4BAAQ,GAAR;QACI,gCAAgC;QAChC,sBAAsB;QACtB,iBAAiB;QACjB,uBAAuB;QACvB,WAAW;QACX,wBAAwB;QAExB,oDAAoD;QACpD,oCAAoC;QACpC,oBAAoB;QAGpB,IAAI;IACR,CAAC;IAhCQ,SAAS;QADrB,yEAAU,EAAE;;OACA,SAAS,CAgDrB;IAAD,gBAAC;CAAA;AAhDqB;;;;;;;;;;;;;;;;;;;;;;;;ACTqB;AAOb;AAC9B,4CAA4C;AACP;AAErC,4CAA4C;AAEU;AACG;AAEe;AAGxE;IACE,0BAAmB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAEhD,CAAC;IACD,oCAAS,GAAT,UAAU,OAAyB,EAAE,IAAiB;QACpD,4BAA4B;QAC5B,kBAAkB;QAClB,+CAA+C;QAC/C,MAAM;QACN,MAAM;QACN,IAAI,KAAS,CAAC;QACR,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;QAErC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,qBAAqB;QAClB,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;YAC1B,OAAO,EAAC,IAAI,yEAAW,CAAC;gBAEhB,eAAe,EAAE,gBAAgB;gBACjC,OAAO,EAAC,KAAK;gBACb,MAAM,EAAC,GAAG;aAGb,CAAC;SAET,CAAC,CAAC;QAEP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7B,kEAAU,CAAC,IAAI,CAAC,WAAW,CAAM,MAAM,EAAE,EAAE,CAAC,CAAC,CAC9C;IACL,CAAC;IAEO,sCAAW,GAAnB,UAAwB,SAAuB,EAAE,MAAU;QAAnC,mDAAuB;QAC7C,MAAM,CAAC,UAAC,KAAU;YAChB,EAAE,EAAC,KAAK,YAAY,+EAAiB,CAAC,EAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxC,EAAE,EAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC;oBACpB,YAAY,CAAC,KAAK,EAAE,CAAC;oBACrB,mDAAmD;gBACvD,CAAC;gBACD,MAAM,CAAC,gDAAE,CAAC,MAAW,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA7CU,gBAAgB;QAD5B,yEAAU,EAAE;yCAEe,4FAAsB;OADrC,gBAAgB,CA8C5B;IAAD,uBAAC;CAAA;AA9C4B;;;;;;;;;;;;;;;;;;;;;ACnBuB;AACgC;AAEpF;;;;;GAKG;AAOH;IAaE,2BAAmB,OAAsB,EAAS,SAAoB,EAAE,QAAkB;QAAvE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QARtE,wBAAmB,GAAO,IAAI,CAAC;QAC/B,uBAAkB,GAAO,EAAE,CAAC;QAC5B,uBAAkB,GAAU,EAAE,CAAC;QAC/B,mBAAc,GAAU,CAAC,CAAC;QAC1B,YAAO,GAAW,IAAI,CAAC;QACvB,WAAM,GAAU,IAAI,CAAC;QACrB,SAAI,GAAK,EAAE,CAAC;QAGZ,IAAI,CAAC,IAAI,GAAC,CAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEzC,CAAC;IAEC,0CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IACD,2CAAe,GAAf;QACE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,+CAAmB,GAAnB;QAEE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC,cAAc,GAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,qCAAS,GAAT,UAAU,KAAK;QAEb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;QAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,mDAAuB,GAAvB,UAAwB,KAAK;QAE3B,IAAI,MAAM,GAAC,CAAC,CAAC;QACb,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,GAAC,MAAM,GAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,mDAAuB,GAAvB;QACE,IAAI,KAAK,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACjD,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAE,KAAK,CAAC;YACxC,KAAK,GAAC,KAAK,GAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;IAElH,CAAC;IAED,6DAAiC,GAAjC;QAAA,iBAGC;QADC,UAAU,CAAE,cAAQ,KAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,4CAAgB,GAAhB,UAAiB,MAAM;QAGrB,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAClB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QACnB,IAAI,2BAA2B,GAAE,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,CAAE,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAChH,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACjD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,CAAC;QAAC,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACnD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;QACpB,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAEpB,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC;IAEhH,CAAC;IAvG8B;QAA9B,yEAAS,CAAC,kBAAkB,CAAC;kCAAmB,6DAAM;+DAAE;IACnB;QAArC,yEAAS,CAAC,yBAAyB,CAAC;kCAAe,8DAAO;0DAAC;IAHjD,iBAAiB;QAJ7B,wEAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;WACG;SAClC,CAAC;0BAc0F;OAb/E,iBAAiB,CA6G7B;IAAD,CAAC;AAAA;SA7GY,iBAAiB,e;;;;;;;;;;;;;;;;;;;;ACfY;AACe;AAEzD;;;;;GAKG;AAOH;IAEE,0BAAmB,OAAsB,EAAS,SAAoB;QAAnD,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QADxE,kBAAa,GAAO,EAAE,CAAC;QAGnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,yCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAVU,gBAAgB;QAJ5B,wEAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;WACG;SAClC,CAAC;yBAGsE;OAF3D,gBAAgB,CAY5B;IAAD,CAAC;AAAA;SAZY,gBAAgB,gB;;;;;;;;;;;;;;;;;;;;;;ACfa;AACe;AACwC;AAClB;AAE/E;;;;;GAKG;AAOH;IAOE,gCAAmB,OAAsB,EAAS,SAAoB,EAAQ,OAAgC,EAAQ,GAAsB;QAAzH,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAF5I,qBAAgB,GAAK,EAAE;QAGrB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,GAAG,CAAC,SAAS;QAE3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,+CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IACH,4CAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YAChE,KAAI,CAAC,gBAAgB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAA3D,CAA2D,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;IAxBY,sBAAsB;QAJlC,wEAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;WACG;SACzC,CAAC;+BAQ4I;OAPjI,sBAAsB,CAyBlC;IAAD,CAAC;AAAA;SAzBY,sBAAsB,iB;;;;;;;;;;;;;;;;;;;;;ACjBO;AACe;AACQ;AAEjE;;;;;GAKG;AAOH;IAGE,kCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc;QAAzE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAE1F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,KAAK,EAAC,CAAC,IAAI,CAAC;YACZ,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,cAAc,EAAC,CAAC,IAAI,CAAC;YACrB,UAAU,EAAC,CAAC,IAAI,CAAC;YACjB,SAAS,EAAC,CAAC,IAAI,CAAC;SACjB,CAAC;IACN,CAAC;IAED,iDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAjBU,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;iCAI4F;OAHjF,wBAAwB,CAmBpC;IAAD,CAAC;AAAA;SAnBY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;;AChBM;AAE3C,8DAA8D;AAM1B;AACpC,uFAAuF;AAEvF,gEAAgE;AAEX;AAErD,IAAM,iBAAiB,GAAG;IACxB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,+BAA+B;CACvE,CAAC;AACF,IAAM,oBAAoB,GAAG;IAC3B,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,+BAA+B;CACvE;AACD,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,4BAA4B;CACpE,CAAC;AACF,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,EAAE;CACb;AACD,IAAM,gBAAgB,GAAG,IAAI,mFAAe,CAAC,iBAAiB,CAAC,CAAC;AAChE,IAAM,cAAc,GAAG,IAAI,mFAAe,CAAC,eAAe,CAAC,CAAC;AAC5D,IAAM,mBAAmB,GAAG,IAAI,mFAAe,CAAC,oBAAoB,CAAC,CAAC;AAEtE;;EAEE;AACF,IAAM,gBAAgB,GAAG,iDAAiD,CAAC,qDAAoD;AAC/H,IAAM,cAAc,GAAG,iDAAiD,CAAC;AACzE,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,kBAAkB;AAClB,IAAM,MAAM,GAAG,uCAAuC,CAAC;AACvD,mDAAmD;AAInD;IAqBE;QApBO,aAAQ,GAAY,KAAK,CAAC;QACjC,8CAA8C;QAE9C,gEAAgE;QAChE,wDAAwD;QACxD,mDAAmD;QAEnD,oCAAoC;QACpC,gDAAgD;QAChD,0CAA0C;QAC1C,KAAK;QAGL,uDAAuD;QACzD,aAAQ,GAAW,KAAK,CAAC;IAQvB,CAAC;IACD,+CAAc,GAAd;QAEE,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;IAChD,CAAC;IACC,sBAAI,8CAAU;aAAd;YACE,EAAE,EAAC,mBAAmB,CAAC,cAAc,EAAE,IAAG,IAAI,CAAC,EAAC;gBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;YAAA,IAAI,EAAC;gBACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;QAC9B,CAAC;;;OAAA;IAEH,wCAAO,GAAP;QACE,IAAI,QAAgB,CAAC;QAErB,EAAE,EAAC,IAAI,CAAC,cAAc,EAAE,IAAG,IAAI,CAAC,EAAC;YAEjC,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO;gBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;gBACjE,CAAC;gBAED,IAAI,CAAC,CAAC;oBACF,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACtB,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC7B,gDAAE,CAAC,QAAQ,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oBAEvD,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBAEzE,CAAC;gBACL,CAAC;gBAEE,MAAM,CAAC,QAAQ,CAAC;YAEvB,CAAC,CAAC,CAAC;QACH,CAAC;QAAA,IAAI,EAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,+CAAc,GAAd;QAAA,iBA8BC;QA7BC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACnC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBAClC,qDAAqD;gBACtD,wBAAwB;gBACrB,KAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO;oBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;wBAC7D,QAAQ,GAAE,EAAE,CAAC;wBACd,uBAAuB;wBACvB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,CAAC,CAAC;wBACF,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BACxB,8BAA8B;4BAC5B,QAAQ,GAAG,OAAO,CAAC;4BACnB,OAAO,EAAE,CAAC;wBACZ,CAAC;wBAAC,IAAI,CAAC,CAAC;wBAER,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,sBAAsB;gBACrB,MAAM,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACH,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO;gBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,gEAAgE;oBAC/D,QAAQ,GAAG,KAAK,CAAC;oBACjB,sBAAsB;gBAC1B,CAAC;gBACD,IAAI,CAAC,CAAC;oBACJ,yBAAyB;oBACvB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACvB,6BAA6B;wBAC7B,QAAQ,GAAG,OAAO,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBAEN,QAAQ,GAAG,KAAK,CAAC;oBACnB,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,CAAC;YACL,uBAAuB;YACtB,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC;IAClB,CAAC;IAhIY,sBAAsB;QAFlC,yEAAU,EAAE;;OAEA,sBAAsB,CAmIlC;IAAD,6BAAC;CAAA;AAnIkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CiB;AACa;AACtB;AACkC;AACL;AACa;AAGhD;AACiD;AACjB;AACE;AACvE;;;;;GAKG;AAOH;IAaE,oBAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,SAA2B,EAAQ,MAA6B,EAAQ,EAAmB,EAAQ,kBAAqC;QAClP,6BAA6B;QAC7B,8BAA8B;QAFb,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAkB;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,OAAE,GAAF,EAAE,CAAiB;QAAQ,uBAAkB,GAAlB,kBAAkB,CAAmB;QAPpP,gBAAW,GAAQ,EAAE,CAAC;QACtB,YAAO,GAAQ,EAAE,CAAC;QAClB,iBAAY,GAAM,EAAE,CAAC;QACrB,kBAAa,GAAM,EAAE,CAAC;QAEtB,WAAM,GAAO,GAAG,CAAC;QACjB,iBAAY,GAAW,IAAI,CAAC;IAK5B,CAAC;IACD,gCAAW,GAAX,UAAY,GAAG;QAEb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IACD,+BAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,mCAAc,GAAd;QAEE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,oCAAe,GAAf;QAEE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACD,2BAAM,GAAN,UAAO,IAAI;QACT,EAAE,EAAC,CAAC,IAAI,CAAC,EAAC;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAAA,IAAI,EAAC;YACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChD,CAAC;QAED,yBAAyB;IAC3B,CAAC;IACD,iCAAY,GAAZ,UAAa,SAAS;QAEpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,yCAAyC;QACzC,4CAA4C;QAC5C,sCAAsC;QACtC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/B,yDAAyD;QAEzD,EAAE,EAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,EAAC;YACzB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnU,MAAM,CAAC,IAAI,CAAC;oBAChB,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC;YACJ,CAAC;QACD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAEnB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;2BACjF,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAElL,MAAM,CAAC,IAAI,CAAC;oBAChB,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC;YACF,CAAC;QAEH,CAAC;IACD,CAAC;IACC,4BAAO,GAAP;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+DAAS,CAAC,CAAC;IAC/B,CAAC;IACD,wCAAmB,GAAnB;QAAA,iBA4BC;QAzBC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,qBAAqB;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAE9C,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CACzC,CAAC;gBACA,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAExB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAG,UAAU,IAAI,GAAG,CAAC,SAAS,IAAG,WAAW,IAAI,GAAG,CAAC,SAAS,IAAG,WAAW,IAAI,GAAG,CAAC,SAAS,IAAG,SAAS,IAAI,GAAG,CAAC,SAAS,IAAG,YAAY,IAAI,GAAG,CAAC,gBAAgB,EAA7K,CAA6K,CAAC,CAAC;gBAC9O,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,gBAAgB,CAAC;gBAExC,KAAI,CAAC,YAAY,GAAI,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAQ,IAAE,eAAQ,CAAC,SAAS,IAAI,WAAW,EAAjC,CAAiC,CAAC,CAAC;gBACpG,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,YAAY,CAAC;gBAE1C,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,KAAI,CAAC,cAAc,EAAE,CAAC;YACzB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;YAC3C,CAAC;QACF,CAAC,CAAC;IACN,CAAC;IAED,oCAAe,GAAf;QACE,GAAG,EAAW,UAAiB,EAAjB,SAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB;YAA3B,IAAI,EAAE;YACV,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAEzD;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAClB,CAAC;IACD,mCAAc,GAAd;QAEE,GAAG,EAAW,UAAqB,EAArB,SAAI,CAAC,gBAAgB,EAArB,cAAqB,EAArB,IAAqB;YAA/B,IAAI,EAAE;YACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAE7D;IACH,CAAC;IACH,8BAAS,GAAT,UAAU,SAAS;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,4BAA4B;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,UAAU,CAAC;YAET,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,iCAAY,GAAZ,UAAa,SAAS;QAGlB,EAAE,EAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,CACpC,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yDAAO,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,CAAC,CAAC;QACrD,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,SAAS,CAAC,SAAS,IAAI,YAAY,CAAC,EAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,CAAC,CAAC;QACpE,CAAC;QAAA,IAAI,EAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+DAAS,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,kCAAa,GAAb;QAEE,wDAAwD;QACxD,0BAA0B;QAC1B,+CAA+C;QAC/C,uBAAuB;QALzB,iBAeC;QAPC,KAAK;QACL,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAC7G,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAA5G,CAA4G,CACpH,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACnK,CAAC;IAtLoB;QAApB,yEAAS,CAAC,QAAQ,CAAC;kCAAQ,6DAAM;8CAAC;IAFxB,UAAU;QAJtB,wEAAS,CAAC;YACT,QAAQ,EAAE,cAAc;WACG;SAC5B,CAAC;mBAcoP;OAbzO,UAAU,CAyLtB;IAAD,CAAC;AAAA;SAzLY,UAAU,gB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBwC;AACpB;AAMP;AAGS;AACd;AAC4B;AACA;AAE3D,IAAM,oBAAoB,GAAG;IAC3B,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,+BAA+B;CACvE;AACD,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,4BAA4B;CACpE,CAAC;AACF,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,EAAE;CACb;AACD,mEAAmE;AACnE,IAAM,cAAc,GAAG,IAAI,mFAAe,CAAC,eAAe,CAAC,CAAC;AAC3D,IAAM,mBAAmB,GAAG,IAAI,mFAAe,CAAC,oBAAoB,CAAC,CAAC;AAEvE;;EAEE;AACF,IAAM,gBAAgB,GAAG,iDAAiD,CAAC,qDAAoD;AAC/H,IAAM,cAAc,GAAK,iDAAiD,CAAC;AAC3E,IAAM,cAAc,GAAK,iDAAiD,CAAC;AAE3E,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAIrE;IAEE,4BAAmB,IAAe,EAAQ,MAA6B,EAAQ,GAAqB;QAAjF,SAAI,GAAJ,IAAI,CAAW;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,QAAG,GAAH,GAAG,CAAkB;QAClG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,oCAAO,GAAP,UAAQ,kBAAkB;QACzB,WAAW;QACV,uBAAuB;QACvB,IAAM,qBAAqB,GAAG,IAAI,yFAAqB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,IAAI,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;QACjD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;YACrC,IAAI,EAAE,mBAAmB,CAAC,eAAe;SAC1C,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,+EAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,2DAAU,CAAC,MAAM,CAAC,kBAAQ;YAC/B,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,EAAE;gBAClD,mBAAmB,EAAE,UAAC,cAAc,EAAE,kBAAkB;oBACtD,WAAW,CAAC,4BAA4B,CACtC,WAAW,EACX,cAAc,EACd;wBACE,SAAS,EAAE,UAAU,MAAM;4BACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACtB,CAAC;wBACD,SAAS,EAAE,UAAU,GAAG;4BACtB,QAAQ;4BACR,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACpB,kCAAkC;wBACpC,CAAC;qBACF,CACF,CAAC;gBACJ,CAAC;gBACD,SAAS,EAAE,UAAU,MAAM;oBACzB,2DAA2D;oBAC3D,aAAa;oBACb,kDAAkD;oBAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,SAAS,EAAE,UAAU,GAAG;oBAEtB,qBAAqB;oBACrB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAc,GAAd,UAAe,IAAI;QACjB,WAAW;QACX,IAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,mBAAmB;SAC1B,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,+EAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,2DAAU,CAAC,MAAM,CAAC,iBAAO;YAC9B,WAAW,CAAC,cAAc,CAAC;gBACzB,SAAS,EAAE,UAAU,IAAI;oBACvB,gDAAgD;oBAChD,oDAAoD;oBACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;gBACD,SAAS,EAAE,UAAU,GAAG;oBACtB,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,6BAA6B;gBAC7B,qBAAqB,EAAE,UAAU,IAAI;oBACnC,4BAA4B;oBAC5B,IAAI,gBAAgB,GAAG,MAAM,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;oBACrE,IAAI,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;oBACpD,WAAW,CAAC,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE;wBACzD,SAAS;4BACP,0BAA0B;wBAC5B,CAAC;wBACD,SAAS,YAAC,GAAG;4BACX,8BAA8B;wBAChC,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAGL,CAAC;IACD;;OAEG;IAEF;;OAEG;IACH,mCAAM,GAAN;QAAA,iBASA;QAPE,MAAM,CAAC,2DAAU,CAAC,MAAM,CAAC,iBAAO;YACjC,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;YAEvC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACH,CAAC;IAGD;;OAEG;IACH,gBAAgB;IAChB,0DAA0D;IAE1D,qBAAqB;IACrB,gDAAgD;IAChD,4EAA4E;IAC5E,4DAA4D;IAC5D,gBAAgB;IAChB,6EAA6E;IAC7E,wBAAwB;IACxB,yBAAyB;IACzB,QAAQ;IACR,+FAA+F;IAC/F,QAAQ;IACR,mBAAmB;IACnB,IAAI;IAEJ,sCAAS,GAAT;QACE,IAAI,OAAO,GAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;QACjD,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IACD,2CAAc,GAAd,UAAe,MAAM;QAIjB,WAAW;QAEV,+CAA+C;QAC/C,IAAI,KAAK,GAAG,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC;QAG/B,wDAAwD;QACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,KAAK,CAAC,CAAC;IAEhE,CAAC;IAED,0CAAa,GAAb,UAAc,GAAG;QAEf,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,cAAc,EAAC,MAAM,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC;QACzF,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAE9B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IA3JU,kBAAkB;QAD9B,yEAAU,EAAE;yCAGa,wEAAU,EAAe,gFAAsB,EAAY,+EAAiB;OAFzF,kBAAkB,CA4J9B;IAAD,yBAAC;CAAA;AA5J8B;;;;;;;;;;;;;;;;;;;;;;AC1CmB;AACP;AACc;AAEzD;;;;;EAKE;AAEF,yDAAyD;AAEzD;IAEE,2BAAmB,IAAgB,EAAQ,SAA2B;QAAnD,SAAI,GAAJ,IAAI,CAAY;QAAQ,cAAS,GAAT,SAAS,CAAkB;QACpE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAID,uBAAuB;IAEvB,4BAA4B;IAE5B,wCAAY,GAAZ,UAAa,MAAM;QAEjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAC,oCAAoC,GAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,4CAAgB,GAAhB,UAAiB,IAAI;QAEnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,kBAAkB,EAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,0CAAc,GAAd,UAAe,UAAU;QAEvB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,gBAAgB,EAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,+CAAmB,GAAnB,UAAoB,IAAI;QAEtB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,8BAA8B,EAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,oCAAQ,GAAR,UAAS,UAAU;QAGjB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,UAAU,EAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IA1CU,iBAAiB;QAD7B,yEAAU,EAAE;yCAGc,wEAAU,EAAkB,+EAAiB;OAF3D,iBAAiB,CA2C7B;IAAD,wBAAC;CAAA;AA3C6B;;;;;;;;;;;;;;;;;;;;;;ACboB;AACP;AAC2B;AAEtE;;;;;EAKE;AAEF;IAEE,uBAAmB,IAAgB,EAAQ,KAAqB,EAAS,SAAyB;QAA/E,SAAI,GAAJ,IAAI,CAAY;QAAQ,UAAK,GAAL,KAAK,CAAgB;QAAS,cAAS,GAAT,SAAS,CAAgB;QAChG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IACD,2CAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAC,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,QAAQ;YAClB,mBAAmB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IACD,gCAAQ,GAAR,UAAS,UAAU,EAAC,GAAG;QAGvB,IAAI,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAC,UAAU;YAChB,OAAO,EAAC,GAAG;YACX,QAAQ,EAAC,WAAW;YACpB,OAAO,EAAC,CAAC;oBACP,IAAI,EAAC,KAAK;oBACV,QAAQ,EAAC,QAAQ;oBACjB,OAAO,EAAC;wBACN,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAClB,MAAM,CAAC,KAAK;oBACd,CAAC;iBACF;gBACD;oBACE,IAAI,EAAC,IAAI;oBACT,QAAQ,EAAC,OAAO;oBAChB,OAAO,EAAC;wBACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;wBACpB,MAAM,CAAC,KAAK;oBACd,CAAC;iBACF,CAAC;SACH,CAAC,CAAC;QACH,iBAAiB;QACjB,MAAM,CAAC,KAAK;IAEZ,CAAC;IACD,0CAAkB,GAAlB;QAEE,IAAI,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAC,eAAe;YACrB,OAAO,EAAE,gCAAgC;YAC3C,QAAQ,EAAC,cAAc;YACvB,MAAM,EAAC;gBACL;oBACE,IAAI,EAAC,MAAM;oBACX,oCAAoC;oBACpC,WAAW,EAAC,eAAe;iBAC5B;aACF;YACD,OAAO,EAAC;gBACN;oBACE,IAAI,EAAC,QAAQ;oBACb,OAAO,EAAC,cAAI;wBACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1B,CAAC;iBACF;aACF;SACA,CAAC;QACF,kBAAkB;QAClB,6BAA6B;QAE/B,MAAM,CAAC,KAAK;IACZ,CAAC;IAtEY,aAAa;QADzB,yEAAU,EAAE;yCAGc,wEAAU,EAAc,sEAAe,EAAmB,sEAAe;OAFvF,aAAa,CAuEzB;IAAD,oBAAC;CAAA;AAvEyB","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConstantsProvider } from '../constants/constants';\r\n\r\n/*\r\n Generated class for the QuestionCategoryProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class QuestionCategoryProvider {\r\napiurl:any;\r\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\r\n console.log('Hello QuestionCategoryProvider Provider');\r\n this.apiurl = constant.apiurl();\r\n }\r\n \r\n \r\n getLoadTemplate(pdid)\r\n {\r\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\r\n }\r\n saveQusetion(saveData)\r\n {\r\n let records = {'records':[saveData]};\r\n return this.http.post(this.apiurl+'savePDQuestions',records);\r\n }\r\n\r\n \r\n getAnswerTemplate(qustDetails)\r\n {\r\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\r\n }\r\n\r\n /***\r\n * Get PD Questions dropdown api\r\n * sriram\r\n */\r\n getcommondrop(tableName)\r\n {\r\n let masters = {'master_name':tableName}\r\n return this.http.post(this.apiurl+'getListOfMaster',masters);\r\n }\r\n\r\n saveForm(records)\r\n { let record = {'records':records};\r\n return this.http.post(this.apiurl+'savePDFormDetails',record);\r\n }\r\n\r\n retiverForm(records)\r\n {\r\n return this.http.post(this.apiurl+'getPDFormDetails',records);\r\n }\r\n\r\n /**Assessed Form Details API */\r\n saveassessedForms(api,saveData)\r\n {\r\n return this.http.post(this.apiurl+api,saveData);\r\n }\r\n\r\n retiverassessedForm(api,records)\r\n {\r\n console.log(\"rec\",records)\r\n return this.http.post(this.apiurl+api,records);\r\n }\r\n\r\n updatePdApplicant(editData: any) {\r\n // editData.fk_updatedby = this._aws.getlocale();\r\n // editData.updatedon = currentdate;\r\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\r\n\r\n \r\n}\r\n\r\ngetEndUseForLoan(pdid:any,subproduct){\r\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid,\"sub_product_id\":subproduct}})\r\n}\r\ngetCompaniesListsForBusiness(pdid:any){\r\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetStateWiseCities(stateid:any){\r\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\r\n}\r\ngetAllPersonsName(pdid:any){\r\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\r\n \r\n}\r\ngetStateCityDetails(){\r\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\r\n}\r\ngetAssetsWithLoanFromBusiness(pdid:any){\r\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\r\n\r\n}\r\n\r\n\r\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\r\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\r\n}\r\n\r\n/** For Stock Details \r\n * To Get The Products With TypeofActivity From Business \r\n **/\r\nstockFormAccess(pdid: any,companyid: any) {\r\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\r\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\r\n}\r\n\r\n\r\n\r\n/*****Save Images */\r\nsavePDImages(imagesDetails)\r\n{ \r\n let record = {'records':imagesDetails};\r\n return this.http.post(this.apiurl+'savePDPhotos',record);\r\n}\r\ngetPDImages(records){\r\n let record={'records':records};\r\n return this.http.post(this.apiurl+'getPDImages',record);\r\n}\r\ngetFamilyDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\r\n}\r\ngetAddressDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getPDAddress',{'pd_id':pdid})\r\n}\r\ngetStateCityNamesAndPincode(values:any){\r\n return this.http.post(this.apiurl+'getStateCityNamesAndPincode',{'records':values})\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdQuestionPage } from '../pd-question/pd-question';\r\nimport Chart from 'chart.js';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\r\n\r\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\r\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\r\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\r\nimport {PdQuestionRentalDashPage} from '../pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash'\r\n/**\r\n * Generated class for the PdQuestionCategoryPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-category',\r\n templateUrl: 'pd-question-category.html',\r\n})\r\nexport class PdQuestionCategoryPage {\r\n searchTempForm: any;\r\n searchQuestion: any;\r\n viewchange: boolean;\r\n templateAccess: boolean;\r\n bgColortempForm: any=[];\r\n bgColorqustCat: any=[];\r\n dis_forms:any;\r\n // @ViewChild('doughnutCanvas') doughnutCanvas;\r\n pdinfo: any;\r\nquestionList:any;\r\nquestionCate:any;\r\nquestionCateAccess:boolean = null;\r\nquestionfinishedList:any =[];\r\npddetails:any=[];\r\noverallqustioncountAccess:boolean = true;\r\ndoughnutChart: any;\r\ncompletedAccess:any;\r\nsearchitem:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\r\n this.pddetails = this.navParams.get('pdDetails');\r\n \r\n \r\n }\r\n\r\n ionViewCanEnter()\r\n {\r\n this.getcategoryList(); \r\n }\r\n // doughuntChart()\r\n // {\r\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\r\n \r\n // type: 'doughnut',\r\n // data: {\r\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\r\n // datasets: [{\r\n // label: '# of Votes',\r\n // data: [12],\r\n // backgroundColor: [\r\n // // 'rgba(255, 99, 132, 0.2)',\r\n // 'rgba(54, 162, 235, 0.2)',\r\n // // 'rgba(255, 206, 86, 0.2)',\r\n // // 'rgba(75, 192, 192, 0.2)',\r\n // // 'rgba(153, 102, 255, 0.2)',\r\n // // 'rgba(255, 159, 64, 0.2)'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\",\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\"\r\n // ]\r\n // }]\r\n // }\r\n\r\n // });\r\n // }\r\n ionViewDidLoad() {\r\n this.shared.refresh();\r\n //this.doughuntChart();\r\n console.log('ionViewDidLoad PdQuestionCategoryPage');\r\n }\r\n \r\n getcategoryList()\r\n {\r\n let j = 1;\r\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\r\n {\r\n this.questionCate = res;\r\n if(this.questionCate.dataStatus == true)\r\n {\r\n \r\n this.questionCate = this.questionCate.records;\r\n this.random_ng_past(); \r\n // if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\r\n // {\r\n // this.questionCateAccess = true;\r\n // this.templateAccess = true;\r\n // this.questionCate = this.questionCate;\r\n // this.dis_forms=this.questionCate.template_forms.filter(val=>val.isAnswerable==true );\r\n // this.searchQuestion = this.questionCate.question_answers;\r\n\r\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n \r\n \r\n \r\n \r\n \r\n // }else \r\n if(this.questionCate.template_forms!='')\r\n {\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate\r\n this.dis_forms=this.questionCate.template_forms.filter(val=>val.isAnswerable==true );\r\n console.log(\"temp\",this.questionCate);\r\n\r\n this.searchTempForm = this.questionCate.template_forms\r\n // for(let i of this.dis_forms){\r\n // if(i.)\r\n // }\r\n let answered=this.dis_forms.filter(res=>res.isAnswered == true)\r\n console.log(\"an len\",answered);\r\n if(answered.length == this.dis_forms.length){\r\n this.overallqustioncountAccess= true;\r\n }\r\n else{\r\n this.overallqustioncountAccess=false\r\n }\r\n \r\n \r\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n }\r\n else\r\n {\r\n this.questionCateAccess = false;\r\n this.templateAccess = false; \r\n this.questionCate = \"No Template Available\";\r\n }\r\n }\r\n })\r\n \r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.questionCate.question_answers){\r\n var a = Math.floor(Math.random() * 256);\r\n var b = Math.floor(Math.random() * 256);\r\n var c = Math.floor(Math.random() * 256);\r\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\r\n \r\n }\r\n for(let id of this.questionCate.template_forms){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n questionsTag(categroyId){\r\n \r\n this.pdinfo = this.pddetails; \r\n \r\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\r\n // if(this.questionCate.questions.length !=\"0\"){\r\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\r\n \r\n // }else\r\n // {\r\n // this.getcategoryList();\r\n // this.toast.pdTriggerappmessage('No Question Available');\r\n // }\r\n }\r\n\r\n tempQustionTag(categroyId)\r\n {\r\n //FOR UPDATING THE PD APPLICANT LIST\r\n this.pdinfo = this.pddetails; \r\n let newData= this.questionCate.pdapplicants_detials\r\n console.log(\"new Data\",newData);\r\n this.pdinfo.applicat_details=newData\r\n console.log(this.pdinfo);\r\n\r\n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\r\n if(categroyId ==5)\r\n {\r\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n \r\n }else if(categroyId==12){\r\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }else if(categroyId==10)\r\n {\r\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==8){\r\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==13)\r\n {\r\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n \r\n }else if(categroyId==7)\r\n {\r\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n\r\n }else if(categroyId==6)\r\n {\r\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==4){\r\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==9){\r\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==3){\r\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==11)\r\n {\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==14)\r\n {\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==2)\r\n {\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId ==17)\r\n {\r\n this.navCtrl.push(PdQuestionRentalDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }\r\n else if(categroyId==16)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==15)\r\n {\r\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==18)\r\n {\r\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==19)\r\n {\r\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }\r\n else if(categroyId==20)\r\n {\r\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n }\r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n // this.questionCate = this.searchQuestion;\r\n // this.questionCate.template_forms = this.searchTempForm;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n if(this.searchQuestion !== undefined){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\r\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n // return true;\r\n // }\r\n // })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\r\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n// return true;\r\n// }\r\n// })\r\n }\r\n }\r\n}\r\n completed()\r\n {\r\n let users = this.aws.getlocale();\r\n if(!this.overallqustioncountAccess){// For checking Answered Forms\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Forms\");\r\n }\r\n else{\r\n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\r\n \r\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.completedAccess = res;\r\n if(this.completedAccess.dataStatus == true)\r\n {\r\n this.toast.pdTriggerappmessage(\"Completed Successfully..!\")\r\n setTimeout(()=>{\r\n this.navCtrl.setRoot(PdListPage);\r\n },2000);\r\n \r\n \r\n }\r\n })\r\n }\r\n}\r\n doRefresh(refresher) {\r\n this.questionCate = [];\r\n this.questionfinishedList = [];\r\n this.shared.refresh();\r\n this.getcategoryList();\r\n setTimeout(() => {\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/*\r\n Generated class for the ConstantsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ConstantsProvider {\r\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\r\n constructor(public http: HttpClient) {\r\n console.log('Hello ConstantsProvider Provider');\r\n }\r\n\r\n apiurl()\r\n {\r\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\r\n let testapiurl_beta='http://ssa.sineedge.com/sparqtest_beta/api/';\r\n let devapiurl_beta = 'http://ssa.sineedge.com/sparqapi_beta/api/';\r\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\r\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\r\n return devapiurl_beta;\r\n }\r\n\r\n getcurrentDate()\r\n {\r\n var today = new Date();\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\r\n var time = today.getHours() + \":\" + today.getMinutes();\r\n let CurrentDate = date+\"T00:00\";\r\n return CurrentDate.toString();\r\n }\r\n \r\n convertNumberToWords(price) {\r\n price = price.toString();\r\n let atemp = price.split(\".\");\r\n let amount = atemp[0];\r\n\r\n var sglDigit = [\"Zero\", \"One\", \"Two\", \"Three\", \"Four\", \"Five\", \"Six\", \"Seven\", \"Eight\", \"Nine\"],\r\n dblDigit = [\"Ten\", \"Eleven\", \"Twelve\", \"Thirteen\", \"Fourteen\", \"Fifteen\", \"Sixteen\", \"Seventeen\", \"Eighteen\", \"Nineteen\"],\r\n tensPlace = [\"\", \"Ten\", \"Twenty\", \"Thirty\", \"Forty\", \"Fifty\", \"Sixty\", \"Seventy\", \"Eighty\", \"Ninety\"],\r\n \r\n handle_tens = function(dgt, prevDgt) {\r\n return 0 == dgt ? \"\" : \" \" + (1 == dgt ? dblDigit[prevDgt] : tensPlace[dgt])\r\n },\r\n handle_utlc = function(dgt, nxtDgt, denom) {\r\n return (0 != dgt && 1 != nxtDgt ? \" \" + sglDigit[dgt] : \"\") + (0 != nxtDgt || dgt > 0 ? \" \" + denom : \"\")\r\n };\r\n\r\n var str = \"\",\r\n digitIdx = 0,\r\n digit = 0,\r\n nxtDigit = 0,\r\n words = [];\r\n if (amount += \"\", isNaN(parseInt(amount))) str = \"\";\r\n else if (parseInt(amount) > 0 && amount.length <= 10) {\r\n for (digitIdx = amount.length - 1; digitIdx >= 0; digitIdx--) \r\n switch (digit = amount[digitIdx] - 0, nxtDigit = digitIdx > 0 ? amount[digitIdx - 1] - 0 : 0, amount.length - digitIdx - 1) {\r\n case 0:\r\n words.push(handle_utlc(digit, nxtDigit, \"\"));\r\n break;\r\n case 1:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 2:\r\n words.push(0 != digit ? \" \" + sglDigit[digit] + \" Hundred\" + (0 != amount[digitIdx + 1] && 0 != amount[digitIdx + 2] ? \" and\" : \"\") : \"\");\r\n break;\r\n case 3:\r\n words.push(handle_utlc(digit, nxtDigit, \"Thousand\"));\r\n break;\r\n case 4:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 5:\r\n words.push(handle_utlc(digit, nxtDigit, \"Lakh\"));\r\n break;\r\n case 6:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 7:\r\n words.push(handle_utlc(digit, nxtDigit, \"Crore\"));\r\n break;\r\n case 8:\r\n words.push(handle_tens(digit, amount[digitIdx + 1]));\r\n break;\r\n case 9:\r\n words.push(0 != digit ? \" \" + sglDigit[digit] + \" Hundred\" + (0 != amount[digitIdx + 1] || 0 != amount[digitIdx + 2] ? \" and\" : \" Crore\") : \"\")\r\n // break; \r\n // case 10:\r\n // words.push(0 != digit ? \" \" + sglDigit[digit] + \" Lakh\" + (0 != price[digitIdx + 1] || 0 != price[digitIdx + 2] ? \" and\" : \" Hundred\" + (0 != price[digitIdx + 1] || 0 != price[digitIdx + 2] || 0 != price[digitIdx + 3] ? \" and\" : \" Crore\")) \r\n // : \"\")\r\n // break;\r\n }\r\n str = words.reverse().join(\"\")\r\n // str =(str.length > 2 && str.charAt(str.length-2)==',') ? str.slice(0, -2) : str;\r\n } else str = \"\";\r\n return str\r\n\r\n // var words = new Array();\r\n // words[0] = '';\r\n // words[1] = 'One';\r\n // words[2] = 'Two';\r\n // words[3] = 'Three';\r\n // words[4] = 'Four';\r\n // words[5] = 'Five';\r\n // words[6] = 'Six';\r\n // words[7] = 'Seven';\r\n // words[8] = 'Eight';\r\n // words[9] = 'Nine';\r\n // words[10] = 'Ten';\r\n // words[11] = 'Eleven';\r\n // words[12] = 'Twelve';\r\n // words[13] = 'Thirteen';\r\n // words[14] = 'Fourteen';\r\n // words[15] = 'Fifteen';\r\n // words[16] = 'Sixteen';\r\n // words[17] = 'Seventeen';\r\n // words[18] = 'Eighteen';\r\n // words[19] = 'Nineteen';\r\n // words[20] = 'Twenty';\r\n // words[30] = 'Thirty';\r\n // words[40] = 'Forty';\r\n // words[50] = 'Fifty';\r\n // words[60] = 'Sixty';\r\n // words[70] = 'Seventy';\r\n // words[80] = 'Eighty';\r\n // words[90] = 'Ninety';\r\n // amount = amount.toString();\r\n // var atemp = amount.split(\".\");\r\n // var number = atemp[0].split(\",\").join(\"\");\r\n // var n_length = number.length;\r\n // let value:any = \"\";\r\n // var words_string = \"\";\r\n // if (n_length <= 9) {\r\n // var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n // var received_n_array = new Array();\r\n // for (var i = 0; i < n_length; i++) {\r\n // received_n_array[i] = number.substr(i, 1);\r\n // }\r\n // for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n // n_array[i] = received_n_array[j];\r\n // }\r\n // for (var i = 0, j = 1; i < 9; i++, j++) {\r\n // if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n // if (n_array[i] == 1) {\r\n // n_array[j] = 10 + parseInt(n_array[j]);\r\n // n_array[i] = 0;\r\n // }\r\n // }\r\n // }\r\n // value = \"\";\r\n // for (var i = 0; i < 9; i++) {\r\n // if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n // value = n_array[i] * 10;\r\n // } else {\r\n // value = n_array[i];\r\n // }\r\n // if (value != 0) {\r\n // words_string += words[value] + \" \";\r\n // }\r\n // if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n // words_string += \"Crores \";\r\n // }\r\n // if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n // words_string += \"Lakhs \";\r\n // }\r\n // if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n // words_string += \"Thousand \";\r\n // }\r\n // if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n // words_string += \"Hundred and \";\r\n // } else if (i == 6 && value != 0) {\r\n // words_string += \"Hundred \";\r\n // }\r\n // }\r\n // words_string = words_string.split(\" \").join(\" \");\r\n // }\r\n // return words_string;\r\n}\r\n//FOR SEARCHABLE DROP DOWN\r\nsearchData(data,val: any,option) {\r\n let DataValue:any\r\n // let nameVal=name.toLowerCase()\r\n console.log(\"statedata\")\r\n if (!data) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n // this.filteredState.next(this.stateList.slice())\r\n DataValue=data.slice()\r\n return DataValue\r\n \r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n if(option == \"bank\"){\r\n DataValue=data.filter(res => res.lender_name.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n else if(option == \"city\"){\r\n console.log(\"city\",data)\r\n DataValue=data.filter(res=>res.city_name.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n else if(option == \"pin\"){\r\n DataValue=data.filter(res=>res.pincode.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n else{\r\n //This is suitable for state\r\n DataValue=data.filter(res => res.name.toLowerCase().indexOf(searchVal) > -1)\r\n return DataValue\r\n }\r\n // this.filteredState.next(\r\n // this.stateList.filter(res => res.state_name.toLowerCase().indexOf(searchVal) > -1)\r\n // )\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Geolocation } from '@ionic-native/geolocation'; \r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n/**\r\n * Generated class for the OtpPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-otp',\r\n templateUrl: 'otp.html',\r\n})\r\nexport class OtpPage {\r\n\r\n \r\n timeLimit: any;\r\n reason_otp: any;\r\n users: any;\r\n timerOn: boolean = true;\r\n balance_time: string;\r\n otpStatus: any;\r\n pin:any;\r\n otpStatusAccess:boolean = true;\r\n applicatentDetails: any;\r\n commonImage:any;\r\n maxtime: any=30;\r\n \r\n reasonForm:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public pddetails:PdtriggerProvider,public toast:ToastProvider,public Menu:MenuController,public commonconstant:ConstantsProvider,public aws:AwsServiceProvider,public alertCtrl:AlertController,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public geolocation:Geolocation,public androidPermissions:AndroidPermissions) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n console.log(\"user\",this.users)\r\n this.reasonForm = this.fb.group(\r\n {\r\n reason:[null,Validators.compose([Validators.required])],\r\n others_reason:[null],\r\n })\r\n \r\n this.getDropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad OtpPage');\r\n }\r\n ionViewDidEnter(){\r\n //this.Menu.enable(false);\r\n this.setPermission();\r\n this.timer(120);\r\n \r\n }\r\n\r\n setPermission()\r\n {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n ionViewWillLeave(){\r\n //this.Menu.enable(true);\r\n clearTimeout(this.timeLimit);\r\n }\r\n getDropdown()\r\n {\r\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\r\n console.log(this.reason_otp);\r\n \r\n }\r\n })\r\n }\r\n checkotp(otp)\r\n {\r\n //console.log(\"Otp\",otp)\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n //console.log(\"Otp\",res)\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }\r\n\r\n timer(remaining) {\r\n // console.log(remaining);\r\n let m:any = Math.floor(remaining / 60);\r\n let s:any = remaining % 60;\r\n \r\n m = m < 10 ? '0' + m : m;\r\n s = s < 10 ? '0' + s : s;\r\n // var balance_time = m + ':' + s;\r\n this.balance_time = m + ':' + s;\r\n remaining -=1;\r\n // console.log(this.balance_time);\r\n if(remaining >= 0 && this.timerOn) {\r\n this.timeLimit = setTimeout(()=> {\r\n this.timer(remaining);\r\n }, 1000);\r\n return;\r\n }\r\n \r\n if(!this.timerOn) {\r\n // Do validate stuff here\r\n return;\r\n }\r\n \r\n // Do timeout stuff here\r\n \r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'OTP Expired ',\r\n message: 'Do you want to resend the OTP ? ',\r\n buttons: [\r\n {\r\n text: 'Start PD Without OTP',\r\n \r\n handler: () => {\r\n \r\n this.otpStatusAccess = false;\r\n }\r\n },\r\n {\r\n text: 'Resend OTP',\r\n handler: () => {\r\n \r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n let currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'link':currentPosPDofficer};\r\n console.log(data);\r\n this.pddetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.timer(60);\r\n })\r\n });\r\n // console.log('Buy clicked');\r\n \r\n } \r\n }\r\n \r\n ]\r\n \r\n });\r\n alert.present();\r\n }\r\n \r\n saveotpreasno()\r\n {\r\n console.log(this.reasonForm.value);\r\n if(this.reasonForm.valid)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {Storage} from '@Ionic/storage'\nimport {ToastProvider} from '../common-provider/toast'\n\n/*\n Generated class for the StorageProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n//const storage_key='form_Datas'\n\n@Injectable()\nexport class StorageProvider {\n\n constructor(public http: HttpClient,public storage:Storage,public toast:ToastProvider) {\n console.log('Hello StorageProvider Provider');\n }\ninsertData(data){\n this.toast.pdTriggerappmessage(this.storage.driver);\n const storage_key=data.pd_id\n console.log(\"storage provider\")\n console.log(data);\n console.log(JSON.stringify(data));\n \n console.log(\"sto\",this.storage.get(storage_key))\n return this.storage.get(storage_key).then((res)=>{\n console.log(\"res\",res)\n if(res != null ){\n let option:boolean=false\n if( res.length != 0 && res.length != undefined){\n // res.forEach((value)=>{\n // if(value.form_id==data.form_id){\n // option=true\n // }\n // })\n let current=res.filter(val=>val.form_id==data.form_id)\n console.log(\"current\",current);\n if(current.length > 0){\n let value:any=[]\n value.push(data)\n return this.storage.set(storage_key,value)\n }\n}\n let old_Data:any=[]\n old_Data=res\n console.log(\"old data\",old_Data)\n old_Data.push(data)\n return this.storage.set(storage_key,old_Data)\n \n }\n else{\n //res.push(data)\n // let dataValue=Object.keys(data).map(function(key){\n // return data[key];\n // })\n let value:any=[]\n value.push(data)\n return this.storage.set(storage_key,value)\n }\n })\n \n\n\n}\nretrieveLocalStorage(data){\n const storage_key=data.pd_id\n return this.storage.get(storage_key).then(res=>{\n console.log(\"storage get\",res)\n if(res != null){\n return res.filter(val=>val.form_id==data.form_id)\n }\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/storage/storage.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionSupplsierInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-supplier-info',\r\n templateUrl: 'pd-question-supplier-info.html',\r\n})\r\n\r\nexport class PdQuestionSupplierInfoPage {\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n company_id: any;\r\n form_id: any;\r\n questionDetails: any;\r\n supplierInfoForm: FormGroup;\r\n\r\n business_manufacturingProducts: any = [];\r\n business_tradingProducts: any = [];\r\n m_titleList: any = [];\r\n m_paymentList: any = [];\r\n m_companyRelationShipList: any = [];\r\n\r\n noRecordsFound: Boolean = false;\r\n public submitted = false;\r\n errorMessage: any = '';\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder,\r\n public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider,\r\n public toast: ToastProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider) \r\n {\r\n\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id = this.pdDetails.company_id;\r\n this.users = this.aws.getlocale();\r\n\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropList();\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\r\n this.getPDImages();\r\n }\r\n\r\n\r\n serviceProviderForm: Boolean = false;\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdDetails.pd_id;\r\n params.pd_form_id = this.form_id;\r\n params.company_id = this.company_id;\r\n\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus'] == true) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n if (dataForm.manufacturing_details[0] != null) {\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\r\n }\r\n else {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null)\r\n }\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n if (dataForm.trade_details[0] != null) {\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n this.initTradingProductsDetails(api_trading_products);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\r\n }\r\n else {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n } \r\n this.noRecordsFound = true;\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trading_products_total_payments_percent_on_credit || null);\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [''],\r\n manufacturing_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: [''],\r\n manufacturing_frequency_of_purchase: [''],\r\n person_stdcode: [''],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [''],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\r\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\r\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\r\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\r\n person_stdcode: [records.person_stdcode || null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline || null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n person_title_name: [records.person_title_name],\r\n person_designation: [records.person_designation],\r\n other_person_designation: [records.other_person_designation],\r\n trade_supplier_name: [records.trade_supplier_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\r\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [records.person_stdcode],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.m_companyRelationShipList = data['records']\r\n //.filter(data => data.isactive == 1); \r\n // because in general no need of \"other\" option but in supplier others option needed - in DB others option changed into inactive\"\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n\r\n saveSupplierInfo(FormValues) {\r\n\r\n var answerFormValues = FormValues;\r\n\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.supplierInfoForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(() => {\r\n this.navCtrl.pop();\r\n }, 2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n e == 1 ? '' : '';\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n e == 1 ? '' : '';\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n checkCard(e, flag, index) {\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n }\r\n\r\n selectedPaymentTerms(items, e, flag) {\r\n if (flag == 2) {\r\n if (e == 3) {\r\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\r\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['trade_product_credit_days_from'].clearValidators();\r\n items.controls['trade_product_credit_days_from'].setValue('');\r\n items.controls['trade_product_credit_days_to'].clearValidators();\r\n items.controls['trade_product_credit_days_to'].setValue('');\r\n }\r\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\r\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\r\n }\r\n else if (flag == 1) {\r\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\r\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['manufacturing_credit_days_from'].clearValidators();\r\n items.controls['manufacturing_credit_days_from'].setValue('');\r\n items.controls['manufacturing_credit_days_to'].clearValidators();\r\n items.controls['manufacturing_credit_days_to'].setValue('');\r\n }\r\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\r\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionStockInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-stock-info',\r\n templateUrl: 'pd-question-stock-info.html',\r\n})\r\nexport class PdQuestionStockInfoPage {\r\n\r\n uomData: any;\r\n uomDataValue:any;\r\n rawmaterial: any;\r\n users: any;\r\n formDetails: any;\r\n pdDetails: any;\r\n company_id: any;\r\n pdid: any;\r\n stockForm: FormGroup;\r\n noRecordsFound: Boolean;\r\n errorMessage: any = '';\r\n M_rawValueInWords: any = [];\r\n M_goodsValueInWords: any = [];\r\n R_tradedGoodsValueInWords: any = [];\r\n T_tradedGoodsValueInWords: any = [];\r\n mrmCommentFlag: any = [];\r\n mfgCommentFlag: any = [];\r\n rtrdCommentFlag: any = [];\r\n wtrdCommentFlag: any = [];\r\n serviceProviderForm: Boolean = false;\r\n suppliers_raw_materials: any = [];\r\n suppliers_retail_trade_details: any = [];\r\n suppliers_wholesale_trade_details: any = [];\r\n suppliers_finished_goods: any = [];\r\n\r\n protected _onDestroy = new Subject();\r\n\r\n RMCommentCard: boolean = false;\r\n TGCommentCard: boolean = false\r\n public RMsufficientList: any = [{value:\"yes\",isdisplayvalue:\"Yes\",disabled:false},{value:\"no\",isdisplayvalue:\"No\",disabled:false},{value:\"not applicable\",isdisplayvalue:\"Stock not required to be maintained\",disabled:false}];\r\n public TGsufficientList: any = [{value:\"yes\",isdisplayvalue:\"Yes\",isdisabled:false},{value:\"no\",isdisplayvalue:\"No\",isdisabled:false},{value:\"not applicable\",isdisplayvalue:\"Stock not required to be maintained\",isdisabled:false}];\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, \r\n public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder, \r\n public constant: ConstantsProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider)\r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.company_id = this.pdDetails.company_id;\r\n this.pdid = this.pdDetails.pd_id; \r\n this.qustCat.stockFormAccess(this.pdid, this.company_id).subscribe(data => {\r\n if (data.dataStatus == true) {\r\n this.initstockForm(data.record);\r\n }\r\n else if (data.dataStatus == false) {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + this.company_id);\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id + '! ....';\r\n return;\r\n }\r\n else {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + this.company_id);\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id + '! ....';\r\n return;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\r\n this.getPDImages();\r\n }\r\n\r\n public initstockForm(record) {\r\n let api = Object.keys(record.from_business).map(function (key) {\r\n return record.from_business[key];\r\n });\r\n if (record.from_business.length > 0) {\r\n let type2 = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let type2length = type2[0].hasOwnProperty(\"products\") ? type2[0].products.length : 0;\r\n let type3 = record.from_business.filter(data => data.type_of_activity_id == 3);\r\n let type3length = type3[0].hasOwnProperty(\"products\") ? type3[0].products.length : 0;\r\n let type4 = record.from_business.filter(data => data.type_of_activity_id == 4);\r\n let type4length = type4[0].hasOwnProperty(\"products\") ? type4[0].products.length : 0;\r\n\r\n\r\n let rm_api = record.from_supplier.hasOwnProperty(\"raw_material\") ? record.from_supplier.raw_material : [];\r\n\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(value => {\r\n if (value['status'] == 200) {\r\n let dataForm = value['records'];\r\n // dataForm.manufacturing_details.forEach(top=>{\r\n // top.manufacturing_finished_goods.forEach(below1=>{\r\n // below1.uomSearch=''\r\n // })\r\n // top.manufacturing_raw_materials.forEach(below2=>{\r\n // below2.uomSearch=''\r\n // })\r\n // })\r\n if (dataForm !== undefined) {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n stock_remarks: [dataForm.stock_remarks],\r\n\r\n // is_sufficiant_raw:[dataForm.is_sufficiant_raw],\r\n // rawmaterial_remarks:[dataForm.rawmaterial_remarks],\r\n is_sufficiant_finished_and_traded_goods: [dataForm.is_sufficiant_finished_and_traded_goods],\r\n finished_and_traded_goods_remarks: [dataForm.finished_and_traded_goods_remarks],\r\n\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record,type2length)]),\r\n retail_details: this.fb.array([this.retailFormCreation(type3length)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if (val.products) {\r\n // if(dataForm.manufacturing_details[0].manufacturing_finished_goods ){this.finishedAndTradedGoodsCommentCard = true;}\r\n let manufacturing_temparr = [];\r\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials;\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw),\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks);\r\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods;\r\n this.initManufacturingDetails(manufacturing_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n let retail_temparr = [];\r\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\r\n\r\n this.initRetailDetails(retail_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n let trading_temparr = [];\r\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\r\n console.log(\"Trade\", trading_temparr)\r\n this.initTradingDetails(trading_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if (val.products) {\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n else {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n stock_remarks: [''],\r\n // is_sufficiant_raw:[''],\r\n // rawmaterial_remarks:[''],\r\n is_sufficiant_finished_and_traded_goods: [''],\r\n finished_and_traded_goods_remarks: [''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record,type2length)]),\r\n retail_details: this.fb.array([this.retailFormCreation(type3length)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_finished_goods = val.products;\r\n this.initManufacturingDetails(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw.value || null),\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks || null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if (val.products) {\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n }\r\n else {\r\n console.log(\"Record\", record)\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n stock_remarks: [''],\r\n\r\n // is_sufficiant_raw:[''],\r\n // rawmaterial_remarks:[''],\r\n is_sufficiant_finished_and_traded_goods: [''],\r\n finished_and_traded_goods_remarks: [''],\r\n\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record,type2length)]),\r\n retail_details: this.fb.array([this.retailFormCreation(type3length)]),\r\n\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_finished_goods = val.products;\r\n this.suppliers_raw_materials = rm_api;\r\n this.initManufacturingDetails(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if (val.products) {\r\n // this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if (val.products) {\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n })\r\n }\r\n else {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID ' + this.company_id);\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id + '! ....';\r\n return;\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n getdropdown() {\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if (data['dataStatus'] == true) {\r\n this.uomData = data['records'].filter(uom => uom.isactive == 1 && uom.is_land_uom == 0 || uom.is_land_uom == 2);\r\n this.uomDataValue=this.uomData.slice();\r\n }\r\n });\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(record,length) {\r\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let rm_arr = record.from_supplier.hasOwnProperty(\"raw_material\") ? record.from_supplier.raw_material : [];\r\n //console.log(\"Manufacturing \",arr);\r\n //console.log(\"rm_arr\",rm_arr);\r\n if (length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n is_sufficiant_raw: [],\r\n rawmaterial_remarks: [],\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n } else {\r\n return this.fb.group({\r\n is_sufficiant_raw: [],\r\n rawmaterial_remarks: [],\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n // return;\r\n }\r\n }\r\n\r\n retailForm: Boolean = false;\r\n retailFormCreation(val) {\r\n //let arr = val.filter(data => data.type_of_activity_id == 3);\r\n let arr = val\r\n // console.log(\"retail Form \", arr);\r\n if (arr > 0) {\r\n // if(arr.products != undefined){\r\n this.retailForm = true;\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n });\r\n // }else{\r\n // this.retailForm = false;\r\n // return;\r\n // } \r\n } else {\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n });\r\n // return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val\r\n //let arr = val.filter(data => data.type_of_activity_id == 4);\r\n\r\n if (arr > 0) {\r\n\r\n // if(arr.products === undefined){\r\n\r\n // this.tradingForm = false;\r\n // return;\r\n // }\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n });\r\n } else {\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n });\r\n // return;\r\n }\r\n }\r\n\r\n initManufacturingDetails(datas) {\r\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n if (this.suppliers_raw_materials.length > 0) {\r\n this.suppliers_raw_materials.forEach(val => {\r\n let Ref_RawMaterials: any = {\r\n 'raw_name': val,\r\n 'stock_observed': '',\r\n 'raw_quantity': '',\r\n 'raw_uom': '',\r\n 'other_uom': '',\r\n 'raw_value': '',\r\n 'is_sufficiant_raw': '',\r\n 'rawmaterial_remarks': ''\r\n };\r\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials));\r\n });\r\n }\r\n else {\r\n rawMaterial.push(this.createRawmaterial(null));\r\n }\r\n if (this.suppliers_finished_goods.length > 0) {\r\n this.suppliers_finished_goods.forEach(val => {\r\n let Ref_Finished_Goods: any = {\r\n 'goods_name': val,\r\n 'goods_observed': '',\r\n 'goods_quantity': '',\r\n 'goods_uom': '',\r\n 'goods_other_uom': '',\r\n 'goods_value': '',\r\n 'is_sufficiant_goods': '',\r\n 'finishedgoods_remarks': ''\r\n };\r\n finishedGoods.push(this.createGoods(Ref_Finished_Goods));\r\n });\r\n }\r\n else {\r\n finishedGoods.push(this.createGoods(null));\r\n }\r\n } else {\r\n if (datas.manufacturing_raw_materials != undefined) {\r\n datas.manufacturing_raw_materials.forEach((val, index) => {\r\n if (val.raw_value) {\r\n this.inWords(val.raw_value, 1, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_raw,1,index);\r\n this.checkComments(val.stock_observed, 1, index);\r\n rawMaterial.push(this.createRawmaterial(val));\r\n });\r\n }\r\n else {\r\n rawMaterial.push(this.createRawmaterial(null));\r\n }\r\n if (datas.manufacturing_finished_goods != undefined) {\r\n datas.manufacturing_finished_goods.forEach((val, index) => {\r\n if (val.goods_value) {\r\n this.inWords(val.goods_value, 2, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_goods,2,index);\r\n this.checkComments(val.goods_observed, 2, index);\r\n finishedGoods.push(this.createGoods(val));\r\n\r\n });\r\n }\r\n else {\r\n finishedGoods.push(this.createGoods(null));\r\n }\r\n }\r\n }\r\n\r\n createRawmaterial(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n raw_name: [''],\r\n stock_observed: [''],\r\n raw_quantity: [''],\r\n raw_uom: [''],\r\n uomSearch:[null],\r\n other_uom: [''],\r\n raw_value: [''],\r\n is_sufficiant_raw: [''],\r\n rawmaterial_remarks: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n raw_name: [records.raw_name],\r\n stock_observed: [records.stock_observed],\r\n raw_quantity: [records.raw_quantity],\r\n raw_uom: [records.raw_uom],\r\n uomSearch:[null],\r\n other_uom: [records.other_uom],\r\n raw_value: [records.raw_value],\r\n is_sufficiant_raw: [records.is_sufficiant_raw],\r\n rawmaterial_remarks: [records.rawmaterial_remarks]\r\n })\r\n }\r\n }\r\n\r\n initRetailDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n if (datas === null) {\r\n if (this.suppliers_retail_trade_details.length > 0) {\r\n // this.rawMaterialAccess = true;\r\n this.suppliers_retail_trade_details.forEach(val => {\r\n let Ref_Trade_Goods: any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks': ''\r\n };\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n } else {\r\n if (datas.retail_traded_goods !== undefined) {\r\n datas.retail_traded_goods.forEach((val, index) => {\r\n if (val.estimated_traded_goods_value) {\r\n this.inWords(val.estimated_traded_goods_value, 3, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_traded_goods,3,index);\r\n this.checkComments(val.traded_goods_observed, 3, index);\r\n tradedGoods.push(this.createTradedGoods(val));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n }\r\n }\r\n\r\n\r\n createGoods(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n goods_name: [''],\r\n goods_observed: [''],\r\n goods_quantity: [''],\r\n goods_uom: [''],\r\n uomSearch:[null],\r\n goods_other_uom: [''],\r\n goods_value: [''],\r\n is_sufficiant_goods: [''],\r\n finishedgoods_remarks: ['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n goods_name: [records.goods_name],\r\n goods_observed: [records.goods_observed],\r\n goods_quantity: [records.goods_quantity],\r\n goods_uom: [records.goods_uom],\r\n uomSearch:[null],\r\n goods_other_uom: [records.goods_other_uom],\r\n goods_value: [records.goods_value],\r\n is_sufficiant_goods: [records.is_sufficiant_goods],\r\n finishedgoods_remarks: [records.finishedgoods_remarks]\r\n })\r\n }\r\n }\r\n\r\n initTradingDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n if (datas === null) {\r\n if (this.suppliers_wholesale_trade_details.length > 0) {\r\n this.suppliers_wholesale_trade_details.forEach(val => {\r\n let Ref_Trade_Goods: any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks': ''\r\n };\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n\r\n } else {\r\n if (datas.trading_traded_goods !== undefined) {\r\n datas.trading_traded_goods.forEach((val, index) => {\r\n if (val.estimated_traded_goods_value) {\r\n this.inWords(val.estimated_traded_goods_value, 4, index);\r\n }\r\n // this.checkComments(val.is_sufficiant_traded_goods,4,index);\r\n this.checkComments(val.traded_goods_observed, 4, index);\r\n tradedGoods.push(this.createTradedGoods(val));\r\n });\r\n }\r\n else {\r\n tradedGoods.push(this.createTradedGoods(null));\r\n }\r\n }\r\n }\r\n\r\n createTradedGoods(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n traded_goods_name: [''],\r\n traded_goods_observed: [''],\r\n traded_goods_quantity: [''],\r\n traded_goods_uom: [''],\r\n uomSearch:[null],\r\n traded_goods_other_uom: [''],\r\n estimated_traded_goods_value: [''],\r\n is_sufficiant_traded_goods: [''],\r\n traded_goods_remarks: ['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n traded_goods_name: [records.traded_goods_name],\r\n traded_goods_observed: [records.traded_goods_observed],\r\n traded_goods_quantity: [records.traded_goods_quantity],\r\n traded_goods_uom: [records.traded_goods_uom],\r\n uomSearch:[null],\r\n traded_goods_other_uom: [records.traded_goods_other_uom],\r\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\r\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\r\n traded_goods_remarks: [records.traded_goods_remarks]\r\n })\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Raw Material Details */\r\n addRawMaterials(flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.push(this.createRawmaterial(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Raw Material Details */\r\n deleteRawMaterials(index, flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Finished Goods */\r\n addGoods(flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.push(this.createGoods(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Finished Goods */\r\n deleteGoods(index, flag) {\r\n if (flag == 1) {\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To Add More trade Goods\r\n * Case 2 wholesale Traded -> To Add More trade Goods\r\n */\r\n addTradedGoods(flag) {\r\n switch (flag) {\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To remove trade Goods\r\n * Case 2 wholesale Traded -> To remove trade Goods\r\n */\r\n deleteTradedGoods(index, flag) {\r\n switch (flag) {\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n //const control = this.stockForm.controls['traded_goods'];\r\n\r\n }\r\n\r\n ManufacturingCounterArray: any = [];\r\n FinishedCounterArray: any = [];\r\n RetailCounterArray: any = [];\r\n WholeSaleCounterArray: any = [];\r\n\r\n not_stock_of_rm: any = [];\r\n not_stock_of_fg: any = [];\r\n not_stock_of_tg: any = [];\r\n not_stock_of_ws: any = [];\r\n checkComments(value, flag, index) {\r\n \r\n console.log(value, flag, index);\r\n if (flag == 1) {\r\n \r\n this.ManufacturingCounterArray[index] = value != \"\" ? 1 : 0;\r\n this.not_stock_of_rm[index] = value == \"yes\" ? 1 : 0;\r\n\r\n let RMOverallCount = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n this.RMCommentCard = RMOverallCount > 0 ? true : false;\r\n\r\n let not_stock1 = this.not_stock_of_rm.reduce((sum, val) => sum + +val, 0);\r\n console.log('value',value);\r\n console.log('not_stock1',not_stock1);\r\n if(not_stock1 > 0){ \r\n console.log('not_stock1',not_stock1);\r\n this.RMsufficientList[0].disabled = false;\r\n this.RMsufficientList[2].disabled = true;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('');\r\n }\r\n else if(not_stock1 == 0){ \r\n console.log('0',not_stock1);\r\n this.RMsufficientList[0].disabled = true;\r\n this.RMsufficientList[2].disabled = false;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('not applicable');\r\n }\r\n console.log('this.RMsufficientList',this.RMsufficientList);\r\n }\r\n \r\n if(flag == 2) {\r\n this.FinishedCounterArray[index] = value != \"\" ? 1 : 0\r\n this.not_stock_of_fg[index] = value == \"yes\" ? 1 : 0;\r\n }\r\n if (flag == 3) {\r\n this.RetailCounterArray[index] = value != \"\" ? 1 : 0\r\n this.not_stock_of_tg[index] = value == \"yes\" ? 1 : 0;\r\n }\r\n if (flag == 4) {\r\n this.WholeSaleCounterArray[index] = value != \"\" ? 1 : 0\r\n this.not_stock_of_ws[index] = value == \"yes\" ? 1 : 0;\r\n }\r\n let FGOverallCount = this.FinishedCounterArray.reduce((sum, val) => sum + +val, 0);\r\n let RTGOverallCount = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n let WTGOverallCount = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n let TGOverallCount = FGOverallCount + RTGOverallCount + WTGOverallCount;\r\n this.TGCommentCard = TGOverallCount > 0 ? true : false;\r\n\r\n let not_stock_fg = this.not_stock_of_fg.reduce((sum, val) => sum + +val, 0);\r\n let not_stock_ws = this.not_stock_of_ws.reduce((sum, val) => sum + +val, 0);\r\n let not_stock_tg = this.not_stock_of_tg.reduce((sum, val) => sum + +val, 0);\r\n let not_stock2 = not_stock_fg + not_stock_ws + not_stock_tg;\r\n console.log('not_stock2',not_stock2);\r\n if(not_stock2 > 0){ \r\n console.log('not_stock2',not_stock2);\r\n this.TGsufficientList[0].isdisabled = false;\r\n this.TGsufficientList[2].isdisabled = true;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('');\r\n }\r\n else if(not_stock2 == 0){ \r\n console.log('0',not_stock2);\r\n this.TGsufficientList[0].isdisabled = true;\r\n this.TGsufficientList[2].isdisabled = false;\r\n // this.stockForm.controls['is_sufficiant_finished_and_traded_goods'].setValue('not applicable');\r\n }\r\n console.log('Data',this.TGsufficientList);\r\n // else if(not_stock == 0){ \r\n // this.stockForms.controls['is_sufficiant_finished_and_traded_goods'].setValue('');\r\n // }\r\n \r\n }\r\n\r\n\r\n /** To Save/Edited Popup Data */\r\n saveStockInfo(answerFormValues) {\r\n //To Remove The \"Null\" With Key also\r\n // if(answerFormValues.manufacturing_details){\r\n // answerFormValues.manufacturing_details.forEach(parent=>{\r\n // if(parent.manufacturing_finished_goods){\r\n // parent.manufacturing_finished_goods.forEach(finish_goods=>{\r\n // delete finish_goods.uomSearch\r\n // })\r\n // }\r\n // if(parent.manufacturing_raw_materials){\r\n // parent.manufacturing_raw_materials.forEach(raw_mat=>{\r\n // delete raw_mat.uomSearch\r\n // })\r\n // }\r\n // })\r\n // }\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.stockForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(() => {\r\n this.navCtrl.pop();\r\n }, 2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n }\r\n\r\n inWords(e, flag: number, i) {\r\n switch (flag) {\r\n case 1:\r\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 2:\r\n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 3:\r\n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 4:\r\n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n searchFun(control,index){\r\n console.log(\"control\",control.controls['uomSearch'].value)\r\n control.controls['uomSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.uomDataValue=this.constant.searchData(this.uomData,control.controls['uomSearch'].value,'')\r\n })\r\n \r\n }\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","import { Component,ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\r\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionFinancialInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-financial-info',\r\n templateUrl: 'pd-question-financial-info.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PdQuestionFinancialInfoPage {\r\n \r\n public financialForm: FormGroup;\r\n\r\n pdDetails:any;\r\n FormId:any;\r\n users:any;\r\n company_id:any;\r\n isDisplay:boolean;\r\n customerCommentsFlag:boolean;\r\n FY_annualSalesInwords: any =[]\r\n FY_netProfitAmtInwords: any=[]\r\n FY_netLossAmtInwords: any=[]\r\n AV_annualSalesInwords: any=[]\r\n AV_netProfitAmtInwords: any=[]\r\n AV_netLossAmtInwords: any=[]\r\n AV_netProfitAmtFrmInwords: any=[]\r\n AV_netProfitAmtToInwords: any=[]\r\n AV_netLossAmtFrmInwords: any=[]\r\n AV_netLossAmtToInwords: any=[]\r\n AV_SalesFrmInwords: any=[]\r\n AV_SalesToInwords: any=[]\r\n AV_SalesInwords: any=[];\r\n AV_marginProfitAmtInwords: any=[];\r\n AV_marginLossAmtInwords: any=[];\r\n formDetails: any;\r\n CustSegAbbr:any;\r\n\r\n av : any =[{id:6, name:'Letter of Credit'},\r\n {id:2, name:'Bank Guarantee'},\r\n {id:3, name:'Cash Credit Limit'},\r\n {id:7, name:'OD Limit'},\r\n {id:4, name:'Factoring'},\r\n {id:5, name:'Forfaiting'},\r\n {id:1, name:'Others'}]\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,\r\n public fb:FormBuilder,public cons:ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.FormId = this.formDetails.form_id;\r\n // this.FormId=this.navParams.get('FormId');\r\n this.company_id=this.pdDetails.company_id\r\n this.users=this.aws.getlocale();\r\n let x = this.pdDetails.customer_segment_abbr.split(\"-\");\r\n this.CustSegAbbr=x[1]\r\n \r\n this.initFinancialForm()\r\n // console.log(\"ld\",this.financialForm.controls['estimated_value'])\r\n // if(this.financialForm.controls['estimated_value']['controls'].length>0){\r\n // console.log(this.financialForm.controls['estimated_value']['controls'][0].controls)\r\n // const estime_value=this.financialForm.controls['estimated_value']['controls'][0].controls['estimate_sales_average']\r\n // console.log(estime_value)\r\n // estime_value.valueChanges.subscribe(res=>{\r\n // console.log(\"changes\",res);\r\n // })\r\n//}\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\r\n this.getDetails()\r\n this.getPDImages();\r\n }\r\n\r\n AllCalculation(control,index){\r\n console.log(\"all\",control)\r\n if(control.controls['estimate_profit_or_loss'].value == 1 && control.controls['estimate_net_margin_availablity'].value =='yes'){\r\n if(control.controls['estimate_profit_range_from'].value != '' && control.controls['estimate_profit_range_to'].value != ''){\r\n console.log(\"calculate marginP\")\r\n this.calculateMarginProfit(index,control)\r\n }\r\n }\r\n if(control.controls['estimate_profit_or_loss'].value == 1 && control.controls['estimate_net_margin_availablity'].value =='no'){\r\n if(control.controls['estimate_net_profit_from'].value != '' && control.controls['estimate_net_profit_to'].value != ''){\r\n console.log(\"calculate Profit \")\r\n this.calculateProfitAmount(index,control)\r\n }\r\n }\r\n if(control.controls['estimate_profit_or_loss'].value == 2 && control.controls['estimate_net_margin_availablity'].value =='yes'){\r\n if(control.controls['estimate_loss_range_from'].value != '' && control.controls['estimate_loss_range_to'].value != ''){\r\n console.log(\"calculate marginL\")\r\n this.calculateMarginLoss(index,control)\r\n }\r\n }\r\n if(control.controls['estimate_profit_or_loss'].value == 2 && control.controls['estimate_net_margin_availablity'].value =='no'){\r\n if(control.controls['estimate_net_loss_from'].value != '' && control.controls['estimate_net_loss_to'].value != ''){\r\n console.log(\"calculate Loss\")\r\n this.calculateLossAmount(index,control)\r\n }\r\n }\r\n }\r\n selectedStatement(e :any):void{\r\n\r\n if(e == 'yes'){\r\n\r\n this.isDisplay = true;\r\n this.financialForm.controls['is_financial_customer'].setValue('');\r\n \r\n }\r\n else if(e == 'no'){\r\n\r\n this.isDisplay = false;\r\n this.financialForm.controls['is_financial_customer'].setValue('no');\r\n // this.selectedFinancialCustomer('no');\r\n \r\n const statementControl = this.financialForm.controls['date_per_financial'];\r\n \r\n while (statementControl.length !== 0) {\r\n statementControl.removeAt(0);\r\n }\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n this.financialForm.controls['financial_starting_year'].setValue('');\r\n this.financialForm.controls['financial_no_of_year'].setValue('');\r\n\r\n // alert((new Date()).getFullYear());\r\n // let year1 = (new Date()).getFullYear();\r\n // let year2 = ((new Date()).getFullYear() + 1); \r\n // let Year = year1 +'-'+ year2;\r\n \r\n }\r\n\r\n}\r\n /** fin customer data from Fin statement*/\r\n selectedFinancialCustomer(e: any): void {\r\n if(e == 'yes'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n }\r\n else if (e == 'no'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n }\r\n }\r\n\r\n selectedProfitOrLossType(e,detail){\r\n \r\n if(e.value == 1){\r\n detail.controls.financial_net_loss.setValue('');\r\n detail.controls.financial_margin_of_loss.setValue('');\r\n }\r\n else if(e.value == 2){\r\n detail.controls.financial_net_profit.setValue('');\r\n detail.controls.financial_margin_of_profit.setValue('');\r\n }\r\n}\r\n\r\n\r\n /** For Auto-generating FinYear */\r\n dynamicalFinYear($event){\r\n \r\n // let e = $event.target.value;\r\n let e =this.financialForm.controls['financial_no_of_year'].value\r\n if(e != null && e != ''){\r\n if(e == 1){\r\n this.customerCommentsFlag = false;\r\n }\r\n else{\r\n this.customerCommentsFlag = true;\r\n }\r\n\r\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\r\n\r\n const control = this.financialForm.controls['date_per_financial'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\r\n control.push(this.createDate(Year));\r\n }\r\n }\r\n}\r\n }\r\n\r\n\r\n initFinancialForm(){\r\n this.financialForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n company_id: this.company_id,\r\n fk_createdby: this.users,\r\n financial_remarks: [''],\r\n is_financial_statements:[''],\r\n is_financial_customer:[''],\r\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n financial_no_of_year : [''],\r\n financial_reason: [''],\r\n financial_customer:[''],\r\n receive_the_money_in_days:[''],\r\n pay_the_money_in_days:[''],\r\n unsold_stock_lies_in_days:[''],\r\n is_there_working_capital_available:[''],\r\n working_capital_facilities_availed:[''],\r\n reason_for_working_capital_facilities_availed:[''],\r\n // same_as_financial_statements:[''],\r\n date_per_financial: this.fb.array([]),\r\n estimated_value: this.fb.array([])\r\n });\r\n }\r\n createDate(date){\r\n return this.fb.group({\r\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\r\n finanical_profit_or_loss:[''],\r\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_margin_of_profit: [''],\r\n financial_margin_of_loss: [''],\r\n financial_variation: [''],\r\n financial_profit_to_sale_variation:[''],\r\n financial_annualsales_variation : [''],\r\n })\r\n }\r\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\r\n createValue(date) {\r\n return this.fb.group({\r\n \r\n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n estimate_sales_from: [''],\r\n estimate_sales_to: [''],\r\n estimate_sales_average: [''],\r\n estimate_profit_or_loss:[''],\r\n estimate_net_margin_availablity:[''],\r\n estimate_profit_range_from:[''],\r\n estimate_profit_range_to:[''],\r\n estimate_profit_margin_percent:[''],\r\n estimate_profit_margin:[''],\r\n estimate_net_profit_from:[''],\r\n estimate_net_profit_to:[''],\r\n estimate_net_profit_percent:[''],\r\n estimate_net_profit:[''],\r\n estimate_loss_range_from:[''],\r\n estimate_loss_range_to:[''],\r\n estimate_loss_margin_percent:[''],\r\n estimate_loss_margin:[''],\r\n estimate_net_loss_from:[''],\r\n estimate_net_loss_to:[''],\r\n estimate_net_loss_percent:[''],\r\n estimate_net_loss:[''],\r\n estimate_reason_for_loss:[''],\r\n // estimate_receive_the_money_in_days:[''],\r\n // estimate_pay_the_money_in_days:[''],\r\n // estimate_unsold_stock_lies_in_days:[''],\r\n // estimate_working_capital_facilities_availed:[''],\r\n // reason_for_working_capital_facilities_availed:[''],\r\n // is_there_working_capital_available:['']\r\n\r\n });\r\n}\r\nsubmitDetails(){\r\n \r\n \r\n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n}\r\n let records=this.financialForm.value;\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n if(res['status']== 200){\r\n this.financialForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\r\n })\r\n}\r\n getDetails(){\r\n const financeDate=this.financialForm.controls['date_per_financial']\r\n //financeDate.push(this.createDate(''))\r\n const estimate= this.financialForm.controls['estimated_value']\r\n //estimate.push(this.createValue(''))\r\n let params:any={}\r\n params.pd_id=this.pdDetails.pd_id\r\n params.pd_form_id=this.FormId\r\n params.company_id=this.company_id\r\n this.qustCat.retiverForm(params).subscribe(value=>{\r\n if(value['dataStatus']==true){\r\n let retrieveData=value['records'];\r\n if(value['records'].is_financial_statements == 'yes'){\r\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\r\n return value['records'].date_per_financial[key]\r\n })\r\n if(result.length>0){\r\n this.customerCommentsFlag=result.length == 1 ? false : true\r\n result.forEach((val,index)=>{\r\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\r\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\r\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\r\n financeDate.push(this.createDate(''));\r\n });\r\n retrieveData.date_per_financial=result;\r\n }\r\n else{\r\n financeDate.push(this.createDate(''))\r\n }\r\n }\r\n if(this.CustSegAbbr != 'AI'){\r\n if(value['records'].is_financial_customer == 'no'){\r\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\r\n return value['records'].estimated_value[key]\r\n });\r\n if(result_val.length>0){\r\n result_val.forEach((val,index)=>{\r\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\r\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\r\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\r\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\r\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\r\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\r\n estimate.push(this.createValue(''))\r\n });\r\n retrieveData.estimated_value=result_val\r\n }\r\n else{\r\n estimate.push(this.createValue(''));\r\n }\r\n }\r\n}\r\n retrieveData.pdid=this.pdDetails.pd_id\r\n retrieveData.company_id=this.company_id\r\n retrieveData.fk_createdby=this.users\r\n retrieveData.formid=this.FormId\r\n this.financialForm.setValue(retrieveData)\r\n }\r\n else {\r\n //financial_date.push(this.createDate());\r\n //estimated_val.push(this.createValue(''));\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * New Calculation for Finanical Statement \r\n **/\r\n calculationForFinanicalStatement(){\r\n \r\n let parentArray = this.financialForm.controls['date_per_financial'];\r\n // let prev_annual_sale : any = '';\r\n // let prev_profit_margin : any = '';\r\n // let prev_loss_margin : any = '';\r\n // let prev_profit_amt : any = '';\r\n // let prev_loss_amt : any = '';\r\n // let profit_margin : any = '';\r\n // let loss_margin : any = '';\r\n // let annual_sale : any = '';\r\n // let profit_amt : any = '';\r\n // let loss_amt : any = '';\r\n let prev_annual_sale : any = '';\r\n let prev_profit_margin : any = [];\r\n let prev_loss_margin : any = [];\r\n let prev_profit_amt : any = '';\r\n let prev_loss_amt : any = '';\r\n let profit_margin : any = '';\r\n let loss_margin : any = '';\r\n let annual_sale : any = '';\r\n let profit_amt : any = '';\r\n let loss_amt : any = '';\r\n\r\n parentArray.value.forEach((val,index) => {\r\n\r\n let childArray : any = parentArray.controls[index];\r\n annual_sale = val.financial_annual_sale;\r\n \r\n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \r\n * Explaination : Comparing Curr.Year annual sales and Prev.year annual sales\r\n * Label name : \" Sale Variation from Previous Year in % \"\r\n */\r\n \r\n if (index != 0) { \r\n if(annual_sale != ''){\r\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\r\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\r\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\r\n }\r\n }\r\n else{\r\n childArray.controls.financial_annualsales_variation.setValue(0.00);\r\n }\r\n \r\n\r\n prev_annual_sale = annual_sale;\r\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\r\n\r\n\r\n profit_amt = val.financial_net_profit;\r\n loss_amt = val.financial_net_loss;\r\n\r\n /** Calculating Profit's Variation - STARTS HERE\r\n * Explaination : Comparing Curr.Year Net Profit (or) Loss Amount With Prev.year Net Profit (or) Loss Amount\r\n * Label name : \"Profit Variation from Previous Year in %\"\r\n */\r\n if((profit_amt != '' || loss_amt != '') && index != 0) {\r\n if(+profit_amt > +annual_sale){\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n } \r\n else{\r\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\r\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\r\n\r\n let variation = (((profit_amt != '' ? profit_amt : loss_amt ) - (prev_profit_amt != '' ? prev_profit_amt : prev_loss_amt ))/ (prev_profit_amt != '' ? Math.abs(prev_profit_amt) : Math.abs(prev_loss_amt))) * 100; \r\n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\r\n childArray.controls.financial_variation.setValue(final_variation);\r\n\r\n }\r\n }\r\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\r\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\r\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \r\n * Explaination : Comparing Curr.Year Net Profit Amount With Curr.year Annual Sales Amount ( like wise loss )\r\n * Label name : \"Net Profit to Sales in % (or) Net Loss to Sales in % \r\n **/\r\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\r\n \r\n if(SelectedlossOrProfit == 1){\r\n\r\n loss_margin = '';\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_profit != '') {\r\n if(+profit_amt>+annual_sale){\r\n alert(\"profit is greater than Annual Sale \");\r\n childArray.controls.financial_net_profit.setValue(0);\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\r\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\r\n \r\n }\r\n }\r\n }\r\n else if(SelectedlossOrProfit == 2){\r\n profit_margin = '';\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_loss != '') {\r\n if(+val.financial_net_loss>+annual_sale){\r\n alert(\"Loss is greater than Annual Sale \");\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n if(+loss_amt>+annual_sale){\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n \r\n\r\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\r\n\r\n\r\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\r\n \r\n }\r\n }\r\n }\r\n // console.log('val.financial_margin_of_profit',val.financial_margin_of_profit);\r\n // console.log('profit_margin',profit_margin);\r\n // console.log('childArray.controls.financial_margin_of_loss',childArray.controls.financial_margin_of_loss.value);\r\n // prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\r\n // prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\r\n prev_profit_margin[index] = profit_margin != '' ? profit_margin : 0;\r\n prev_loss_margin[index] = loss_margin !='' ? loss_margin : 0 ;\r\n \r\n \r\n // if(index != 0 ){\r\n \r\n // let variation_percent = (((profit_margin != '' ? profit_margin : loss_margin ) - (prev_profit_margin != '' ? prev_profit_margin : prev_loss_margin ))/ (prev_profit_margin != '' ? Math.abs(prev_profit_margin) : Math.abs(prev_loss_margin))) * 100; \r\n \r\n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\r\n \r\n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\r\n\r\n // }\r\n\r\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Sales's Profit Variation \r\n * Label name = \"Variation of Profit % over sales\"\r\n **/\r\n \r\n if ((profit_margin != '' || loss_margin != '') && index != 0) {\r\n \r\n \r\n // console.log('temp_prev_losses',prev_loss_margin);\r\n // console.log('temp_prev_profits',prev_profit_margin);\r\n\r\n // console.log('curr index',index);\r\n\r\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\r\n profit_margin = profit_margin !== undefined ? profit_margin:0;\r\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\r\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\r\n\r\n // console.log('profit_margin',profit_margin);\r\n // console.log('pre year loss_margin',temp_prev_loss_margin);\r\n // console.log('loss_margin',loss_margin);\r\n // console.log('pre year profit_margin',temp_prev_profit_margin);\r\n\r\n \r\n if(annual_sale != ''){\r\n\r\n \r\n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\r\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\r\n let c = b * 100;\r\n \r\n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\r\n \r\n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\r\n }\r\n }\r\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\r\n\r\n\r\n });\r\n }\r\n \r\n \r\n confirmAlert(i, details){\r\n\r\n let estimate_sales_from = +details.value.estimate_sales_from;\r\n let estimate_sales_to = +details.value.estimate_sales_to;\r\n\r\n if (estimate_sales_from != null && estimate_sales_to != null){\r\n \r\n if(+estimate_sales_from>+estimate_sales_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_sales_to.setValue('');\r\n details.controls.estimate_sales_average.setValue('');\r\n return;\r\n }\r\n\r\n let C = (estimate_sales_to - estimate_sales_from)\r\n let D = (C / estimate_sales_from) * 100;\r\n \r\n if(estimate_sales_from <= 5000000){\r\n if(D > 20){\r\n var r = confirm(\"Given Sales Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\r\n if(D > 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 10000000){\r\n if(D > 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n\r\n // if(D >= 30){\r\n // var r = confirm(\"Given Sales Range is greater than 30%\");\r\n // if (r == true) {\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \r\n // }else{\r\n // details.controls.estimate_sales_to.setValue('');\r\n // return;\r\n // }\r\n // }\r\n // else{\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\r\n // }\r\n }\r\n this.calculateSalesAverage(i, details);\r\n }\r\n\r\n calculateSalesAverage(i, details){\r\n \r\n let estimate_sales_from = details.value.estimate_sales_from;\r\n let estimate_sales_to = details.value.estimate_sales_to;\r\n\r\n if(estimate_sales_from != '' && estimate_sales_to != ''){\r\n\r\n let range1 = +estimate_sales_from/10;\r\n \r\n let lower = (+estimate_sales_from)+range1;\r\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\r\n\r\n if(lower > higer){\r\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue('');\r\n }\r\n\r\n }\r\n calculateMarginProfit( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\r\n if(+estimate_profit_range_from > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_profit_range_to = details.value.estimate_profit_range_to;\r\n \r\n if(+estimate_profit_range_to > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n\r\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\r\n if(+estimate_profit_range_from>+estimate_profit_range_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \r\n let Profit_Average = (profit_percent*sales_average)/100;\r\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n }else{\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n }\r\n \r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\r\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n calculateProfitAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n //alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\r\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\r\n\r\n if(+estimate_net_profit_to>+sales_average){\r\n \r\n //alert(\"Given Profit is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n\r\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\r\n if(+estimate_net_profit_from>+estimate_net_profit_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n \r\n let C = (estimate_net_profit_to - estimate_net_profit_from)\r\n let D = (C / estimate_net_profit_from) * 100;\r\n \r\n let range1 = +estimate_net_profit_from/10;\r\n \r\n let lower = (+estimate_net_profit_from)+range1;\r\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\r\n\r\n if(estimate_net_profit_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_profit_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n \r\n }\r\n \r\n}\r\n\r\ncalculateMarginLoss( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n // else{\r\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\r\n if(+estimate_loss_range_from > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_loss_range_to = details.value.estimate_loss_range_to;\r\n if(+estimate_loss_range_to > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n\r\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\r\n \r\n if(+estimate_loss_range_from>+estimate_loss_range_to){\r\n //alert(\"Given Loss Percent is more than 100\");\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n \r\n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\r\n let loss_Average = (loss_percent*sales_average)/100;\r\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\r\n\r\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\r\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\r\n \r\n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n \r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }else{\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n } \r\n \r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }\r\n\r\n}\r\n\r\n\r\ncalculateLossAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\r\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\r\n\r\n if(+estimate_net_loss_to > +sales_average){\r\n \r\n // alert(\"Given Loss is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\r\n if(+estimate_net_loss_from > +estimate_net_loss_to){\r\n //alert(\"Given To value is Lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n \r\n // if(+estimate_net_loss_to > +estimate_net_loss_from){\r\n // alert(\"loss is greater than sales\");\r\n // details.controls.estimate_net_loss_to.setValue('');\r\n // details.controls.estimate_net_loss.setValue('');\r\n // details.controls.estimate_net_loss_percent.setValue('');\r\n // return;\r\n // }\r\n \r\n \r\n let C = (estimate_net_loss_to - estimate_net_loss_from)\r\n let D = (C / estimate_net_loss_from) * 100;\r\n \r\n let range1 = +estimate_net_loss_from/10;\r\n \r\n let lower = (+estimate_net_loss_from)+range1;\r\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\r\n\r\n if(estimate_net_loss_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_loss_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n \r\n }\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n \r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n\r\n \r\n\r\n\r\n \r\n\r\n /** On Key Press Event For Input Field */\r\n keyPress(event: any) {\r\n //const pattern = /[0-9\\-\\.\\ ]/;\r\n const pattern = /[0-9\\.]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n\r\n switch(flag){\r\n case 1 :\r\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\r\n break;\r\n case 2 : \r\n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\r\n break;\r\n case 3 : \r\n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\r\n break;\r\n case 4 : \r\n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 : \r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 6 : \r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 7 : \r\n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 8 : \r\n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 9 : \r\n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 10 : \r\n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 11 : \r\n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 12 : \r\n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionClientInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-client-info',\r\n templateUrl: 'pd-question-client-info.html',\r\n})\r\nexport class PdQuestionClientInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n pdid: any;\r\n company_id: any;\r\n questionDetails: any;\r\n clientInfoForm: FormGroup;\r\n\r\n\r\n\r\n\r\n public submitted = false;\r\n\r\n public m_paymentType = [];\r\n\r\n companyRelationShipList: any = [];\r\n\r\n titleList: any = [];\r\n noRecordsFound: Boolean = false;\r\n errorMessage: any = '';\r\n m_manufacturingProducts: any = [];\r\n m_tradingProducts: any = [];\r\n m_suplierProducts: any = [];\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, \r\n public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, \r\n public toast: ToastProvider, public fb: FormBuilder,private loading:LoadingProvider,private cameraProvider:CameraProvider)\r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid = this.pdDetails.pd_id;\r\n this.company_id = this.pdDetails.company_id;\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\r\n\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n });\r\n\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\r\n this.getPDImages();\r\n }\r\n\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus']) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n // Load form details for manufacturing\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n // if(dataForm.manufacturing_details[0].main_raw_materials){\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n if(dataForm.manufacturing_details){\r\n console.log(dataForm)\r\n \r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n console.log(\"NO Data\",dataForm)\r\n this.initManufacturingProductsDetails(null)\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue( null);\r\n }\r\n }\r\n // }\r\n\r\n // Load form details for the wholeshale trading details\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n if(dataForm.trade_details){\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n\r\n this.initTradingProductsDetails(api_trading_products);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue( null);\r\n }\r\n }\r\n\r\n // Load form details for the service provider prduct details \r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n // return dataForm.service_products[key];\r\n // });\r\n if(dataForm.service_provider_details){\r\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(dataForm.service_provider_details[0].service_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initServiceProviderProductsDetails(null)\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n return dataForm.service_products[key];\r\n });\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.initServiceProviderProductsDetails(null);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // let arr = val.filter(data => data.type_of_activity_id == 4);\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n serviceProviderForm: Boolean = false;\r\n serviceProviderFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 5);\r\n if (arr.length > 0) {\r\n this.serviceProviderForm = true;\r\n return this.fb.group({\r\n service_products: this.fb.array([]),\r\n service_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initManufacturingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_product_name: [''],\r\n manufacturing_client_name: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n // manufacturing_credit_days: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_product_name: [records.manufacturing_product_name || null],\r\n manufacturing_client_name: [records.manufacturing_client_name || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\r\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initTradingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_client_name: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n trade_client_name: [records.trade_client_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n initServiceProviderProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n if (datas === null) {\r\n control.push(this.initServiceProviderProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\r\n control.push(this.initServiceProviderProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initServiceProviderProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initServiceProviderProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n service_provider_product_name: [''],\r\n service_provider_client_name: [''],\r\n service_provider_product_contact_person_name: [''],\r\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [''],\r\n service_provider_product_payment_mode: [''],\r\n service_provider_product_frequency_of_purchase: [''],\r\n service_provider_product_credit_days_from: [''],\r\n service_provider_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n service_provider_product_name: [records.service_provider_product_name],\r\n service_provider_client_name: [records.service_provider_client_name],\r\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\r\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\r\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\r\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\r\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\r\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoreServiceProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n\r\n control.push(this.initServiceProviderProducts(null));\r\n }\r\n\r\n removeServiceProduct(inx): void {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.companyRelationShipList = data['records'];\r\n // .filter(data => data.isactive == 1);\r\n // because in general no need of \"other\" option but in client others option needed - in DB others option changed into inactive\"\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n // saveclientDetails(answerData)\r\n // {\r\n // let records:any ={};\r\n\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId.form_id;\r\n // records.fk_createdby = this.users;\r\n\r\n // records.client_details = answerData.clientArray;\r\n\r\n // this.qustCat.saveForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.navCtrl.pop();\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n /** To Save/Edited Popup Data */\r\n saveClientInfo(answerFormValues) {\r\n \r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n if (answerFormValues.manufacturing_details[0] == null) {\r\n delete answerFormValues['manufacturing_details'];\r\n }\r\n if (answerFormValues.trade_details[0] == null) {\r\n delete answerFormValues['trade_details'];\r\n }\r\n if (answerFormValues.service_provider_details[0] == null) {\r\n delete answerFormValues['service_provider_details'];\r\n }\r\n\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n this.clientInfoForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 3) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n spCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n spCounter: any = [];\r\n checkCard(e, flag, index) {\r\n\r\n if (flag == 3 && e == 3) {\r\n this.spCounter[index] = 1;\r\n }\r\n else if (flag == 3 && e != 3) {\r\n this.spCounter[index] = 0;\r\n }\r\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\r\n this.spCreditCardFlag = SP > 0 ? true : false;\r\n\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams ,AlertController} from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\r\nimport {PdQuestionAssessedSummaryPage} from '../pd-question-assessed-summary/pd-question-assessed-summary'\r\nimport {PdQuestionAssessedImagesPage} from '../../pd-question/pd-question-assessed-images/pd-question-assessed-images'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDashPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-dash',\r\n templateUrl: 'pd-question-assessed-dash.html',\r\n})\r\nexport class PdQuestionAssessedDashPage {\r\n\r\n businessIncome: boolean;\r\n grossAccess: boolean;\r\n finalAccess: boolean;\r\n finalExpense: any;\r\n finalIncome: any;\r\n finalData: any;\r\n houseExpenseData: boolean;\r\n businessData: boolean;\r\n salesData: boolean;\r\n purchaseData: boolean;\r\n grossprofit: any;\r\n assessedProcess: boolean;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n alertShown: boolean;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public alertCtrl:AlertController) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n calc_type_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n // radio_for_mode:[null,Validators.compose([Validators.required])],\r\n mode:[null],\r\n margin:[null],\r\n purchase_type:[null,Validators.compose([Validators.required])],\r\n fk_createdby:[null],\r\n fk_updatedby:[null],\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getassessedIncome(); \r\n }\r\n getViewPage(pageId)\r\n {\r\nif(pageId == 11){//Summary\r\n this.navCtrl.push(PdQuestionAssessedSummaryPage,{'pdDetails':this.pdDetails,'pageId':pageId})\r\n}\r\nelse if(pageId == 12){//IMAGES\r\n this.navCtrl.push(PdQuestionAssessedImagesPage,{'pdDetails':this.pdDetails,'pageId':pageId,'formdetails':this.FormId})\r\n}\r\nelse{\r\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\r\n}\r\n }\r\n\r\n saveAssessedForm(answerData)\r\n {\r\n \r\n \r\n if(this.assessedForm.valid)\r\n {\r\n console.log(\"mode\",answerData.purchase_type.value)\r\n if(this.assessedForm.controls['purchase_type'].value == 1 ){\r\n this.assessedForm.controls['mode'].setValue(1)\r\n this.assessedForm.controls['margin'].setValue(null)\r\n \r\n }\r\n else if(this.assessedForm.controls['purchase_type'].value == 2){\r\n this.assessedForm.controls['mode'].setValue(1)\r\n this.assessedForm.controls['margin'].setValue(null)\r\n \r\n }\r\n else if(this.assessedForm.controls['purchase_type'].value == 0){\r\n this.assessedForm.controls['mode'].setValue(2)\r\n this.assessedForm.controls['margin'].setValue(2)\r\n this.assessedForm.controls['purchase_type'].setValue(null)\r\n }\r\n if(this.assessedForm.controls['calc_type_id'].value != null){\r\n this.assessedForm.controls['fk_updatedby'].setValue(this.users)\r\n }\r\n if(this.assessedForm.controls['fk_createdby'].value == null){\r\n this.assessedForm.controls['fk_createdby'].setValue(this.users);\r\n }\r\n console.log(this.assessedForm.value);\r\n let tempRec=this.assessedForm.value\r\n tempRec.company_id=this.pdDetails.company_id;\r\n console.log(\"tempRec\",tempRec)\r\n let records = {'records':tempRec};\r\n // delete records.records.radio_for_mode\r\n\r\n // console.log(\"after\",records);\r\n \r\n \r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage(\"Saved Successfully..!\")\r\n setTimeout(()=>{\r\n this.getassessedIncome();\r\n })\r\n \r\n }else\r\n {\r\n\r\n }\r\n })\r\n \r\n }\r\n \r\n }\r\n\r\n getassessedIncome()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'company_id':this.pdDetails.company_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.assessedProcess = true;\r\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\r\n if(res['records'].purchase_details.length !=0)\r\n {\r\n this.purchaseData = true;\r\n }\r\n if(res['records'].sales_items_by_monthwise.length !=0 || res['records'].sales_declared_by_customer.length !=0 || res['records'].sales_calculated_by_itemwise.length !=0)\r\n {\r\n this.salesData = true;\r\n }\r\n if(res['records'].business_expenses.length !=0)\r\n {\r\n this.businessData = true;\r\n }\r\n if(res['records'].house_hold_expenses.length !=0)\r\n {\r\n this.houseExpenseData = true;\r\n }\r\n if(res['records'].othre_business_income.length !=0)\r\n {\r\n this.businessIncome = true;\r\n }\r\n \r\n if(res['records'].final_data.length !=0){\r\n this.finalAccess = true;\r\n this.finalData = res['records'].final_data[0]; \r\n this.finalIncome = this.finalData.income;\r\n this.finalExpense = this.finalData.expense; \r\n }\r\n \r\n if(this.grossprofit !==undefined && this.grossprofit.length !=0)\r\n {\r\n this.grossAccess = true;\r\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\r\n if(this.grossprofit.purchase_type == null ){\r\n this.assessedForm.controls['purchase_type'].setValue(0);\r\n }\r\n else{\r\n this.assessedForm.controls['purchase_type'].setValue(this.grossprofit.purchase_type);\r\n }\r\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\r\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\r\n this.assessedForm.controls['fk_createdby'].setValue(this.grossprofit.fk_createdby);\r\n }\r\n \r\n \r\n }else\r\n {\r\n this.assessedProcess = false;\r\n }\r\n });\r\n }\r\n completeAI(){\r\n let updateStatus={\r\n \"fk_pd_id\":this.pdDetails.pd_id,\r\n \"company_id\":this.pdDetails.company_id,\r\n \"calc_type_id\":this.grossprofit.calc_type_id,\r\n \"is_completed\":1\r\n }\r\n let records:any={'records':updateStatus}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Assessed Income Completed Successfully\")\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1000)\r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Error\")\r\n }\r\n })\r\n }\r\n presentConfirm(){\r\n let alert=this.alertCtrl.create({\r\n title:'Complete Assessed Income',\r\n message:'Please confirm you are completing the Assessed Income details?',\r\n buttons:[\r\n {\r\n text:'No',\r\n role:'no',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n //this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.completeAI()\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n // this.alertShown=true;\r\n }\r\n\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Generated class for the RupeeCurrencyFormatPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: 'rupeeCurrencyFormat',\n})\nexport class RupeeCurrencyFormatPipe implements PipeTransform {\n /**\n * Takes a value and makes it lowercase.\n */\n transform(value: any):any {\n if (!isNaN(value) && value) {\n var currencySymbol = '₹';\n //var output = Number(input).toLocaleString('en-IN'); <-- This method is not working fine in all browsers! \n var result = value.toString().split('.');\n\n var lastThree = result[0].substring(result[0].length - 3);\n var otherNumbers = result[0].substring(0, result[0].length - 3);\n if (otherNumbers != '')\n lastThree = ',' + lastThree;\n var output = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\n \n if (result.length > 1) {\n output += \".\" + result[1];\n } \n\n return currencySymbol +' '+ output;\n }\n // return value.toLowerCase();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/rupee-currency-format/rupee-currency-format.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Camera } from '@ionic-native/camera';\r\n/*\r\n Generated class for the CameraProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class CameraProvider {\r\n\r\n constructor(public http: HttpClient,public camera:Camera) {\r\n console.log('Hello CameraProvider Provider');\r\n }\r\n getpicture() \r\n {\r\n const options = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 500,\r\n correctOrientation: true\r\n };\r\n\r\n // If set to crop, restricts the image to a square of 600 by 600\r\n \r\n\r\n return this.camera.getPicture(options).then(imageData => {\r\n const base64Image = 'data:image/png;base64,' + imageData;\r\n console.log(\"base 64\",base64Image);\r\n return base64Image;\r\n }, error => {\r\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\r\n return \"error\"\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 252;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 252\n// module chunks = 0","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadingController } from 'ionic-angular';\r\nimport { async } from 'rxjs/internal/scheduler/async';\r\n/*\r\n Generated class for the LoadingProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class LoadingProvider {\r\n\r\n loading: any;\r\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\r\n console.log('Hello LoadingProvider Provider');\r\n }\r\n\r\n pdloader(content)\r\n {\r\n this.loading = this.loadingCtrl.create({\r\n content: content\r\n });\r\n\r\n this.loading.present();\r\n }\r\n loaderForSendImage(){\r\n const loading=this.loadingCtrl.create({\r\n content:'Sending...',\r\n duration:2000,\r\n })\r\n return loading.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 295;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 295\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\nimport { AlertController } from 'ionic-angular';\r\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\r\n// import { GridPage } from '../grid/grid';\r\n\r\n\r\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\r\nimport { Camera } from '@ionic-native/camera';\r\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n// import { CustomValidators } from 'ng2-validation';\r\n\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PasswordPage } from '../password/password';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage {\r\n users: any;\r\nchangepass: FormGroup;\r\nemail: string;\r\npassword: string;\r\nnewpassword: any;\r\nconfirmPassword: any;\r\nchangePassword: any;\r\nstatus: Boolean = false;\r\nconfig: MatDialogConfig = {\r\n disableClose: false,\r\n width: '',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n};\r\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\r\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\r\n,public toast:ToastProvider) {\r\n \r\n}\r\nngOnInit(){\r\n //this.loggedInCheck();\r\n \r\n}\r\nionViewDidEnter(){\r\n this.Menu.enable(false);\r\n}\r\nionViewWillLeave(){\r\n this.Menu.enable(true);\r\n}\r\n/**\r\n* @param email\r\n* @param password\r\n* AWS login service\r\n*/\r\nlogin() {\r\n // console.log(this.email);\r\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\r\n let auth = { 'Username': this.email, 'Password': this.password };\r\n this.aws.dologin(auth).subscribe(awsres => {\r\n let userid = this.aws.getlocale();\r\n \r\n this.aws.getuserprofile(userid).subscribe(usersres=>\r\n {\r\n this.users = usersres; \r\n \r\n if (this.users.dataStatus == true) {\r\n \r\n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\r\n this.navCtrl.setRoot(PdListPage);\r\n \r\n }else\r\n {\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n\r\n \r\n }\r\n });\r\n }, err => {\r\n console.log(JSON.stringify(err.message));\r\n if (err.message == \"New password is required.\") {\r\n //console.log(\"if\");\r\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\r\n } else {\r\n console.log(JSON.stringify(err.message));\r\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\r\n\r\n }\r\n //alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter Email or Password');\r\n }\r\n}\r\n/**\r\n * New password set\r\n * Defalut aws function \r\n * @param email password,newpassword\r\n */\r\n// newpassopen() {\r\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result !== undefined) {\r\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\r\n// console.log(auth);\r\n// this.aws.dologin(auth).subscribe(res => {\r\n// console.log(res);\r\n// // this.router.navigate(['/home']);\r\n// }, err => {\r\n// // alert(err.message);\r\n\r\n// })\r\n// }\r\n// });\r\n// }\r\n\r\nforgotopen() {\r\n this.status = true;\r\n}\r\n\r\n\r\nforgotpassword() {\r\n\r\n let auth = { 'Username': this.email };\r\n console.log(auth);\r\n // this.aws.userforgotpass(auth).subscribe(res => {\r\n // console.log(res);\r\n\r\n // })\r\n}\r\nloggedInCheck(){\r\n //alert(this.shared.isLoggedIn);\r\n if(this.shared.isLoggedIn){\r\n alert(\"if\");\r\n // this.router.navigate(['/home']);\r\n return false;\r\n }else{\r\n alert(\"else\");\r\n \r\n return true;\r\n }\r\n}\r\n\r\n}\r\n\r\n// ======================= END ==============================\r\n/**\r\n* New password Dialog\r\n*/\r\n\r\n// const newpassword = new FormControl('', Validators.required);\r\n// const confirmPassword = new FormControl('');\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
New Password Change.
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n//
\r\n// \r\n// \r\n// \r\n\r\n// Passwords do not math.\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class NewPasswordDialog {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
Forgot Password
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class ForgotPass {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n// }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component, ElementRef,ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \r\nimport { AuthPage } from '../auth/auth';\r\n\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { OtpPage } from '../otp/otp';\r\n\r\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\r\nimport {DatePipe } from '@angular/common';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\nimport {BouncedRejectPage} from '../../pages/input/bounced-reject/bounced-reject'\r\n\r\n\r\n/**\r\n * Generated class for the InputPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19);\r\n\r\n\r\n@Component({\r\n selector: 'page-input',\r\n templateUrl: 'input.html',\r\n})\r\n\r\n\r\nexport class InputPage {\r\n enableStartPD: boolean;\r\n diffInHours: number;\r\n updatestarted: any;\r\n updateinitiated: any;\r\n appdata: any;\r\n users: any;\r\n initiatedAccess: boolean = false;\r\n scheduleAccess: boolean = false;\r\napplicatentDetails:any;\r\nmaxdate :any;\r\npipe = new DatePipe('en-US');\r\nupdateStatus:any;\r\nscheduleDate:any;\r\nupdateSchedule:any;\r\nacceptedAccess:boolean = false;\r\nstartedAccess:boolean = false;\r\ntimeOut:any = 15*1000;\r\ntimeInterval:any;\r\ncurrentPosPDofficer:any;\r\nother_applicant:any;\r\n@ViewChild('focusinp') input_focus ;\r\n@ViewChild('scroll') scrolltop : Content;\r\n addresses: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,\r\n public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,\r\n public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,\r\n public constant:ConstantsProvider,public androidPermissions:AndroidPermissions, ) {\r\n\r\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddTHH:mm').toString();\r\n // this.maxdate=new Date().toLocaleString();\r\n \r\n var date=new Date('dd');\r\n //console.log(date)\r\n var curr=date.getDate()+date.getMonth()+date.getFullYear();\r\n console.log(\"today\",curr)\r\n /***Header value pass */\r\n this.statusBar.styleDefault();\r\n \r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\r\n \r\n \r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n \r\n this.getFullPD();\r\n \r\n \r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n \r\n this.initiatedAccess = true;\r\n }\r\n //console.log(this.initiatedAccess);\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.getenableAccuracy();\r\n \r\n }\r\n this.users = this.aws.getlocale();\r\n \r\n }\r\n\r\n \r\n ionViewDidLoad() {\r\n this.setPermission();\r\n \r\n }\r\n ionViewCanLeave()\r\n {\r\n clearInterval(this.timeInterval);\r\n }\r\n locationnavicate(index)\r\n {\r\n // var address_full:string=address+' ' +this.applicatentDetails.city_name+' ' +this.applicatentDetails.state_name+' '+ (this.applicatentDetails.pincode != 'Others' ? this.applicatentDetails.pincode : this.applicatentDetails.other_pincode)\r\n let data=this.addresses[index]\r\n var address_full:string= data.addressline1+' ' +data.city_name+' ' +data.state_name+'-'+(data.pincode != 'Others' ? data.pincode : data.other_pincode)\r\n //console.log(\"add\",address_full)\r\n this.launchNavigator.navigate(address_full);\r\n }\r\n\r\n setPermission()\r\n {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n\r\n getFullPD()\r\n {\r\n let records = {'pdid':this.applicatentDetails.pd_id};\r\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.other_applicant=res['records'].applicants_details\r\n this.addresses=res['records'].pd_address\r\n console.log(this.other_applicant);\r\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \r\n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\r\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\r\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\r\n console.log(diffInHours);\r\n \r\n if(diffInHours <-4){\r\n this.enableStartPD=true;\r\n }\r\n else\r\n {\r\n this.enableStartPD = false;\r\n }\r\n } \r\n })\r\n \r\n }\r\n pdStatus(status,appdetails)\r\n {\r\n let data :any;\r\n \r\n if(status == 'BOUNCED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.navCtrl.push(BouncedRejectPage,{'details':data})\r\n // this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n // {\r\n // this.updateStatus = res;\r\n // if(this.updateStatus.dataStatus == true)\r\n // {\r\n // this.navCtrl.setRoot(PdListPage); \r\n // }\r\n // })\r\n }else if(status == 'ACCEPTED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.scheduleAccess = true;\r\n \r\n }else\r\n {\r\n this.scheduleAccess = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n pdschedule(scheduledate,appdetails)\r\n {\r\n \r\n let data :any;\r\n console.log(scheduledate);\r\n if(scheduledate != undefined){\r\n let schDate = scheduledate.slice(0,19).replace('T',' ');\r\n console.log(schDate);\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateSchedule = res;\r\n if(this.updateSchedule.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.initiatedAccess = true;\r\n }\r\n });\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Please Choose the Schedule Date\");\r\n this.input_focus.setFocus();\r\n //this.input_focus.scrollToTop();\r\n this.scrolltop.scrollTop;\r\n }\r\n}\r\n\r\n getenableAccuracy()\r\n {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.getcurrentLocation();\r\n },\r\n error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n getcurrentLocation() \r\n {\r\n let data:any;\r\n let options = {\r\n frequency: 3000, \r\n enableHighAccuracy: true,\r\n timeOut:1000,\r\n };\r\n \r\n this.timeInterval = setInterval(()=>{\r\n this.currentPosPDofficer = '';\r\n this.geolocation.getCurrentPosition(options).then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n if((resp as Geoposition).coords !=undefined){\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\r\n console.log(this.currentPosPDofficer);\r\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\r\n {\r\n // this.updateinitiated = res;\r\n // if(this.updateinitiated.dataStatus == true)\r\n // { \r\n // // this.getNewpdupdate();\r\n // // this.startedAccess = true;\r\n // }else\r\n // {\r\n // this.startedAccess = false;\r\n // }\r\n })\r\n }\r\n }).catch((error)=>{\r\n this.toast.pdTriggerappmessage(error.message);\r\n })\r\n \r\n },this.timeOut);\r\n }\r\n pdreschedule()\r\n {\r\n this.scheduleAccess = true;\r\n this.initiatedAccess = false;\r\n }\r\n pdinitiated(appdetails)\r\n { let data:any;\r\n\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n \r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'INITIATED','mobile_no':appdetails.applicat_details[0].mobile_no,'officerName':appdetails.pd_allocated_to,'firstName':appdetails.applicat_details[0].applicant_name,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateinitiated = res;\r\n if(this.updateinitiated.dataStatus == true)\r\n { \r\n this.getNewpdupdate();\r\n this.getcurrentLocation();\r\n this.startedAccess = true;\r\n }else\r\n {\r\n this.startedAccess = false;\r\n }\r\n })\r\n }).catch((error) => {\r\n console.log('Error getting location', error);\r\n });\r\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n\r\n startPdDiscussion(appdetails)\r\n {\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'Start Discussion',\r\n message: 'Are you starting the Discussion',\r\n buttons: [\r\n {\r\n text: 'No',\r\n role: 'cancel',\r\n handler: () => {\r\n \r\n // console.log('Cancel clicked');\r\n // this.toast.pdTriggerappmessage('')\r\n }\r\n },\r\n {\r\n text: 'YES',\r\n handler: () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n \r\n data = {'pd_id':appdetails.pd_id,'pd_status':'STARTED','mobile_no':appdetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\r\n console.log(data);\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {this.updatestarted = res;\r\n if(this.updatestarted.dataStatus == true)\r\n {\r\n clearInterval(this.timeInterval);\r\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\r\n }\r\n \r\n })\r\n // console.log('Buy clicked');\r\n })\r\n } \r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n getNewpdupdate()\r\n {\r\n this.acceptedAccess = false;\r\n this.initiatedAccess = false;\r\n this.scheduleAccess = false;\r\n this.startedAccess = false;\r\n this.pdDetails.getpddetails(this.users).subscribe(res=>\r\n {\r\n this.appdata = res;\r\n if(this.appdata.dataStatus == true)\r\n {\r\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n this.toast.pdTriggerappmessage(\"Accepted Successfully\")\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n this.initiatedAccess = true;\r\n this.getFullPD();\r\n this.toast.pdTriggerappmessage(\"Scheduled Successfully\")\r\n }\r\n\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.toast.pdTriggerappmessage(\"Initiated Successfully\")\r\n }\r\n }\r\n })\r\n }\r\n\r\n camerasetup()\r\n {\r\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\n\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question',\r\n templateUrl: 'pd-question.html',\r\n})\r\nexport class PdQuestionPage {\r\n \r\n docqustid: any;\r\n docName: any = [];\r\n docArray: any = [];\r\n imageArray:any = [];\r\n questionCate: any;\r\n qustCate: any;\r\n pdinfo: any;\r\n items: FormArray;\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= false;\r\n isLeft:boolean= false;\r\n tabs:any=[];\r\n \r\n questionDetails: any;\r\n questionAnswer:FormGroup;\r\n questionanotherData:FormGroup;\r\n userid:any;\r\n questionId:any;\r\n qustType:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform,public fb:FormBuilder,public qstDetails:QuestionCategoryProvider,public aws:AwsServiceProvider,public camera:CameraProvider,public toast:ToastProvider) {\r\n \r\n this.screenWidth_px=platform.width();\r\n\r\n \r\n this.questionAnswer = this.fb.group(\r\n {\r\n answerDetails:[null],\r\n items:this.fb.array([]),\r\n })\r\n this.questionanotherData = this.fb.group(\r\n {\r\n questionRemarks:[null]\r\n })\r\n this.getpdQuestionDetails();\r\n this.userid = this.aws.getlocale();\r\n}\r\n\r\n ionViewDidLoad() {\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n ionViewWillLeave() {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n // let answerDetails = this.questionAnswer.value;\r\n // let remarks = this.questionanotherData.value;\r\n if(this.isLeft)\r\n {\r\n //this.prev(answerDetails,remarks,this.questionDetails);\r\n }\r\n if(this.isRight)\r\n {\r\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\r\n }\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n \r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n \r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n \r\n this.isLeft=false;\r\n this.isRight=false;\r\n \r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n \r\n \r\n }\r\n /**\r\n * Pd Discussion Qustion Load\r\n */\r\n getpdQuestionDetails()\r\n {\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdinfo = this.navParams.get('pdDetails');\r\n for(let qustimage of this.questionDetails.questions)\r\n { \r\n if(qustimage.images !==undefined){\r\n for(let image of qustimage.images)\r\n {\r\n image.questionId = qustimage.fk_question_id; \r\n this.docArray.push(image);\r\n }\r\n for(let answers of qustimage.answers)\r\n {\r\n if(qustimage.fk_question_answertype == 3)\r\n {\r\n this.items = this.questionAnswer.get('items') as FormArray;\r\n \r\n this.items.push(this.getquestionAnswer(answers));\r\n \r\n \r\n }\r\n }\r\n }\r\n }\r\n for(let i=1;i<=this.questionDetails.questions_count;i++){\r\n let j = i.toString();\r\n this.tabs.push(j);\r\n }\r\n }\r\n\r\ngetquestionAnswer(answers)\r\n{\r\n return this.fb.group(\r\n {\r\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\r\n \"pd_answer_id\":answers.question_answer_id,\r\n \"pd_answer\": answers.answer,\r\n \"pd_answer_weightage\": answers.template_answer_weightage,\r\n \"fk_pd_id\":this.pdinfo.pd_id,\r\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\r\n \"checkbox\":(answers.isactive == null?false:true)\r\n \r\n \r\n })\r\n}\r\n // count = 0;\r\n getDocUpload(qustid)\r\n {\r\n // this.docqustid = qustId;\r\n this.camera.getpicture().then(res=>\r\n {\r\n if(res !== undefined){\r\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\r\n }\r\n });\r\n // this.count++;\r\n }\r\n docnames(name,id,image,qustid)\r\n {\r\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\r\n }\r\n removeimage(index){\r\n //for(let i=0;i<=this.igrimage.length;i++){\r\n //if(this.igrimage[i]== this.igrimage[index]){\r\n this.docArray.splice(index,1);\r\n //}\r\n //}\r\n }\r\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\r\n {\r\n \r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n\t\t\"fk_pd_id\": pd_id,\r\n\t\t\"fk_category_id\": catid,\r\n\t\t\"fk_question_id\": qut_id,\r\n\t\t\"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n\t\t\"pd_answer\": pd_answer,\r\n\t\t\"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n\t\t\r\n\t\t\"fk_createdon\": createon,\r\n\t\t\"createdby\": createdby,\r\n\t\t\"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n // {\r\n // this.qustCate = res;\r\n // if(this.qustCate.dataStatus == true){\r\n // this.SwipedTabsSlider.slideNext();\r\n // this.docArray = [];\r\n // this.getcategoryList(qt_id,pd_id);\r\n // }\r\n // })\r\n // }else\r\n // {\r\n \r\n // this.SwipedTabsSlider.slideNext(); \r\n }\r\n } \r\n\r\n getcategoryList(qustinfo,pdId)\r\n {\r\n let qustDetails = {\"question_id\":qustinfo.fk_question_id, \"pd_id\":pdId, \"template_id\":qustinfo.fk_template_id, \"category_id\":qustinfo.fk_template_question_category_id\r\n };\r\n let answerData:any;\r\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\r\n {\r\n answerData = res;\r\n if(answerData.dataStatus == true)\r\n {\r\n \r\n // answerData = answerData.records;\r\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\r\n // eachquestion['answers'] = answerData.answers; \r\n \r\n // this.questionDetails =\r\n // this.imageArray = answerData.images;\r\n // for(let docs of this.imageArray)\r\n // {\r\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\r\n // }\r\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\r\n }\r\n });\r\n }\r\n prev(answerDetails,questionRemarks,questionDetails) {\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n \"fk_pd_id\": pd_id,\r\n \"fk_category_id\": catid,\r\n \"fk_question_id\": qut_id,\r\n \"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n \"pd_answer\": pd_answer,\r\n \"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n \r\n \"fk_createdon\": createon,\r\n \"createdby\": createdby,\r\n \"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n {\r\n this.qustCate = res;\r\n if(this.qustCate.dataStatus == true){\r\n this.SwipedTabsSlider.slidePrev();\r\n this.docArray = [];\r\n this.getcategoryList(qt_id,pd_id);\r\n }\r\n })\r\n }else{\r\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\r\n this.SwipedTabsSlider.slidePrev();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { Observable, Subject, ReplaySubject, from } from 'rxjs';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport {Camera} from '@ionic-native/camera'\r\n\r\nimport {searchValue} from '../search'\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport{LoadingProvider} from '../../../providers/common-provider/loading'\r\nimport {StorageProvider} from '../../../providers/storage/storage'\r\n/**\r\n * Generated class for the PdQuestionAddressPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-address',\r\n templateUrl: 'pd-question-address.html',\r\n})\r\nexport class PdQuestionAddressPage {\r\n\r\n // additional_premises: any=[];\r\n // bussiness_address_type: any=[];\r\n // formPremisesCityArray: any=[];\r\n // tempArr: any[];\r\n // cityData: any = [];\r\n // PremisesLabel: any=[];\r\n // formPremisesArray: any=[];\r\n // z:number = 0;\r\n \r\n // PremisesOtherFlag: boolean;\r\n CITY: any;\r\n residence: any;\r\n FormId: any;\r\n getaddressDetails: any;\r\n users: any;\r\n address: string;\r\n custBehaviour: any;\r\n cmtlocality: any;\r\n\r\n //placeholderName : any = 'Estimated area of the (Address Type)';\r\n placeholderName:any=[];\r\n premisesRentAmtInwords:any=[];\r\n rentAmtInwords : any ;\r\n\r\n locality: any = [];\r\n pdlocation: any = [];\r\n pdDetails: any;\r\n questionDetails: any;\r\n pdQuestionAddress:FormGroup;\r\n addressTypes:any=[];\r\n addressRemarksAccess:boolean = false;\r\n items:FormArray;\r\n pdState: any;\r\n pdCity: any;\r\n pdPincode: any;\r\n pdOtherPincode: any;\r\n cityData: any=[];\r\n pincodeData: any=[];\r\n stateData: any=[];\r\n uomData: any=[];\r\n addressesList: any;\r\n pincodeValue:any=[]\r\n cityDataValue:any=[]\r\n // counts:number = 1;\r\n private search:searchValue[]\r\n protected _onDestroy = new Subject();\r\n public filteredCity: ReplaySubject = new ReplaySubject(1);\r\n public filteredState:ReplaySubject=new ReplaySubject(1)\r\n pincodeDataValue: any=[];\r\n base64: string;\r\n imageBucket: any=[];\r\n tab:string='0';\r\n imageDisplay: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider,\r\n public camera:Camera,private loading:LoadingProvider,private storagedb:StorageProvider) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n \r\n this.FormId = this.navParams.get('FormId');\r\n\r\n this.users = this.aws.getlocale();\r\n\r\n // if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\r\n // this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\r\n // }else{\r\n // this.address = this.pdDetails.addressline1+', - , -'; \r\n // }\r\n // this.pdState = this.pdDetails.fk_state;\r\n // this.getCityAndPincodeDetails(this.pdState);\r\n // this.pdCity = this.pdDetails.fk_city;\r\n // this.pdPincode = this.pdDetails.pincode_id;\r\n \r\n // this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\r\n \r\n this.getdropdownlist();\r\n \r\n //const control=this.pdQuestionAddress.controls['addresses']\r\n // console.log(\"co\",control)\r\n\r\n this.pdQuestionAddress = this.fb.group(\r\n {\r\n addresses:this.fb.array([]),\r\n address_form_remark:['']\r\n // address_ownership:[null],\r\n // other_ownership:[null],\r\n // rent_amt:[null],\r\n // other_premises_bussiness_activity : [null],\r\n // bussiness_activity_remark:[null],\r\n // bussiness_activity:[null],\r\n // bussiness_address_type:[null],\r\n // bussiness_address_type_others:[null], \r\n // business_years:[null],\r\n // business_month:[null],\r\n // additional_address_units: this.fb.array([]),\r\n \r\n });\r\n \r\n //this.loadPD()\r\n // let con=this.pdQuestionAddress.controls['addresses']['controls']\r\n \r\n // this.pdQuestionAddress.controls['addresses']['controls'][0].controls['citySearch'].valueChanges\r\n // .pipe(takeUntil(this._onDestroy))\r\n // .subscribe(()=>{\r\n // this.SearchCity(0);\r\n // })\r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n //this.addUnits();\r\n console.log(\"ionViewDidLoad PdQuestionAddressPage\")\r\n this.getaddressForm(); \r\n // this.getaddressFormFromLocal();\r\n this.getPDImages();\r\n \r\n }\r\n\r\n \r\n searchFun(control:any,i:number,option){\r\n// console.log(control,i)\r\n if (option == 'city') {\r\n control.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.SearchCity(control.controls['citySearch'].value, i);\r\n })\r\n }\r\n if (option == 'state') {\r\n console.log(\"state\")\r\n control.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchState(control.controls['stateSearch'].value)\r\n })\r\n }\r\n if (option == 'pin') {\r\n console.log(\"Pin\")\r\n control.controls['pinSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchPin(control.controls['pinSearch'].value,i)\r\n })\r\n }\r\n }\r\n searchPin(val:any,index:number){\r\n if(!this.pincodeData[index]){\r\n return\r\n }\r\n let searchValue=val\r\n if(!searchValue){\r\n this.pincodeDataValue[index]=this.pincodeData[index].slice()\r\n return\r\n }else{\r\n searchValue=searchValue.toLowerCase()\r\n }\r\n this.pincodeDataValue[index]=this.pincodeData[index].filter(value=>value.pincode.toLowerCase().indexOf(searchValue) > -1)\r\n }\r\n SearchCity(val: any, i: number) {\r\n if (!this.cityData[i]) {\r\n return\r\n }\r\n let searchValue = val\r\n if (!searchValue) {\r\n // this.filteredCity.next(this.cityData[i].slice())\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n return\r\n } else {\r\n searchValue = searchValue.toLowerCase()\r\n }\r\n this.cityDataValue[i]=this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // this.filteredCity.next(\r\n // this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // )\r\n\r\n }\r\n searchState(val: any) {\r\n console.log(\"statedata\")\r\n if (!this.stateData) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n this.filteredState.next(this.stateData.slice())\r\n return\r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n this.filteredState.next(\r\n this.stateData.filter(res => res.name.toLowerCase().indexOf(searchVal) > -1)\r\n )\r\n }\r\n\r\ncountRowsForTextarea(text){\r\n \r\n // console.log('text.length%100',text.length%190);\r\n // console.log('text.length/100',text.length/100);\r\n if(text !='' && text != undefined){\r\n if(text.length%100 > 5)\r\n return 5;\r\n else if(text.length%100 <= 3)\r\n return 3;\r\n else return Math.floor(text.length%100);\r\n\r\n }\r\n}\r\n\r\n ionViewWillLeave()\r\n {\r\n \r\n\r\n // let method = this.alerCtrl.create({\t\t\t\r\n // message: 'Do You Want Save',\r\n // buttons: [\r\n // {\r\n // text: 'Save',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // }\r\n // },\r\n // {\r\n // text: 'Cancel',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // this.navCtrl.pop(); \r\n // }\r\n // }\r\n // ]\r\n // });\r\n // method.present()\r\n \r\n \r\n \r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.pdQuestionAddress.dirty);\r\n if(this.pdQuestionAddress.dirty){\r\n // console.log(\"dirty\",this.AssetsDetailsForm.dirty)\r\n //return false;\r\n // let val=this.toast.setAlert('Form is Modified','Are you sure want to Go Back');\r\n // console.log(\"v\",val)\r\n // if(val==1){\r\n\r\n // }\r\n // if(val.__zone_symbol__state)\r\n // return new Promise((resolve, reject) => {\r\n // let alert=this.alerCtrl.create({\r\n // title:'Form is Modified',\r\n // message:'Are you sure want to Go Back',\r\n // cssClass:'buttoncss',\r\n // buttons:[{\r\n // text:'Yes',\r\n // cssClass:'btnYes',\r\n // handler:()=>{\r\n // resolve();\r\n // }\r\n // },\r\n // {\r\n // text:'No',\r\n // cssClass:'btnNo',\r\n // handler:()=>{\r\n // reject();\r\n // }\r\n // }]\r\n // });\r\n // alert.present()\r\n // })\r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n // let datas:any=this.pdQuestionAddress.value\r\n // datas.pd_id=this.pdDetails.pd_id\r\n // datas.form_id=this.FormId.form_id;\r\n // datas.active=true;\r\n // let form_id=this.FormId.form_id\r\n // // let recors={'records':datas}\r\n // this.storagedb.insertData(datas).then(res=>{\r\n // let alert=this.toast.setAlert('data',JSON.stringify(res))\r\n // alert.present();\r\n // console.log(res);\r\n // })\r\n //For Inserting the data locally\r\n this.localInsert(true);\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n /** To Get City And Pincode Data For Address Form \r\n * Param 'stateID' -> selected StateId\r\n */\r\n getCityAndPincodeDetails(stateID: string,i,pincode) {\r\n // console.log(this.pdQuestionAddress.controls['addresses']['controls'][0].controls['citySearch'])\r\n console.log(this.pdQuestionAddress)\r\n //this.pdQuestionAddress.controls['addresses']['controls'].controls\r\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData[i] = data.records.cities;\r\n this.search=this.cityData[i]\r\n console.log(\"Slice\",this.cityData[i].slice);\r\n //this.filteredCity.next(this.cityData[i].slice())\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n this.pincodeData[i] = data.records.pincode;\r\n this.pincodeDataValue[i]=this.pincodeData[i].slice()\r\n }\r\n //FOR PINCODE FREE TEXT\r\n // let pin\r\n // if(pincode != ''){\r\n // if(pincode != 1){\r\n // this.pincodeValue[i]=this.pincodeData[i].filter(res=>res.pincode_id == pincode).map(val=>val.pincode)[0]\r\n // //this.pincodeValue[i]=[].concat.apply([],this.pincodeValue[i])\r\n // console.log(this.pincodeValue[i])\r\n // console.log(this.pdQuestionAddress)\r\n\r\n // }\r\n // }\r\n });\r\n }\r\n\r\n\r\n\r\n getdropdownlist()\r\n {\r\n // this.addressTypes = [\r\n \r\n // {'id':'Office','Name':'Office'},\r\n // {'id':'Clinic','Name':'Clinic'},\r\n // {'id':'Factory','Name':'Factory'},\r\n // {'id':'Warehouse','Name':'Warehouse'},\r\n // {'id':'Shop','Name':'Shop'},\r\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\r\n // {'id':'Residence','Name':'Residence'},\r\n // {'id':'OTHERS','Name':'OTHERS'}\r\n // ];\r\n\r\n \r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \r\n }\r\n \r\n })\r\n \r\n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\r\n {\r\n this.pdlocation = res;\r\n if(this.pdlocation.dataStatus == true)\r\n {\r\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\r\n {\r\n this.cmtlocality = res;\r\n if(this.cmtlocality.dataStatus ==true)\r\n {\r\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\r\n }\r\n });\r\n\r\n \r\n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\r\n // {\r\n // this.custBehaviour = res;\r\n // if(this.custBehaviour.dataStatus == true)\r\n // {\r\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\r\n // }\r\n // })\r\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.locality = res['records'].filter(loc=>loc.isactive==1);\r\n }\r\n })\r\n\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.residence = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('CITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.CITY = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\r\n this.stateData=res['records'].filter(val=>val.isactive == 1);\r\n this.filteredState.next(this.stateData.slice())\r\n\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\r\n this.uomData=res['records'].filter(val=>val.isactive == 1 && val.is_land_uom != 0)\r\n })\r\n \r\n }\r\n\r\n // checkaddress(value)\r\n // {\r\n // \r\n // if(value==\"OTHERS\")\r\n // {\r\n // this.addressRemarksAccess = true;\r\n // }else\r\n // {\r\n // this.addressRemarksAccess = false;\r\n // }\r\n // }\r\n\r\n // createItem(): FormGroup {\r\n // return this.fb.group({\r\n // name: [null],\r\n // do_you_know: [null],\r\n // how_long: [null],\r\n // is_owner: [null],\r\n // });\r\n // };\r\n \r\n createUnits(val): FormGroup {\r\n if(val==null){\r\n return this.fb.group({\r\n no_of_additional_units: [''],\r\n premises_type: [''],\r\n premises_type_others: [''],\r\n premises_city: [''],\r\n // premises_ownership: [''],\r\n //premises_ownership_others: [''],\r\n //premises_rent_amt:[''],\r\n premises_remarks: [''],\r\n });\r\n }\r\n else{\r\n \r\n return this.fb.group({\r\n no_of_additional_units: [val.no_of_additional_units],\r\n premises_type: [val.premises_type],\r\n premises_type_others: [val.premises_type_others],\r\n premises_city: [val.premises_city],\r\n // premises_ownership: [val.premises_ownership],\r\n // premises_ownership_others: [val.other_ownership],\r\n // premises_rent_amt:[val.rent_amt],\r\n premises_remarks: [val.premises_remarks],\r\n });\r\n \r\n }\r\n }\r\n\r\n addUnits() {\r\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n this.items.push(this.createUnits(null));\r\n}\r\n\r\n\r\n removeUnits(i){\r\n this.items.removeAt(i);\r\n }\r\n\r\n ConvertMonthintoYear(e){\r\n \r\n let business_year = this.pdQuestionAddress.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n }\r\n initAddress(AddressDetails){\r\n console.log(\"pin init\", this.pincodeValue[0])\r\n if(AddressDetails != null){\r\n return this.fb.group({\r\n address: [AddressDetails.address],\r\n address_type: [AddressDetails.address_type, Validators.compose([Validators.required])],\r\n address_type_others: [AddressDetails.address_type_others],\r\n state: [AddressDetails.state],\r\n city: [AddressDetails.city],\r\n citySearch:[''],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n pincode: [AddressDetails.pincode],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */\r\n pincode_others: [AddressDetails.pincode_others, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n locality: [AddressDetails.locality, Validators.compose([Validators.required])],\r\n locality_others: [AddressDetails.locality_others],\r\n // locality_mixuse: [AddressDetails.locality_mixuse],\r\n pd_location: [AddressDetails.pd_location, Validators.compose([Validators.required])],\r\n comment_locality: [AddressDetails.comment_locality, Validators.compose([Validators.required])],\r\n estimated_area: [AddressDetails.estimated_area],\r\n uom: [AddressDetails.uom],\r\n uom_others: [AddressDetails.uom_others] \r\n })\r\n }\r\n else{\r\n return this.fb.group({\r\n address: ['' ],\r\n address_type: ['', Validators.compose([Validators.required])],\r\n address_type_others: [''],\r\n state: [''],\r\n city: [''],\r\n citySearch:[''],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n pincode: [''],\r\n pincode_others: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n locality: ['', Validators.compose([Validators.required])],\r\n locality_others: [''],\r\n // locality_mixuse: [''],\r\n pd_location: ['', Validators.compose([Validators.required])],\r\n comment_locality: ['', Validators.compose([Validators.required])],\r\n estimated_area: [''],\r\n uom: [''],\r\n uom_others: [''] \r\n });\r\n }\r\n \r\n }\r\n /** On Key Press Event For Numbers */\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n \r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i){ \r\n \r\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n \r\n }\r\n\r\n inWordsForRent(e){\r\n \r\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\r\n }\r\n\r\n selectedAddressType(e: any,i){\r\n this.placeholderName[i] = 'Estimated area of the ' + e;\r\n }\r\n\r\n\r\n savepdQuestion(answerData)\r\n {\r\n let records: any = {};\r\n // records.address = answerData.address;\r\n // if(answerData.address_type_others != null){\r\n // records.address_type_others = answerData.address_type_others;\r\n // }\r\n // // records.state =answerData.state\r\n // records.city = answerData.city\r\n\r\n // records.pincode = answerData.pincode\r\n // records.pincode_others = answerData.pincode== 1 ?\r\n // this.pdQuestionAddress.controls.pincode_others.value : '';\r\n\r\n // records.address_type = answerData.address_type;\r\n // records.locality = answerData.locality;\r\n \r\n // records.locality_others = answerData.locality == 1 ?\r\n // this.pdQuestionAddress.controls.locality_others.value : '';\r\n\r\n // records.locality_mixuse = answerData.locality == 5 ?\r\n // this.pdQuestionAddress.controls.locality_mixuse.value : '';\r\n\r\n // records.pd_location = answerData.pd_location;\r\n // records.comment_locality = answerData.comment_locality;\r\n // records.other_comment_locality = answerData.other_comment_locality;\r\n // records.estimated_area = answerData.estimated_area;\r\n\r\n // records.uom = answerData.uom;\r\n // records.uom_others = answerData.uom == 1 ?\r\n // this.pdQuestionAddress.controls.uom_others.value : '';\r\n // records.customer_behaviour = answerData.customer_behaviour;\r\n // records.neighbourhood = answerData.neighbourhood;\r\n \r\n // answerData.addresses.forEach(element=>{\r\n // let temp=element.pincode\r\n // element.pincode=1\r\n // element.pincode_others=temp\r\n // })\r\n if(this.pdQuestionAddress.invalid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Mandatory Fields marked with ' * '\")\r\n return\r\n }\r\n console.log(\"Answer DAta\",answerData)\r\n records.addresses=answerData.addresses\r\n // records.addressess\r\n records.address_form_remark=answerData.address_form_remark\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.address_form_remark = answerData.address_form_remark;\r\n // records.address_ownership = answerData.address_ownership;\r\n // records.other_ownership = answerData.other_ownership;\r\n // records.rent_amt = answerData.rent_amt;\r\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\r\n // records.bussiness_activity = answerData.bussiness_activity;\r\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\r\n // records.business_years = answerData.business_years;\r\n // records.business_month = answerData.business_month;\r\n \r\n // records.additional_address_units = answerData.additional_address_units;\r\n \r\n \r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n // let params: any = {};\r\n // params.pd_id = '250';\r\n // params.pd_form_id = '250';\r\n \r\n // setTimeout(function(){\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // },5000)\r\n if(data['dataStatus']==true){\r\n //TO CHANGE THE FORM STATE \r\n\r\n this.pdQuestionAddress.reset(this.pdQuestionAddress.value);\r\n this.localInsert(false);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000); \r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage('Something went wrong ');\r\n });\r\n }\r\n getaddressFormFromLocal(){\r\n let local_value:any;\r\n let data:any={'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id};\r\n // data.pd_id=this.pdDetails.pd_id\r\n // data.form_id=this.FormId.form_id\r\n this.storagedb.retrieveLocalStorage(data).then(res=>{\r\n console.log(\"address get\",res)\r\n let val_rec:any\r\n val_rec.records=res[0]\r\n local_value=res[0]\r\n console.log(\"addd\",val_rec,\"loca\",local_value)\r\n \r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.getaddressDetails = val_rec;\r\n \r\n if(local_value.active == true){\r\n if(this.getaddressDetails.records.addresses ){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records.addresses;\r\n\r\n if(this.getaddressDetails.length == 0 ){\r\n control.push(this.initAddress(''));\r\n }\r\n else{\r\n this.getaddressDetails.forEach((datas,index)=>{\r\n \r\n this.getCityAndPincodeDetails(datas.state,index,datas.pincode)\r\n if(datas.pincode == 1){\r\n this.pincodeValue[index]=datas.pincode_others\r\n }//if(val==true){\r\n console.log( \"Pin\" ,this.pincodeValue[index]);\r\n let val={\r\n 'address': datas.address,\r\n 'address_type': datas.address_type,\r\n 'address_type_others': datas.address_type_others,\r\n 'state': datas.state,\r\n 'city': datas.city,\r\n 'pincode':datas.pincode,\r\n 'pincode_others':datas.pincode_others,\r\n 'locality': datas.locality,\r\n 'locality_others': datas.locality_others,\r\n // 'locality_mixuse': datas.locality_mixuse,\r\n 'pd_location': datas.pd_location,\r\n 'comment_locality': datas.comment_locality,\r\n 'estimated_area': datas.estimated_area,\r\n 'uom': datas.uom,\r\n 'uom_others': datas.uom_others\r\n }\r\n \r\n let selectedAddressType = this.addressTypes.filter(element => element.address_type_id == datas.address_type)[0];\r\n this.selectedAddressType(selectedAddressType.address_type,index);\r\n if (datas.address_type == 1) {\r\n this.selectedAddressType(datas.address_type_others,index);\r\n }\r\n control.push(this.initAddress(val))\r\n })\r\n this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark);\r\n }\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else{\r\n this.getaddressForm()\r\n }\r\n \r\n \r\n })\r\n // console.log(\"add\",local_value)\r\n \r\n }\r\n\r\n getaddressForm()\r\n {\r\n \r\n let res:any;\r\n\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.getaddressDetails = res;\r\n \r\n if(this.getaddressDetails.dataStatus ==true){\r\n if(this.getaddressDetails.records.addresses ){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records.addresses;\r\n\r\n if(this.getaddressDetails.length == 0 ){\r\n control.push(this.initAddress(''));\r\n }\r\n else{\r\n this.getaddressDetails.forEach((datas,index)=>{\r\n \r\n this.getCityAndPincodeDetails(datas.state,index,datas.pincode)\r\n if(datas.pincode == 1){\r\n this.pincodeValue[index]=datas.pincode_others\r\n }//if(val==true){\r\n console.log( \"Pin\" ,this.pincodeValue[index]);\r\n let val={\r\n 'address': datas.address,\r\n 'address_type': datas.address_type,\r\n 'address_type_others': datas.address_type_others,\r\n 'state': datas.state,\r\n 'city': datas.city,\r\n 'pincode':datas.pincode,\r\n 'pincode_others':datas.pincode_others,\r\n 'locality': datas.locality,\r\n 'locality_others': datas.locality_others,\r\n // 'locality_mixuse': datas.locality_mixuse,\r\n 'pd_location': datas.pd_location,\r\n 'comment_locality': datas.comment_locality,\r\n 'estimated_area': datas.estimated_area,\r\n 'uom': datas.uom,\r\n 'uom_others': datas.uom_others\r\n }\r\n \r\n let selectedAddressType = this.addressTypes.filter(element => element.address_type_id == datas.address_type)[0];\r\n this.selectedAddressType(selectedAddressType.address_type,index);\r\n if (datas.address_type == 1) {\r\n this.selectedAddressType(datas.address_type_others,index);\r\n }\r\n control.push(this.initAddress(val))\r\n })\r\n this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark);\r\n }\r\n // if(this.getaddressDetails.additional_address_units != null){\r\n // var result = Object.keys(res['records'].additional_address_units).map(function(key) {\r\n // // return res['records'].additional_address_units[key];\r\n // //for slicing the automatically created\r\n \r\n // });\r\n // //this.removeUnits(0);\r\n // }\r\n\r\n // let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n\r\n // this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\r\n // this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\r\n\r\n // if (this.getaddressDetails.state != '') {\r\n // this.getCityAndPincodeDetails(this.getaddressDetails.state);\r\n // this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\r\n // this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\r\n // if (this.getaddressDetails.pincode == 1) {\r\n // this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\r\n // this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\r\n // this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\r\n // }\r\n // }\r\n // this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\r\n // this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\r\n // let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\r\n // this.selectedAddressType(selectedAddressType);\r\n\r\n // if(this.getaddressDetails.address_type != null) {\r\n // this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\r\n // this.selectedAddressType(this.getaddressDetails.address_type_others);\r\n // }\r\n\r\n // this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\r\n\r\n // if(this.getaddressDetails.comment_locality != null){\r\n // this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\r\n // }\r\n // // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\r\n // this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\r\n // if(this.getaddressDetails.locality == 1 ){\r\n // this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\r\n // }\r\n // if(this.getaddressDetails.locality == 5){\r\n // this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\r\n // }\r\n \r\n // this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\r\n // this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\r\n // if (this.getaddressDetails.uom == 1) {\r\n // this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\r\n // this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\r\n // this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\r\n // }\r\n // this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\r\n // // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\r\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\r\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\r\n // if(this.getaddressDetails.rent_amt != null){\r\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\r\n // }\r\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // } \r\n // else{\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\r\n // }\r\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\r\n\r\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\r\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\r\n \r\n \r\n \r\n\r\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\r\n \r\n if (result.length == 0) {\r\n \r\n control.push(this.createUnits(null));\r\n } else {*/\r\n \r\n //for(let val of this.getaddressDetails.additional_address_units){\r\n //control.push(this.createUnits(val));\r\n //}\r\n //result.forEach((datas,index) => {\r\n \r\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\r\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\r\n \r\n //});\r\n \r\n //}\r\n \r\n // }\r\n\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else\r\n this.loadPD();\r\n });\r\n \r\n }\r\n loadPD(){\r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.qustCat.getAddressDetails(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n this.addressesList = res.records.filter(item => item.isactive == 1);\r\n console.log('this.addressesList',this.addressesList);\r\n if(this.addressesList.length > 0){\r\n this.addressesList.forEach((datas,index)=>{\r\n this.getCityAndPincodeDetails(datas.fk_state,index,datas.pincode)\r\n \r\n let obj ={\r\n 'address': datas.addressline1,\r\n 'address_type': '',\r\n 'address_type_others': '',\r\n 'state': datas.fk_state,\r\n 'city': datas.fk_city,\r\n 'pincode':datas.pincode_id,\r\n 'pincode_others': datas.other_pincode,\r\n 'locality': '',\r\n 'locality_others': '',\r\n // 'locality_mixuse':'',\r\n 'pd_location': '',\r\n 'comment_locality': '',\r\n 'estimated_area': '',\r\n 'uom': '',\r\n 'uom_others': ''\r\n }\r\n \r\n control.push(this.initAddress(obj))\r\n })\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n })\r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n savePhoto(){\r\n this.camera.getPicture({\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 600,\r\n correctOrientation: true\r\n }).then((imageData)=>{\r\n this.base64='data:image/png;base64,'+imageData\r\n this.imageBucket.push({'image':this.base64,'Name':''});\r\n // this.imageDisplay.push({'image':this.base64,'Name':''})\r\n this. getImageName(this.imageBucket.length-1)\r\n \r\n },(err)=>{\r\n //alert(\"error\");\r\n })\r\n this.tab='1';\r\n // this.content.scrollToBottom();\r\n // let dimensions = this.content.getContentDimensions();\r\n // this.content.scrollTo(0, dimensions.contentHeight+100, 100);\r\n // this.inputFocus.setFocus();\r\n }\r\n getImageName(index){\r\n console.log(\"index\",index);\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n \r\n alert.onDidDismiss(value=>{\r\n console.log(value.Name)\r\n this.imageBucket[index].Name=value.Name\r\n })\r\n \r\n \r\n // let alert=this.alerCtrl.create({\r\n // title:'Document Name',\r\n // message: 'Please Enter the Document Name',\r\n // cssClass:'prompt_alert',\r\n // inputs:[\r\n // {\r\n // name:'Name',\r\n // //value:this.imageBucket[index].Name\r\n // placeholder:'Document Name'\r\n // }\r\n // ],\r\n // buttons:[\r\n // {\r\n // text:'Submit',\r\n // handler:data=>{\r\n // console.log(data.Name)\r\n // this.imageBucket[index].Name=data.Name\r\n // alert.dismiss\r\n // }\r\n // }\r\n // ]\r\n // })\r\n // alert.present();\r\n //this.inputFocus.setFocus();\r\n \r\n }\r\n // al(){\r\n // this.toast.pdTriggerappmessage(\"touched\");\r\n // }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n localInsert(option){\r\n let datas:any=this.pdQuestionAddress.value\r\n datas.pd_id=this.pdDetails.pd_id\r\n datas.form_id=this.FormId.form_id;\r\n datas.active=option;\r\n // let recors={'records':datas}\r\n this.storagedb.insertData(datas).then(res=>{\r\n // let alert=this.toast.setAlert('data',JSON.stringify(res))\r\n // alert.present();\r\n console.log(\"insert add\",res);\r\n })\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport { max } from 'rxjs/operators';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionEmpInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-emp-info',\r\n templateUrl: 'pd-question-emp-info.html',\r\n})\r\nexport class PdQuestionEmpInfoPage {\r\n questionDetails: any;\r\n pdDetails: any;\r\n employmentForm:FormGroup;\r\n FormId: any;\r\n pd_cus_segment: string;\r\n customer_segment_abbr: string;\r\n users: any;\r\n pdid: any;\r\n frequency_data: any[];\r\n company_list: any[];\r\n person_met_list: any[];\r\n company_related_applicants_list: any[];\r\n company_relationship_list: any[];\r\n filtered_company_relationship_list: any[];\r\n \r\n mthlySlryAmtInWords\r\n grossMthlySlryAmtInWords\r\n netMthlySlryAmtInWords\r\n bonusIncentiveAmtInWords\r\n bankAmtInWords\r\n cashAmtInWords\r\n\r\n workExperienceFlag: boolean = false;\r\n workExperienceErrorFlag:boolean = false;\r\n generalExistBusinessYear:any;\r\n generalExistBusinessMonth:any;\r\n tab:any='0'\r\n imageBucket:any=[]\r\n imageDisplay:any=[]\r\n\r\n public dateonly: any = [{date:1,isdisabled:false},{date:2,isdisabled:false},{date:3,isdisabled:false},{date:4,isdisabled:false},{date:5,isdisabled:false},{date:6,isdisabled:false},{date:7,isdisabled:false},{date:8,isdisabled:false},{date:9,isdisabled:false},{date:10,isdisabled:false},{date:11,isdisabled:false},{date:12,isdisabled:false},{date:13,isdisabled:false},{date:14,isdisabled:false},{date:15,isdisabled:false},{date:16,isdisabled:false},{date:17,isdisabled:false},{date:18,isdisabled:false},{date:19,isdisabled:false},{date:20,isdisabled:false},{date:21,isdisabled:false},{date:22,isdisabled:false},{date:23,isdisabled:false},{date:24,isdisabled:false},{date:25,isdisabled:false},{date:26,isdisabled:false},{date:27,isdisabled:false},{date:28,isdisabled:false},{date:29,isdisabled:false},{date:30,isdisabled:false},{date:31,isdisabled:false}];\r\n public todate: any[] = this.dateonly;\r\n @ViewChild('workExp') expFocus: ElementRef\r\n @ViewChild('cashPaidFocus') inputCashPaidFocus :ElementRef\r\n @ViewChild('yearFocus') inputYearFocus :ElementRef\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws: AwsServiceProvider, \r\n public toast: ToastProvider,public constant:ConstantsProvider,\r\n private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n this.pd_cus_segment = this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.generalExistBusinessYear=100;\r\n this.generalExistBusinessMonth=12;\r\n this.getDropDownList();\r\n this.getCompanyFromGeneralDetails();\r\n this.getEmploymentDetails();\r\n this.employmentForm = this.fb.group(\r\n {\r\n employer_name: [''],\r\n employer_in_brief:[''],\r\n \r\n // members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\r\n // members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\r\n \r\n how_long_year: ['',Validators.max(this.generalExistBusinessYear)],\r\n how_long_month: [''],\r\n total_business_experience: [''],\r\n total_business_previous_experience: [''],\r\n was_met: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n name_person_met: [''],\r\n designation_person_met: [''],\r\n confirm_salary: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n confirm_salary_amount: [''],\r\n attendance_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n sal_reg_seen: [this.pd_cus_segment == 'SAL-CHQ' ? 'No' : ''],\r\n from_date_the_salary_is_rcv: [''],\r\n to_date_the_salary_is_rcv: [''],\r\n gross_monthly_salary: [''],\r\n net_monthly_salary: [''],\r\n amount_paid_in_cash: [''],\r\n amount_paid_through_bank: [''],\r\n check_validated:[''],\r\n how_was_it_validated: [''],\r\n why_was_it_not_validated: [''],\r\n bonus_incentive: [''],\r\n bonus_frequency: [''],\r\n bonus_type: [''],\r\n bonus_type_other: [''],\r\n any_delays: [''],\r\n employment_remarks: [''],\r\n // nameOfEmp:[null],\r\n // yearWithEmp:[null],\r\n // empMet:[null],\r\n // designationOfEmp:[null],\r\n // salaryConfirm:[null],\r\n // actualSalary:[null],\r\n // attRegisterSeen:[null],\r\n // salaryRegisterSeen:[null]\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.employmentForm.dirty);\r\n if(this.employmentForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n getDropDownList()\r\n {\r\n\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.frequency_data = data['records'];\r\n this.frequency_data = this.frequency_data.filter(freq => freq.isactive == 1);\r\n }\r\n });\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.company_relationship_list = data['records'].filter(item => item.isactive == 1);\r\n this.company_relationship_list = data['records'].filter(item => item.name != 'Others');\r\n this.company_relationship_list.push({ 'company_relationship_id': 0, 'name': 'Not Applicable' });\r\n }\r\n });\r\n }\r\n\r\n getCompanyFromGeneralDetails(){\r\n \r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': '18' };\r\n \r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n this.company_list = value['records'].companies.filter(com => com.is_active == true);\r\n this.person_met_list = value['records'].individuals.filter(app => app.is_person_met == true && app.is_active == true);\r\n this.company_related_applicants_list = value['records'].company_with_relationships;\r\n } \r\n else {\r\n\r\n }\r\n })\r\n \r\n }\r\n \r\n ValidateNetSalary(){\r\n let salary = this.employmentForm.controls['net_monthly_salary'].value; \r\n console.log('this.employmentForm.controls[amount_paid_in_cash].value',this.employmentForm.controls['amount_paid_in_cash'].value);\r\n \r\n if(salary != ''){\r\n let cash_amount = this.employmentForm.controls['amount_paid_in_cash'].value;\r\n // let Bank_amount = this.employmentForm.controls['amount_paid_through_bank'].value;\r\n\r\n this.employmentForm.controls['amount_paid_in_cash'].setValidators([Validators.max(salary)]); \r\n this.employmentForm.controls['amount_paid_in_cash'].updateValueAndValidity();\r\n let maxamt = salary-cash_amount\r\n if( this.employmentForm.controls['amount_paid_in_cash'].value !=''){\r\n let balance=salary-this.employmentForm.controls['amount_paid_in_cash'].value\r\n console.log(\"bal\",balance)\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue(balance);\r\n }\r\n if(maxamt >= 0 ){\r\n this.employmentForm.controls['amount_paid_through_bank'].setValidators([Validators.max(salary-cash_amount)]); \r\n }\r\n else{\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue('0');\r\n this.employmentForm.controls['amount_paid_through_bank'].setValidators([Validators.max(0)]); \r\n }\r\n this.employmentForm.controls['amount_paid_through_bank'].updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Net Monthly Salary Is Empty.!');\r\n this.employmentForm.controls['amount_paid_in_cash'].setValue(''); \r\n this.employmentForm.controls['amount_paid_in_cash'].updateValueAndValidity();\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue(''); \r\n this.employmentForm.controls['amount_paid_through_bank'].updateValueAndValidity();\r\n return;\r\n }\r\n \r\n \r\n }\r\n\r\n saveEmpInfo(){\r\n // console.log(\"has Error\",this.employmentForm.controls['how_long_year'].hasError('max'))\r\n if(this.employmentForm.controls['how_long_year'].hasError('max') || this.employmentForm.controls['how_long_month'].hasError('max')){\r\n this.toast.pdTriggerappmessage(\"Higher than business Vintage\")\r\n this.inputYearFocus.nativeElement.focus();\r\n return\r\n }\r\n \r\n if(this.employmentForm.controls['total_business_experience'].hasError('min') ){\r\n this.toast.pdTriggerappmessage('Total working Experience is Lower');\r\n this.expFocus.nativeElement.focus();\r\n return\r\n }\r\n // console.log(\"this.em\",this.employmentForm.controls['amount_paid_in_cash'].errors)\r\n if(this.employmentForm.controls['amount_paid_in_cash'].hasError('max') || this.employmentForm.controls['amount_paid_through_bank'].hasError('max')){\r\n this.toast.pdTriggerappmessage(\"Given Value is Maximum of Net Salary\")\r\n this.inputCashPaidFocus.nativeElement.focus();\r\n return\r\n }\r\n \r\n if (!this.employmentForm.valid) {\r\n this.toast.pdTriggerappmessage('Form Invalid Try Again.!');\r\n return;\r\n }\r\n \r\n\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.employer_name = this.employmentForm.controls['employer_name'].value;\r\n records.employer_in_brief = this.employmentForm.controls['employer_in_brief'].value;\r\n records.how_long_year = this.employmentForm.controls['how_long_year'].value;\r\n records.how_long_month = this.employmentForm.controls['how_long_month'].value;\r\n records.total_business_experience = this.employmentForm.controls['total_business_experience'].value;\r\n records.total_business_previous_experience = this.employmentForm.controls['total_business_previous_experience'].value;\r\n records.was_met = this.employmentForm.controls['was_met'].value;\r\n if (this.employmentForm.controls['was_met'].value == 'yes') {\r\n records.name_person_met = this.employmentForm.controls['name_person_met'].value;\r\n records.designation_person_met = this.employmentForm.controls['designation_person_met'].value;\r\n }else{\r\n records.name_person_met = '';\r\n records.designation_person_met = '';\r\n }\r\n records.confirm_salary = this.employmentForm.controls['confirm_salary'].value;\r\n records.confirm_salary_amount = this.employmentForm.controls['confirm_salary'].value == 'yes' ? this.employmentForm.controls['confirm_salary_amount'].value : '';\r\n records.attendance_seen = this.employmentForm.controls['attendance_seen'].value;\r\n records.sal_reg_seen = this.employmentForm.controls['sal_reg_seen'].value;\r\n records.from_date_the_salary_is_rcv = this.employmentForm.controls['from_date_the_salary_is_rcv'].value;\r\n records.to_date_the_salary_is_rcv = this.employmentForm.controls['to_date_the_salary_is_rcv'].value;\r\n records.gross_monthly_salary = this.employmentForm.controls['gross_monthly_salary'].value;\r\n records.net_monthly_salary = this.employmentForm.controls['net_monthly_salary'].value;\r\n \r\n records.amount_paid_in_cash = this.employmentForm.controls['amount_paid_in_cash'].value;\r\n records.amount_paid_through_bank = this.employmentForm.controls['amount_paid_through_bank'].value;\r\n records.check_validated = this.employmentForm.controls['check_validated'].value;\r\n records.how_was_it_validated = this.employmentForm.controls['check_validated'].value == 'validated' ? this.employmentForm.controls['how_was_it_validated'].value : '';\r\n records.why_was_it_not_validated = this.employmentForm.controls['check_validated'].value != 'validated' ? this.employmentForm.controls['why_was_it_not_validated'].value : '';\r\n \r\n records.any_delays = this.employmentForm.controls['any_delays'].value;\r\n\r\n records.bonus_incentive = this.employmentForm.controls['bonus_incentive'].value;\r\n records.bonus_frequency = this.employmentForm.controls['bonus_frequency'].value;\r\n records.bonus_type = this.employmentForm.controls['bonus_type'].value;\r\n records.bonus_type_other = this.employmentForm.controls['bonus_type_other'].value;\r\n\r\n records.employment_remarks = this.employmentForm.controls['employment_remarks'].value;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n\r\n\r\n if(data['dataStatus']== true){\r\n //TO CHANGE THE FORM STATE \r\n // this.employmentForm.markAsUntouched();\r\n this.employmentForm.reset(this.employmentForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n })\r\n }\r\n \r\n\r\n filtercompanyrelationship(companyid, applicantid) {\r\n var array = companyid.split(\"-\");\r\n let data = this.company_related_applicants_list.filter(cmpy => cmpy.relation_to_company == array[0] && cmpy.applicant_name == applicantid);\r\n if (data.length > 0) {\r\n this.filtered_company_relationship_list = this.company_relationship_list.filter(freq => freq.company_relationship_id == data[0].company_relationship);\r\n this.employmentForm.controls['designation_person_met'].setValue(this.filtered_company_relationship_list[0]['name'] + ' ' + array[1]);\r\n }\r\n else {\r\n this.employmentForm.controls['designation_person_met'].setValue('');\r\n }\r\n }\r\n\r\n formDate(value){\r\n // console.log('to',this.todate)\r\n // console.log(value);\r\n // console.log('to length',this.todate.length);\r\n // console.log('index',value-1);\r\n // console.log('this.todate',this.todate[11]);\r\n // console.log('this.todate',this.todate[11].isdisabled);\r\n this.employmentForm.controls['to_date_the_salary_is_rcv'].setValue('');\r\n this.todate = [{date:1,isdisabled:false},{date:2,isdisabled:false},{date:3,isdisabled:false},{date:4,isdisabled:false},{date:5,isdisabled:false},{date:6,isdisabled:false},{date:7,isdisabled:false},{date:8,isdisabled:false},{date:9,isdisabled:false},{date:10,isdisabled:false},{date:11,isdisabled:false},{date:12,isdisabled:false},{date:13,isdisabled:false},{date:14,isdisabled:false},{date:15,isdisabled:false},{date:16,isdisabled:false},{date:17,isdisabled:false},{date:18,isdisabled:false},{date:19,isdisabled:false},{date:20,isdisabled:false},{date:21,isdisabled:false},{date:22,isdisabled:false},{date:23,isdisabled:false},{date:24,isdisabled:false},{date:25,isdisabled:false},{date:26,isdisabled:false},{date:27,isdisabled:false},{date:28,isdisabled:false},{date:29,isdisabled:false},{date:30,isdisabled:false},{date:31,isdisabled:false}];\r\n var i ;\r\n \r\n if(value != 0 && value != '')\r\n for(i=0;i<=value-1;i++){\r\n this.todate[i].isdisabled = true;\r\n if(value == 31){\r\n this.todate[30].isdisabled = false;\r\n }\r\n }\r\n \r\n }\r\n checkWithExistYear(e) {\r\n \r\n let data1 = this.company_list.filter(c => c.company_name == e.split('-')[1])[0];\r\n \r\n console.log('this.generalExistBusinessMonth',this.generalExistBusinessMonth);\r\n console.log('this.generalExistBusinessYear',this.generalExistBusinessYear);\r\n if(data1.business_month != null && data1.business_month != '' && data1.business_month != undefined){\r\n this.generalExistBusinessMonth = data1.business_month\r\n }\r\n if(data1.business_years){\r\n this.generalExistBusinessYear = data1.business_years\r\n }\r\n this.employmentForm.controls['how_long_year'].setValidators([Validators.max(this.generalExistBusinessYear)]); \r\n this.employmentForm.controls['how_long_year'].updateValueAndValidity();\r\n \r\n }\r\n\r\n \r\nConvertMonthintoYear(e) {\r\n\r\n let how_long_year = this.employmentForm.controls.how_long_year.value;\r\n\r\n let converted_month: number = e % 12;\r\n let converted_year: number = e / 12;\r\n\r\n if (how_long_year > this.generalExistBusinessYear) {\r\n this.employmentForm.controls['how_long_year'].setValidators([Validators.max(this.generalExistBusinessYear)]); \r\n this.employmentForm.controls['how_long_year'].updateValueAndValidity();\r\n this.employmentForm.controls['how_long_year'].setValue('');\r\n this.employmentForm.controls['how_long_month'].setValue('');\r\n }\r\n else {\r\n if (how_long_year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {\r\n \r\n this.employmentForm.controls['how_long_year'].setValidators([Validators.max(this.generalExistBusinessYear)]); \r\n this.employmentForm.controls['how_long_year'].updateValueAndValidity(); \r\n\r\n this.employmentForm.controls['how_long_month'].setValidators([Validators.max(this.generalExistBusinessMonth)]); \r\n this.employmentForm.controls['how_long_month'].updateValueAndValidity(); \r\n\r\n } else { \r\n\r\n this.employmentForm.controls.how_long_year.setValue(+how_long_year + +Math.floor(converted_year));\r\n this.employmentForm.controls.how_long_month.setValue(Math.floor(converted_month));\r\n\r\n }\r\n }\r\n}\r\n\r\n\r\ncheckWorkingExperiences(){\r\n // this.workExperienceErrorFlag = (+this.employmentForm.controls.total_business_experience.value ) <= (+this.employmentForm.controls.how_long_year.value) ? true : false;\r\n // this.workExperienceFlag = (+this.employmentForm.controls.total_business_experience.value ) < (+this.employmentForm.controls.how_long_year.value) ? false : true;\r\n\r\n this.employmentForm.controls['total_business_experience'].setValidators([Validators.min(+this.employmentForm.controls.how_long_year.value)]); \r\n this.employmentForm.controls['total_business_experience'].updateValueAndValidity(); \r\n \r\n if(!this.employmentForm.controls['total_business_experience'].valid){\r\n this.expFocus.nativeElement.focus();\r\n }\r\n\r\n this.workExperienceFlag = +this.employmentForm.controls.total_business_experience.value > +this.employmentForm.controls.how_long_year.value ? true : false;\r\n\r\n if(!this.workExperienceFlag){\r\n this.employmentForm.controls['total_business_previous_experience'].setValue('');\r\n this.employmentForm.controls['total_business_previous_experience'].updateValueAndValidity(); \r\n }\r\n\r\n}\r\n\r\ninWords(val,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.mthlySlryAmtInWords= this.constant.convertNumberToWords(val); \r\n break;\r\n case 2 : \r\n this.grossMthlySlryAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 3 :\r\n this.netMthlySlryAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 4 :\r\n this.bonusIncentiveAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 5 :\r\n this.bankAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n case 6 :\r\n this.cashAmtInWords = this.constant.convertNumberToWords(val); \r\n break;\r\n }\r\n }\r\n\r\n\r\n getEmploymentDetails(){\r\n \r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n let Emp = value['records'];\r\n console.log('emp',Emp);\r\n this.employmentForm.controls['employer_name'].setValue(Emp.employer_name);\r\n this.employmentForm.controls['employer_in_brief'].setValue(Emp.employer_in_brief)\r\n this.employmentForm.controls['how_long_year'].setValue(Emp.how_long_year);\r\n this.employmentForm.controls['how_long_month'].setValue(Emp.how_long_month);\r\n this.employmentForm.controls['was_met'].setValue(Emp.was_met);\r\n this.employmentForm.controls['total_business_experience'].setValue(Emp.total_business_experience);\r\n this.employmentForm.controls['total_business_previous_experience'].setValue(Emp.total_business_previous_experience);\r\n if(this.employmentForm.controls['total_business_experience'] != null && this.employmentForm.controls['total_business_previous_experience'] != null){\r\n //this.checkWorkingExperiences();\r\n }\r\n\r\n if (Emp.name_person_met) {\r\n this.employmentForm.controls['name_person_met'].setValue(Emp.name_person_met);\r\n }\r\n if (Emp.designation_person_met) {\r\n this.employmentForm.controls['designation_person_met'].setValue(Emp.designation_person_met);\r\n }\r\n this.employmentForm.controls['confirm_salary'].setValue(Emp.confirm_salary);\r\n console.log('Emp.confirm_salary_amount',Emp.confirm_salary_amount,Emp.confirm_salary);\r\n if (Emp.confirm_salary) {\r\n this.employmentForm.controls['confirm_salary_amount'].setValue(Emp.confirm_salary_amount);\r\n this.inWords(Emp.confirm_salary_amount,1);\r\n \r\n }\r\n this.employmentForm.controls['attendance_seen'].setValue(Emp.attendance_seen);\r\n this.employmentForm.controls['sal_reg_seen'].setValue(Emp.sal_reg_seen);\r\n this.employmentForm.controls['from_date_the_salary_is_rcv'].setValue(Emp.from_date_the_salary_is_rcv);\r\n this.employmentForm.controls['to_date_the_salary_is_rcv'].setValue(Emp.to_date_the_salary_is_rcv);\r\n this.employmentForm.controls['gross_monthly_salary'].setValue(Emp.gross_monthly_salary);\r\n this.employmentForm.controls['net_monthly_salary'].setValue(Emp.net_monthly_salary);\r\n this.employmentForm.controls['amount_paid_in_cash'].setValue(Emp.amount_paid_in_cash);\r\n this.employmentForm.controls['amount_paid_through_bank'].setValue(Emp.amount_paid_through_bank);\r\n this.employmentForm.controls['check_validated'].setValue(Emp.check_validated);\r\n this.employmentForm.controls['how_was_it_validated'].setValue(Emp.how_was_it_validated);\r\n this.employmentForm.controls['why_was_it_not_validated'].setValue(Emp.why_was_it_not_validated);\r\n this.employmentForm.controls['bonus_incentive'].setValue(Emp.bonus_incentive);\r\n this.employmentForm.controls['bonus_frequency'].setValue(Emp.bonus_frequency);\r\n this.employmentForm.controls['bonus_type'].setValue(Emp.bonus_type);\r\n this.employmentForm.controls['bonus_type_other'].setValue(Emp.bonus_type_other);\r\n this.employmentForm.controls['any_delays'].setValue(Emp.any_delays);\r\n this.employmentForm.controls['employment_remarks'].setValue(Emp.employment_remarks);\r\n \r\n this.inWords(Emp.gross_monthly_salary,2);\r\n this.inWords(Emp.net_monthly_salary,3);\r\n this.inWords(Emp.bonus_incentive,4);\r\n this.inWords(Emp.amount_paid_in_cash,5);\r\n this.inWords(Emp.amount_paid_through_bank,6);\r\n if(Emp.total_business_experience != ''){\r\n this.checkWorkingExperiences();\r\n}\r\n\r\n } \r\n })\r\n \r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component, ApplicationInitStatus, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormArray,FormBuilder,Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionCurrentLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-current-loans',\r\n templateUrl: 'pd-question-current-loans.html',\r\n})\r\n\r\nexport class PdQuestionCurrentLoansPage {\r\napplicants: any;\r\n placeholderName: any = [];\r\n lenderData: any;\r\n frequencyData: any;\r\n loanTypeData:any;\r\n FormId: any;\r\n users: any;\r\n pdDetails: any;\r\n questionDetails: any;\r\n currentLoans:FormGroup;\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n pdid:number;\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n dataFromAssets : any = [];\r\n labelArr : any = [];\r\n investmentTypeData: any=[];\r\n addressTypeData: any;\r\n propertyTypeData: any;\r\n tentureErrorFlag:boolean=false\r\n @ViewChild('balanceTenure') TenureFocus : ElementRef\r\n lenderDataValue: any;\r\n protected _onDestroy = new Subject();\r\n base64: any;\r\n imageBucket: any=[];\r\n tab: any='0';\r\n imageDisplay: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public toast:ToastProvider, \r\n public aws:AwsServiceProvider,public constant:ConstantsProvider,\r\n public cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0);\r\n \r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n \r\n\r\n this.getdropdown();\r\n \r\n this.users = this.aws.getlocale();\r\n this.currentLoans = this.fb.group(\r\n {\r\n existing_loan: [null],\r\n currentloan_remarks:[null],\r\n loan_details: this.fb.array([])\r\n });\r\n \r\n \r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\r\n console.log('{{FormId.form_name}}',this.FormId.form_name,this.FormId);\r\n this.getcurrentLoans()\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.currentLoans.dirty);\r\n if(this.currentLoans.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(res=>\r\n {\r\n this.lenderData = res['records'].filter(len=>len.isactive==1);\r\n this.lenderDataValue=this.lenderData.slice();\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n this.frequencyData = res['records'].filter(frq=>frq.isactive==1);\r\n });\r\n this.qustCat.getcommondrop('EXISTINGLOANTYPES').subscribe(val=>{\r\n this.loanTypeData=val['records'].filter(loan=>loan.isactive == 1 );\r\n });\r\n\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true )// && val.is_company_applicant===true\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n //modifyCompanyList.push({'id':\"0\",'name':'Others','group_id':1})\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n // this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n // modifyApplicantList.push()\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n\r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(data => {\r\n this.investmentTypeData=data['records'].filter(val=>val.isactive == 1);\r\n \r\n \r\n });\r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.addressTypeData=data['records'].filter(val=>val.isactive ==1 );\r\n })\r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.propertyTypeData=data['records'].filter(val=>val.isactive ==1);\r\n })\r\n }\r\n \r\n exitsCheck(val)\r\n { \r\n \r\n if(val ==\"Yes\")\r\n {\r\n this.addLoanDetails();\r\n }\r\n\r\n }\r\n createLoanDetail(data) {\r\n return this.fb.group({\r\n label: data == null ? [''] : [data.label],\r\n loan_amount: data == null ? [''] : [data.loan_amount],\r\n frequency: data == null ? [''] : [data.frequency],\r\n other_frequency: data == null ? [''] : [data.other_frequency],\r\n emi: data == null ? [''] : [data.emi],\r\n loan_type: data == null ? [''] : [data.loan_type],\r\n others_loan_type: data == null ? [''] : [data.others_loan_type],\r\n loan_taken_by: data == null ? [''] : [data.loan_taken_by],\r\n others_loan_taken: data == null ? [''] : [data.others_loan_taken],\r\n lender: data == null ? [''] : [data.lender],\r\n bankSearch:[''],\r\n others_lender: data == null ? [''] : [data.others_lender],\r\n original_tenure: data == null ? [''] : [data.original_tenure],\r\n current_balance_tenure: data == null ? [''] : [data.current_balance_tenure],\r\n elapsed_tenure: data == null ? [''] : [data.elapsed_tenure]\r\n // other_frequency:[''],\r\n // loan_amount: [''],\r\n // frequency:[''],\r\n // emi: [''],\r\n // loan_type: [''],\r\n // others_loan_type:[''],\r\n // loan_taken_by:[''],\r\n // others_loan_taken:[''],\r\n // lender: [''],\r\n // others_lender:[''],\r\n // original_tenure: [''],\r\n // current_balance_tenure: [''],\r\n // elapsed_tenure:[],\r\n });\r\n}\r\naddLoanDetails() {\r\n const control = this.currentLoans.controls['loan_details'];\r\n control.push(this.createLoanDetail(null));\r\n}\r\ndeleteLoanDetails(index) {\r\n const control = this.currentLoans.controls['loan_details'];\r\n if(control.length==1)\r\n {\r\n this.currentLoans.controls['loan_details'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\ncheckOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n}\r\ncheckTenure(details){\r\n let originalTenure = details.value.original_tenure;\r\n // alert(originalTenure);\r\n // if(originalTenure>=details.value.current_balance_tenure){\r\n // this.tentureErrorFlag=true\r\n details.controls.current_balance_tenure.setValidators([Validators.required, Validators.max(+originalTenure)]);\r\n details.controls.current_balance_tenure.updateValueAndValidity();\r\n //details.controls.current_balance_tenure.setValue\r\n // }\r\n // else{\r\n\r\n // this.toast.pdTriggerappmessage(\"Current Tenure \")\r\n \r\n \r\n \r\n // details.controls.current_balance_tenure.setValidators([Validators.max(+originalTenure)]);\r\n // details.controls.current_balance_tenure.updateValueAndValidity(); \r\n // let BalanceTenure = details.value.current_balance_tenure;\r\n // if( originalTenure < BalanceTenure){\r\n // alert('Greater');\r\n // details.controls.current_balance_tenure.setValue('');\r\n // alert('validation setted For');\r\n // details.controls.current_balance_tenure.setValidators([Validators.min(+originalTenure)]);\r\n // details.controls.current_balance_tenure.updateValueAndValidity(); \r\n \r\n \r\n // }\r\n}\r\ncalculateTenure(details)\r\n{\r\n let ElapsedValues;\r\n console.log(details)\r\n if(details.value.original_tenure != null && details.value.original_tenure != '' && details.value.current_balance_tenure != null && details.value.current_balance_tenure != '' ){\r\n console.log(\"not null\")\r\n if(details.value.current_balance_tenure <= details.value.original_tenure){\r\n console.log(\"validate\")\r\n this.tentureErrorFlag=false\r\n ElapsedValues = details.value.original_tenure - details.value.current_balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n else{\r\n //this.toast.pdTriggerappmessage(\"Oringinal Tenure Less than Current Balance Tenure\")\r\n this.tentureErrorFlag=true\r\n this.TenureFocus.nativeElement.focus();\r\n }\r\n \r\n}\r\nelse{\r\n this.tentureErrorFlag=false\r\n}\r\n\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n}\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n\r\nselectedfrequency(e,i){\r\n \r\n switch(+e){\r\n case 1: this.placeholderName[i] = 'Instalment Amount'; break;\r\n case 2: this.placeholderName[i] = 'Annual Instalment Amount'; break;\r\n case 3: this.placeholderName[i] = 'Halfyearly Instalment Amount'; break;\r\n case 4: this.placeholderName[i] = 'Fortnightly Instalment Amount'; break;\r\n case 5: this.placeholderName[i] = 'Daily Instalment Amount'; break;\r\n case 6: this.placeholderName[i] = 'Quarterly Instalment Amount'; break;\r\n case 7: this.placeholderName[i] = 'Monthly Instalment Amount'; break;\r\n default: this.placeholderName[i] = 'Instalment Amount'; break;\r\n}\r\n \r\n}\r\n\r\nsubmitCurrentloan(answerData) {\r\n console.log(answerData)\r\n console.log(\"true\",this.tentureErrorFlag);\r\n let inde=[]\r\n // answerData.loan_details.forEach((element,index)=>{\r\n \r\n // if(element.current_balance_tenure > element.original_tenure){\r\n // this.toast.pdTriggerappmessage(\"Oringinal Tenure Less than Current Balance Tenure\")\r\n // inde=index\r\n // }\r\n \r\n // })\r\n // console.log(\"index\",inde);\r\n // if(inde){\r\n // return\r\n // }\r\n if(this.tentureErrorFlag == true){\r\n this.toast.pdTriggerappmessage(\"Original Tenure Less than Current Balance Tenure\");\r\n this.TenureFocus.nativeElement.focus();\r\n return\r\n }\r\n \r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.existing_loan = answerData.existing_loan;\r\n records.loan_details = answerData.loan_details;\r\n records.currentloan_remarks = answerData.currentloan_remarks;\r\n records.loan_details.forEach(val=>{\r\n delete val.bankSearch\r\n })\r\n console.log(' final records when save',records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n // this.currentLoans.markAsUntouched();\r\n this.currentLoans.reset(this.currentLoans.value);\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n });\r\n}\r\n getcurrentLoans()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n const control = this.currentLoans.controls['loan_details'];\r\n if(res['dataStatus']==true )\r\n {\r\n let currentLoanDetails = res['records'];\r\n \r\n if(res['records'].loan_details !== undefined && res['records'].loan_details !=null && res['records'].loan_details !=''){\r\n currentLoanDetails.loan_details.forEach(val=>{\r\n val.bankSearch=''\r\n })\r\n var result = Object.keys(res['records'].loan_details).map(function(key) {\r\n \r\n return res['records'].loan_details[key];\r\n \r\n });\r\n console.log(\"resutl\",result);\r\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\r\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\r\n const control = this.currentLoans.controls['loan_details'];\r\n if(currentLoanDetails.existing_loan != 'No')\r\n {\r\n if(result.length ==0)\r\n {\r\n control.push(this.createLoanDetail(null));\r\n }else\r\n {\r\n \r\n result.forEach((datas,index)=>\r\n {\r\n //this.calculateTenure(res['records'])\r\n control.push(this.createLoanDetail(null));\r\n this.selectedfrequency(datas.frequency,index);\r\n if(datas.loan_amount!=''){\r\n this.amtInwords[index]=this.constant.convertNumberToWords(datas.loan_amount);\r\n }\r\n if(datas.emi!=''){\r\n this.emiAmtInwords[index]=this.constant.convertNumberToWords(datas.emi);\r\n }\r\n })\r\n\r\n this.currentLoans.controls['loan_details'].patchValue(result);\r\n \r\n }\r\n }\r\n }\r\n else\r\n {\r\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\r\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\r\n }\r\n\r\n }\r\n else {\r\n \r\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\r\n \r\n\r\n if(data.dataStatus == true){\r\n \r\n \r\n \r\n let AssetData = data.record;\r\n \r\n \r\n \r\n if(AssetData.business_address_asset.length > 0){\r\n AssetData.business_address_asset.map(element=>{\r\n this.dataFromAssets.push({mode:0,\r\n mode_name:element.address_label,\r\n details:[],\r\n owner_name:element.business_name_of_the_owner,\r\n other_owner: element.business_name_of_the_other_owner,\r\n form_type:'Data From Bussiness Address'})\r\n })\r\n }\r\n\r\n if(AssetData.business_assets.length>0){\r\n AssetData.business_assets.map(element => {\r\n this.dataFromAssets.push({mode:element.business_assets_mode,\r\n mode_name:element.business_assets_mode_name,\r\n details:element.business_details,\r\n owner_name:element.business_name_of_the_owner,\r\n other_owner: element.business_name_of_the_other_owner,\r\n form_type:'Data From Business Assets'})\r\n });\r\n }\r\n\r\n if(AssetData.other_assests.length > 0){\r\n AssetData.other_assests.map(element => {\r\n this.dataFromAssets.push({mode:element.assets_mode,\r\n mode_name:element.assets_mode_name,\r\n details:element.details,\r\n owner_name:element.name_of_the_owner,\r\n other_owner: element.other_owner,\r\n form_type:'Data From Other Asset'\r\n })\r\n })\r\n }\r\n \r\n \r\n // id: \"4\", name: \"Equipments and machinaries\", isactive: \"1\", flag: \"1\", is_others: \"0\"\r\n // id: \"7\", name: \"Investments\", isactive: \"1\", flag: \"0\", is_others: \"0\"\r\n // id: \"6\", name: \"Life Insurance Policy\", isactive: \"1\", flag: \"0\", is_others: \"0\"\r\n // id: \"2\", name: \"Property\", isactive: \"1\", flag: \"1\", is_others: \"0\"\r\n // id: \"3\", name: \"Vehicle\", isactsive: \"1\", flag: \"1\", is_others: \"0\"\r\n // id: \"1\", name: \"Others\", isactive: \"1\", flag: \"1\", is_others: \"1\"}\r\n \r\n if(this.dataFromAssets.length > 0){ \r\n let labelarray : any = [];\r\n \r\n this.dataFromAssets.forEach((val,index) => {\r\n if(val.mode == 0){\r\n \r\n let owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n \r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name;\r\n } \r\n if(val.mode == 1){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.any_other_assets;\r\n });\r\n if(val.owner_name.length>0 ){\r\n owner = val.owner_name.map((e => {\r\n // return e.name.split(',')\r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 2){\r\n \r\n let owner: any = \"Owner Not Mentioned\";\r\n let data;\r\n val.details.forEach((v,index) => {\r\n data = v.property_type_name;\r\n if(v.property_type != 1){\r\n if(val.form_type == 'Data From Business Assets'){\r\n data = this.addressTypeData.filter(item => item.address_type_id == v.property_type)[0].address_type;\r\n }\r\n else if(val.form_type == 'Data From Other Asset'){\r\n data = this.propertyTypeData.filter(item => item.id == v.property_type)[0].name;\r\n }\r\n else{\r\n data = '';\r\n }\r\n }else{\r\n data=v.other_property_type;\r\n }\r\n if(val.owner_name.length>0){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n });\r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 3){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.manufacturer_model_vehicle;\r\n });\r\n if(val.owner_name.length>0){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 4){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.equipment_manufacturing_description;\r\n });\r\n if(val.owner_name.length>0 ){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\r\n }\r\n if(val.mode == 6){\r\n \r\n let owner:any=\"Owner Not Mentioned\";\r\n if(val.owner_name.length>0)\r\n {\r\n owner=val.owner_name.map((e=>{\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n labelarray[index] = ' : '+owner+' - '+ val.mode_name;\r\n }\r\n if(val.mode == 7){\r\n \r\n let data;\r\n let owner: any = \"Owner Not Mentioned\";\r\n val.details.forEach((v,index) => {\r\n data = v.investments_type != 1 \r\n ? this.investmentTypeData.filter(data => data.id == v.investments_type)[0].name \r\n : v.other_investments_type ;\r\n\r\n });\r\n if(val.owner_name.length>0){\r\n owner = val.owner_name.map((e => {\r\n \r\n return (e.name == 'Others' ? val.other_owner : e.name).split(',');\r\n }));\r\n }\r\n \r\n let description = data != '' ? '( '+ data +' )' : '';\r\n labelarray[index] = ' : ' + owner + ' - '+ val.mode_name + description;\r\n var vals= owner + ' - '+ val.mode_name \r\n \r\n }\r\n });\r\n const control = this.currentLoans.controls['loan_details'];\r\n this.labelArr = labelarray;\r\n let arr : any = [];\r\n if(this.labelArr.length > 0){\r\n this.currentLoans.controls['existing_loan'].setValue('Yes');\r\n this.labelArr.forEach((v,index) => {\r\n \r\n arr = { \r\n 'label': v,\r\n 'loan_amount': '',\r\n 'frequency':'',\r\n 'other_frequency':'',\r\n 'emi': '',\r\n 'loan_type': '',\r\n 'others_loan_type': '',\r\n 'loan_taken_by':'',\r\n 'others_loan_taken':'',\r\n 'lender': '',\r\n 'others_lender':'',\r\n 'original_tenure': '',\r\n 'current_balance_tenure': '',\r\n 'elapsed_tenure':''\r\n }\r\n control.push(this.createLoanDetail(arr));\r\n });\r\n // this.currentLoanForm.controls['existing_loan'].setValue(arr);\r\n }\r\n }\r\n else{\r\n \r\n control.push(this.createLoanDetail(null));\r\n }\r\n \r\n }\r\n });\r\n }\r\n })\r\n \r\n \r\n }\r\n searchFun(control){\r\n console.log(control)\r\n let name:string=\"bank\"\r\n control.controls['bankSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.lenderDataValue=this.constant.searchData(this.lenderData,control.controls['bankSearch'].value,name)\r\n })\r\n \r\n }\r\n/*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n console.log(\"res\",res);\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n console.log(\"Fail\")\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n },ERR=>{\r\n console.log(JSON.stringify(ERR));\r\n this.toast.pdTriggerappmessage(JSON.stringify(ERR));\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormArray, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\nimport {StorageProvider} from '../../../providers/storage/storage'\r\n\r\n/**\r\n * Generated class for the PdQuestionLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nexport interface Dbmaster{\r\n bt_lender_list_id: number;\r\n lender_name: string;\r\n // constant_name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'page-pd-question-loans',\r\n templateUrl: 'pd-question-loans.html',\r\n})\r\n\r\nexport class PdQuestionLoansPage {\r\n enduse: any = [];\r\n propertyType: any;\r\n mortagetypeAccess: boolean;\r\n mortageAccess: boolean = false;\r\n mortageCardAccess: boolean;\r\n topUpAmtInWords: any;\r\n ownContributionInWords: any;\r\n valAsPerAgmtInWords: any;\r\n balTxrfAmtInWords: any;\r\n loanAmtInWords: any;\r\n\r\n emiAmtInWords:any;\r\n emvAmtInWords:any;\r\n\r\n m_btLenderList: any;\r\n applicants: any;\r\n m_endUseofLoad: any;\r\n m_sourceofamount: any;\r\n m_mortageTypeProperty: any;\r\n m_statusofCunstruction: any;\r\n ownerNames: any=[];\r\n isOtherPurpose: boolean=false;\r\n endUserList: any=[];\r\n pdDetails: any;\r\n FormId: any;\r\n productAbbr:any;\r\n loanDetailsForm: FormGroup;\r\n users: any;\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any;\r\n m_endUseOFTopUpList:any=[]\r\n isContribution: boolean = false;\r\n\r\n \r\n isOtherSource: boolean = false;\r\n isPLSource: boolean = false;\r\n\r\n sourceList:any=[];\r\n pdid:number;\r\n m_endUseForLoan:any;\r\n subProductName : any;\r\n //public filterCtrl:FormControl=new FormControl\r\n private dbmasters: Dbmaster[];\r\n /** Subject that emits when the component has been destroyed. */\r\n protected _onDestroy = new Subject();\r\n public filteredBanks: ReplaySubject = new ReplaySubject(1);\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, \r\n public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, \r\n public toast: ToastProvider,public constant:ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider,public storagedb:StorageProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(\"pd\",this.pdDetails);\r\n this.applicants = this.pdDetails.applicat_details\r\n this.applicants = this.applicants.filter(appt => appt.applicant_type != 2 && appt.applicant_type != 3);\r\n this.productAbbr = this.pdDetails.product_abbr;\r\n this.subProductName = this.pdDetails.subproduct_name;\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.getDropdown();\r\n\r\n this.loanDetailsForm = this.fb.group({\r\n loan_amount: [''],\r\n loan_tenure:[''],\r\n sub_product:[''],\r\n end_use: ['', Validators.compose([Validators.required])],\r\n end_use_other: [''],\r\n is_transfer: ['', Validators.compose([Validators.required])],\r\n //is_topup: ['', Validators.compose([Validators.required])],\r\n // is_topup: [''],\r\n balance_transfer_amount: [''],\r\n topup_amount: [''],\r\n end_use_topup:[''],\r\n other_end_use_topup:[''],\r\n lender: [''],\r\n filterCtrl:[''],\r\n other_bt_lender : [''],\r\n own_contribution: ['', Validators.compose([Validators.required])],\r\n source: [''],\r\n //personal_loan_source:[''],\r\n other_source:[''],\r\n //lender_name_type: [''],\r\n emi_level: ['', Validators.compose([Validators.required])],\r\n property_type: ['', Validators.compose([Validators.required])],\r\n property_type_others:[''],\r\n owner_name: ['', Validators.compose([Validators.required])],\r\n construction_status: ['', Validators.compose([Validators.required])],\r\n //percentage_of_construction : [''],\r\n emv_per_customer: ['', Validators.compose([Validators.required])],\r\n //value_per_agreement: ['', Validators.compose([Validators.required])],\r\n loandetails_remarks: ['', Validators.compose([Validators.required])],\r\n });\r\n console.log(this.pdDetails)\r\n //Setting Initial value from PD Master\r\n if(this.loanDetailsForm.controls['loan_amount'] !=null){\r\n this.loanDetailsForm.controls['loan_amount'].setValue(this.pdDetails.loan_amount)\r\n this.loanAmtInWords=this.constant.convertNumberToWords(this.pdDetails.loan_amount);\r\n }\r\n if(this.pdDetails.fk_subproduct_id != null && this.pdDetails.fk_subproduct_id != ''){\r\n this.loanDetailsForm.controls['sub_product'].setValue(this.pdDetails.fk_subproduct_id)\r\n this.onChangeSubProduct(this.pdDetails.fk_subproduct_id);\r\n }\r\n \r\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\r\n {\r\n this.mortagetypeAccess = true;\r\n }else\r\n {\r\n this.mortagetypeAccess = false;\r\n }\r\n \r\n \r\n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\r\n this.isContribution = true;\r\n }\r\n this.loanDetailsForm.controls['filterCtrl'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.filterBank();\r\n })\r\n \r\n }\r\n ionViewDidLoad() {\r\n console .log('ionViewDidLoad PdQuestionLoansPage');\r\n \r\n this.getLoanDetails();\r\n this.getPDImages();\r\n }\r\n ngOnDestroy() {\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n \r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.loanDetailsForm.dirty);\r\n if(this.loanDetailsForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n let datas:any=this.loanDetailsForm.value\r\n datas.pd_id=this.pdDetails.pd_id\r\n datas.form_id=this.FormId.form_id;\r\n let form_id=this.FormId.form_id\r\n // let recors={'records':datas}\r\n this.storagedb.insertData(datas).then(res=>{\r\n let alert=this.toast.setAlert('data',JSON.stringify(res))\r\n alert.present();\r\n console.log(res);\r\n })\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n \r\n }\r\n protected filterBank(){\r\n if(!this.dbmasters){\r\n return\r\n }\r\n let search=this.loanDetailsForm.controls['filterCtrl'].value \r\n if(!search){\r\n this.dbmasters=this.m_btLenderList\r\n // this.dbmasters=this.dbmasters.sort((a,b)=>{\r\n // if(a.lender_name>b.lender_name){\r\n // return 1;\r\n // }\r\n // if(a.lender_name{\r\n // if(a.lender_name>b.lender_name){\r\n // return 1;\r\n // }\r\n // if(a.lender_name master.lender_name.toLowerCase().indexOf(search) > -1)\r\n //this.dbmasters.filter(master => master.lender_name==search)\r\n )\r\n // console.log(\"mbtlender\",this.m_btLenderList)\r\n // console.log(\"Filtered banks\",this.filteredBanks)\r\n }\r\n\r\n\r\n \r\n\r\n\r\n getDropdown() {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n this.dbmasters=this.m_btLenderList\r\n this.dbmasters=this.dbmasters.sort((a,b)=>{\r\n if(a.lender_name>b.lender_name){\r\n return 1;\r\n }\r\n if(a.lender_name{\r\n \r\n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\r\n \r\n });\r\n\r\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\r\n data => {\r\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n console.log('data[records]',data['records']);\r\n let that = this;\r\n this.m_mortageTypeProperty = data['records'].filter(\r\n function (data) {\r\n if (that.pdDetails.product_abbr != \"LAP\") {\r\n if (data.group_name == that.pdDetails.product_abbr && data.isactive == 1) {\r\n return data;\r\n }\r\n }\r\n else if (that.pdDetails.product_abbr == \"LAP\") {\r\n if (data.group_name == that.productAbbr && data.sub_group_name == that.subProductName && data.isactive == 1) {\r\n return data;\r\n }\r\n else if (data.group_name == that.pdDetails.product_abbr && data.sub_group_name == null && data.isactive == 1) {\r\n return data;\r\n }\r\n }\r\n });\r\n // this.mortage_type(this.propertyType);\r\n }\r\n console.log('this.m_mortageTypeProperty',this.m_mortageTypeProperty);\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\r\n data => {\r\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\r\n });\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\r\n subdata => {\r\n if(subdata['dataStatus']==true){\r\n let that = this;\r\n this.m_endUseofLoad = subdata['records'].filter(\r\n function(data)\r\n {\r\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\r\n {\r\n return data;\r\n }\r\n });\r\n this.endUserChange(this.enduse)\r\n }\r\n });\r\n \r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n })\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n if(this.productAbbr != 'LAP'){\r\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\r\n }\r\n }\r\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\r\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\r\n }) \r\n }\r\n\r\n selectedBalancesTransferChanges(event: any){\r\n // if(event.value == 'no') { \r\n // this.loanDetailsForm.controls['is_topup'].clearValidators();\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // this.loanDetailsForm.controls['is_topup'].setValue('');\r\n //}\r\n //else if(event.value == 'yes'){\r\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // }\r\n if (event.value == 'no') {\r\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n\r\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \r\n this.loanDetailsForm.controls['lender'].setValue('');\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\r\n this.topUpAmtInWords=''\r\n\r\n }\r\n else if (event.value == 'yes') {\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n this.loanDetailsForm.controls['source'].clearValidators();\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.isOtherSource = false;\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n \r\n }\r\n\r\n}\r\n \r\n mortage_type(mortage_value)\r\n {\r\n console.log('mortage_value',mortage_value);\r\n console.log('this.m_mortageTypeProperty',this.m_mortageTypeProperty);\r\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\r\n let property_name = mortagetypes.property_name.replace(/\\s/g, \"\").toLowerCase();\r\n if(property_name=='others(pleasespecify)' || property_name=='others')\r\n {\r\n this.mortageAccess = true;\r\n }else\r\n {\r\n this.mortageAccess = false; \r\n }\r\n \r\n \r\n }\r\n compareObjects(o1: any, o2: any){\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n \r\n }\r\n\r\n\r\n loanCalc()\r\n {\r\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\r\n let loanAmount = this.loanDetailsForm.value.loan_amount;\r\n let topupAmt ;\r\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\r\n {if (loanAmount >= BtAmount) {\r\n topupAmt = loanAmount - BtAmount;\r\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n \r\n this.topUpAmtInWords = this.constant.convertNumberToWords(topupAmt);\r\n } else {\r\n this.toast.pdTriggerappmessage('warning !! Balances Transfer Amount is greater than Loan Amount Please check.!');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue('');\r\n this.balTxrfAmtInWords = '';\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.topUpAmtInWords = '';\r\n } }\r\n //this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n }\r\n\r\n onChangeSubProduct(subproduct) {\r\n this.qustCat.getEndUseForLoan(this.pdid,subproduct).subscribe(\r\n data => {\r\n this.m_endUseForLoan = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n endUserChange(event) {\r\n //this.endUserList = [];\r\n event.forEach(option => {\r\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\r\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\r\n this.endUserList.push({ end_use: option });\r\n if (othresData == 'others') {\r\n \r\n this.isOtherPurpose = true;\r\n return ;\r\n }else\r\n {\r\n this.isOtherPurpose = false;\r\n \r\n }\r\n });\r\n }\r\n ownerNameChange(event) {\r\n this.ownerNames = [];\r\n event.value.forEach(option => {\r\n this.ownerNames.push({ owner_name: option });\r\n });\r\n }\r\n sourceChange(evt) {\r\n\r\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\r\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\r\n\r\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\r\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\r\n\r\n this.sourceList = [];\r\n\r\n evt.forEach(option => {\r\n this.sourceList.push({source: option});\r\n });\r\n}\r\n inWords(e,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 2 : \r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 3 :\r\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 4 :\r\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 :\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 6:\r\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 7:\r\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n default:\r\n break;\r\n }\r\n}\r\n submitLoanDetails() {\r\n // if(this.loanDetailsForm.valid){\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\r\n records.loan_tenure=this.loanDetailsForm.controls['loan_tenure'].value;\r\n records.sub_product=this.loanDetailsForm.controls['sub_product'].value;\r\n // get end user final group data\r\n let dataEnd_user_data = [];\r\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\r\n dataEnd_user_data.push({end_use: element})\r\n });\r\n records.end_use_group = dataEnd_user_data;\r\n\r\n if (this.isOtherPurpose) {\r\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\r\n }\r\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\r\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\r\n }\r\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\r\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\r\n \r\n let dataSource_list=[];\r\n if(this.loanDetailsForm.controls['source'].value != '')\r\n {\r\n \r\n this.loanDetailsForm.controls['source'].value.forEach(element => {\r\n dataSource_list.push({sources : element})\r\n });\r\n }\r\n records.source_group=dataSource_list;\r\n \r\n }\r\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\r\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\r\n //}\r\n if(records.topup_amount > 0){\r\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\r\n if(records.end_use_topup == 1){\r\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\r\n }\r\n }\r\n \r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.lender = this.loanDetailsForm.controls['lender'].value;\r\n }\r\n if(this.loanDetailsForm.controls['lender'].value == 1){\r\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\r\n } \r\n \r\n \r\n\r\n \r\n /* records.source = this.loanDetailsForm.controls['source'].value;\r\n if (this.loanDetailsForm.controls['source'].value == 'other') {\r\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\r\n }*/\r\n if(this.isOtherSource){\r\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\r\n }\r\n else{\r\n records.other_source = ''; \r\n }\r\n \r\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\r\n if(this.mortageCardAccess == true){\r\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\r\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\r\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\r\n };\r\n // records.owner_name_group = this.ownerNames;\r\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\r\n let dataOwner_name = [];\r\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\r\n dataOwner_name.push({owner_name: element})\r\n });\r\n records.owner_name_group = dataOwner_name;\r\n }\r\n else{\r\n records.owner_name_group='';\r\n }\r\n \r\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\r\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\r\n \r\n }else{\r\n records.property_type = null;\r\n records.property_type_others = null;\r\n records.owner_name_group = null;\r\n records.construction_status = null;\r\n records.emv_per_customer = null;\r\n }\r\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\r\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\r\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']== true){\r\n //TO CHANGE THE FORM STATE \r\n // this.loanDetailsForm.markAsUntouched();\r\n this.loanDetailsForm.reset(this.loanDetailsForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n // this.notifier.notify('success', 'Saved Successfully.');\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter The All Field');\r\n // }\r\n }\r\n\r\n getLoanDetails() {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n let loanDetails = value['records'];\r\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\r\n return loanDetails.end_use_group[key];\r\n });\r\n \r\n\r\n //this.enduse\r\n result.forEach(val => {\r\n this.enduse.push(val.end_use);\r\n //this.endUserList.push({'end_use':val.end_use});\r\n });\r\n let ownername: any = [];\r\n if(loanDetails.owner_name_group != null){\r\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\r\n return loanDetails.owner_name_group[key];\r\n });\r\n owner.forEach(val => {\r\n ownername.push(val.owner_name);\r\n this.ownerNames.push({'end_use':val.end_use});\r\n });\r\n }\r\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\r\n this.loanDetailsForm.controls['loan_tenure'].setValue(loanDetails.loan_tenure);\r\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\r\n this.loanDetailsForm.controls['sub_product'].setValue(loanDetails.sub_product)\r\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\r\n this.endUserChange(this.enduse);\r\n\r\n if (loanDetails.end_use_other!='') {\r\n //this.endUserChange(this.enduse);\r\n // this.isOtherPurpose=true;\r\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\r\n }\r\n \r\n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \r\n if(loanDetails.topup_amount > 0){\r\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\r\n if (loanDetails.end_use_topup == 1) {\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\r\n }\r\n } \r\n }\r\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n }\r\n if (loanDetails.lender) {\r\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\r\n }\r\n // this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\r\n // if(loanDetails.own_contribution)\r\n // {\r\n // this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\r\n // }\r\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\r\n if ((this.isContribution == true) && (loanDetails.is_transfer != 'yes')) {\r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n }\r\n else{\r\n if(this.isContribution == false && loanDetails.is_transfer!='yes')\r\n {\r\n let source=Object.keys(loanDetails.source_group).map(function(key){\r\n return loanDetails.source_group[key];\r\n });\r\n let dbsourcelist:any=[];\r\n source.forEach(val=>{\r\n dbsourcelist.push(val.sources);\r\n });\r\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution)\r\n if (loanDetails.own_contribution) { this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution); }\r\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\r\n this.sourceChange(dbsourcelist);\r\n if(loanDetails.other_source) {\r\n // this.isOtherSource = true;\r\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\r\n }\r\n \r\n \r\n }\r\n }\r\n\r\n/* if (loanDetails.lender_name_type) {\r\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\r\n }*/\r\n \r\n if(loanDetails.emi_level){\r\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\r\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\r\n }\r\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \r\n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\r\n this.propertyType =loanDetails.property_type;\r\n if(loanDetails.property_type !=null && loanDetails.property_type !=''){\r\n this.mortage_type(this.propertyType);\r\n if(this.mortageCardAccess == true){\r\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \r\n // this.mortage_type(loanDetails.property_type_others);\r\n \r\n }\r\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\r\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\r\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\r\n if(loanDetails.emv_per_customer)\r\n {\r\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\r\n }\r\n }\r\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\r\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\r\n } else {\r\n\r\n }\r\n })\r\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\r\n this.mortageCardAccess = false;\r\n this.loanDetailsForm.controls['owner_name'].setValue('');\r\n this.loanDetailsForm.controls['owner_name'].clearValidators();\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }else{\r\n this.mortageCardAccess = true;\r\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }\r\n \r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-banking',\r\n templateUrl: 'pd-question-banking.html',\r\n // changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PdQuestionBankingPage {\r\n \r\n m_btLenderList: any;\r\n applicants: any ;\r\n salaryField: boolean;\r\n FormId: any;\r\n accountType: any;\r\n users: any;\r\n bankDetails:FormGroup;\r\n pdDetails: any;\r\n pdid:any;\r\n bankitems:FormArray;\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n limitCaseFlag: any=[];\r\n amtInwords: any=[];\r\n\r\n protected _onDestroy = new Subject();\r\n m_btLenderListValue: any=[];\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public cons: ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) {\r\n //this.applicants.pop();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n \r\n \r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.bankDetails = this.fb.group(\r\n {\r\n bankitems:this.fb.array([]),\r\n banking_form_remark:[null],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n // this.bankDetails.controls['bankitems'].valueChanges\r\n // .pipe(takeUntil(this._onDestroy))\r\n // .subscribe(()=>{\r\n // this.filterBank();\r\n // })\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBankingPage');\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.bankDetails.dirty);\r\n if(this.bankDetails.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\n checkImage(){\r\n let value\r\n if(this.imageDisplay.length>0){\r\n // return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Captured Images are not Saved\",\"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n // reject();\r\n value=false;\r\n }\r\n else{\r\n // resolve();\r\n value=true;\r\n }\r\n })\r\n // })\r\n }\r\n return value\r\n }\r\n searchFun(control){\r\n control.controls['filterCtrl'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterBank(control);\r\n })\r\n}\r\n\r\n filterBank(event){\r\n if(!this.m_btLenderListValue){\r\n return\r\n }\r\n let search=event.controls['filterCtrl'].value\r\n if(!search){\r\n this.m_btLenderListValue=this.m_btLenderList.slice()\r\n return\r\n }\r\n else{\r\n search=search.toLowerCase()\r\n this.m_btLenderListValue=this.m_btLenderList.filter(val=>val.lender_name.toLowerCase().indexOf(search)> -1)\r\n }\r\n }\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1 && data.lender_type == 1);\r\n this.m_btLenderListValue=this.m_btLenderList.slice();\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n // let modifyCompanyList : any=[];\r\n // if(this.existCompanyList.length>0){\r\n // modifyCompanyList = this.existCompanyList.map(element => {\r\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n // });\r\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n //}\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n\r\n/** Amount InWords */\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n \r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n bank_name: [''],\r\n filterCtrl:[''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n //is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n \r\n addBankDetails() {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n\r\n if(this.bankitems.length==1){\r\n this.bankitems.reset();\r\n }\r\n else\r\n this.bankitems.removeAt(i);\r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n\r\n answerData.bankitems.forEach(element=>{\r\n //console.log(\"items\",element.filterCtrl);\r\n // if(element.filterCtrl){\r\n // console.log(\"enter\",element.filterCtrl)\r\n delete element.filterCtrl\r\n // }\r\n });\r\n // console.log(\"logs\",answerData)\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.banking_details = answerData.bankitems;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.bankDetails.dirty=false;\r\n // this.bankDetails.markAsDirty();\r\n // console.log(\"Dir\",this.bankDetails.markAsDirty())\r\n // console.log(\"pristine\",this.bankDetails.markAsPristine());\r\n // console.log(\"Touched\",this.bankDetails.markAsTouched());\r\n\r\n //TO CHANGE THE FORM STATE \r\n // this.bankDetails.markAsUntouched();\r\n // console.log(\"touched\",this.bankDetails.touched)\r\n // console.log(\"untouched\",this.bankDetails.untouched)\r\n // console.log(\"pristine\",this.bankDetails.pristine)\r\n this.bankDetails.reset(this.bankDetails.value)\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n \r\n }\r\n\r\n retiveBankDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n if(result.length ==0){\r\n \r\n this.bankitems.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n \r\n \r\n \r\n result.forEach((datas,index)=>\r\n {\r\n datas.filterCtrl=''\r\n this.selectedAccTypeChanges(+datas.account_type,index)\r\n if(datas.limit != ''){\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n } \r\n // this.selectedBorrower(datas.applicant_name,index);\r\n this.bankitems.push(this.createBankItem(''));\r\n })\r\n this.bankDetails.controls['bankitems'].setValue(result);\r\n }\r\n \r\n \r\n }else\r\n {\r\n \r\n this.addBankDetails();\r\n }\r\n });\r\n \r\n }\r\n\r\n \r\n/*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionFamilyPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-family',\r\n templateUrl: 'pd-question-family.html',\r\n})\r\nexport class PdQuestionFamilyPage {\r\n\r\n\r\n earningStatus = [{\r\n type: 'Earning',\r\n id: 1\r\n}, {\r\n type: 'Non Earning',\r\n id: 2\r\n}]\r\nearning_gross_income_per_month:any;\r\n\r\n nofamily:number;\r\ndata:any;\r\n familyAddStatus: boolean;\r\n ownerShip: any;\r\n cusSeg: any;\r\n FormId: any;\r\n users: any;\r\n pdDetails: any;\r\n occupationData: any;\r\n membersitem: FormArray;\r\n items: FormArray;\r\n relationData: any;\r\n familyForm: FormGroup;\r\n total_number_of_family_members;\r\n filteredStates: any ;\r\n public selected_person;\r\n stateData:any;\r\n cityData: any =[];\r\n pincodeData:any=[];\r\n FamilyMemberAsLabel: any=[];\r\n selectPerson: any=[];\r\n apiFamilyMembers: any=[];\r\n //isReadOnly: any=[];\r\n RentAmount: any=[];\r\n IncomePerMonth: any=[];\r\n // cons: any;\r\n cityDataValue:any=[]\r\n stateDataValue:any=[]\r\n protected _onDestroy = new Subject();\r\n pincodeDataValue: any=[];\r\n relationDataValue: any=[];\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider,public cons:ConstantsProvider,\r\n private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.selected_person=this.pdDetails.pdapplicants_details;\r\n this.selectPerson=this.pdDetails.applicat_details\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n this.familyForm = this.fb.group({\r\n family_details: this.fb.array([\r\n //this.initFamilyDetails()\r\n \r\n ]),\r\n family_details_form_remark:[''],\r\n \r\n \r\n });\r\n this.getRelation();\r\n this.getoccupation();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log(\"ionViewDidLoad PdQuestionFamilyPage\")\r\n this.getFamilyData();\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.familyForm.dirty);\r\n if(this.familyForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n initFamilyDetails(records) : void\r\n {\r\n if (records === null) {\r\n let formData: FormGroup = this.fb.group({\r\n selected_person: ['', Validators.compose([Validators.required])],\r\n residence_place: [''],\r\n residence_city: [''],\r\n citySearch:[''],\r\n residence_state: [''],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n residence_pin: [''],\r\n residence_other_pincode:[''],\r\n residence_No_of_years: [''],\r\n residence_ownership: [''],\r\n ownershipOther: [''],\r\n rent: [''],\r\n total_number_of_family_members: ['', Validators.compose([Validators.min(1), Validators.max(20)])],\r\n family_members_details: this.fb.array([])\r\n });\r\n const control = this.familyForm.controls['family_details'];\r\n control.push(formData);\r\n \r\n }\r\n else{\r\n records.forEach((val,index)=>{\r\n if(val.rent != null){\r\n this.inWords(val.rent,index,2)\r\n }\r\n this.FamilyMemberAsLabel[index] = this.selectPerson.filter(item => item.pd_co_applicant_id == val.selected_person)[0].applicant_name;\r\n this.getCity(val.residence_state,index);\r\n let formData:FormGroup=this.fb.group({\r\n selected_person:[val.selected_person,Validators.compose([Validators.required])],\r\n residence_place:[val.residence_place],\r\n residence_city:[val.residence_city],\r\n citySearch:[''],\r\n residence_state:[val.residence_state],\r\n stateSearch:[''],\r\n pinSearch:[''],\r\n residence_pin:[val.residence_pin],\r\n residence_other_pincode:[val.residence_other_pincode],\r\n residence_No_of_years: [val.residence_No_of_years],\r\n residence_ownership:[val.residence_ownership],\r\n rent:[val.rent || null],\r\n ownershipOther:[val.ownershipOther || null],\r\n total_number_of_family_members:[val.total_number_of_family_members,Validators.compose([Validators.min(1), Validators.max(20)])],\r\n family_members_details:this.fb.array([])\r\n \r\n });\r\n \r\n const control = this.familyForm.controls['family_details'];\r\n control.push(formData);\r\n \r\n let inx=control.length-1;\r\n //this.getNumberOfFamilyMemberDetails(inx);\r\n this.initFamilyMembersDetails(inx, val.family_members_details);\r\n \r\n \r\n //this.initFamilyMembersDetails\r\n \r\n })\r\n }\r\n /*\r\n return this.fb.group({\r\n //family_details\r\n selected_person:[''],\r\n residence_place:[''],\r\n residence_city:[''],\r\n residence_state:[''],\r\n residence_pin:[''],\r\n residence_No_of_years: [''],\r\n residence_ownership:[],\r\n rent:[''],\r\n ownershipOther:[''],\r\n total_number_of_family_members:['',Validators.compose([Validators.min(1), Validators.max(20)])],\r\n \r\n //family_member_details\r\n \r\n \r\n \r\n family_members_details:this.fb.array([]),\r\n \r\n\r\n // person: [null],\r\n /* personOther: [''],\r\n members: [''],\r\n residence: [''],\r\n years: [null],\r\n family_details_form_remark:[''],\r\n \r\n });*/\r\n\r\n }\r\n initFamilyMembersDetails(inx,val) :void {\r\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\r\n val.forEach((vals,index)=>{\r\n\r\n \r\n if(vals.earning_gross_income_per_month != null){\r\n this.inWords(vals.earning_gross_income_per_month,index,1);\r\n }\r\n let datas = this.fb.group({\r\n family_member_name: [vals.family_member_name || null],\r\n family_member_relationship: [vals.family_member_relationship || null],\r\n relationSearch:[''],\r\n family_member_age: [vals.family_member_age || null],\r\n family_member_earning_status: [vals.family_member_earning_status || null],\r\n earning_segment: [vals.earning_segment || null],\r\n earning_if_others_segment:[vals.earning_if_others_segment || null],\r\n earning_gross_income_per_month: [vals.earning_gross_income_per_month || null],\r\n earning_name_of_the_employer_or_business: [vals.earning_name_of_the_employer_or_business || null],\r\n earning_number_of_years_in_employment_or_business: [vals.earning_number_of_years_in_employment_or_business || null],\r\n non_earning_occupation: [vals.non_earning_occupation || null],\r\n non_earning_if_others: [vals.non_earning_if_others || null],\r\n non_earning_if_schoolorcollege:[vals.non_earning_if_schoolorcollege || null],\r\n non_earning_if_retired_from: [vals.non_earning_if_retired_from || null],\r\n })\r\n \r\n control.push(datas);\r\n });\r\n }\r\n \r\n /*return this.fb.group({\r\n family_member_name:[''],\r\n family_member_relationship:[],\r\n family_member_age:[],\r\n family_member_earning_status:[''],\r\n //family_member_earnings\r\n earning_segment:[''],\r\n earning_gross_income_per_month:[''],\r\n earning_name_of_the_employer_or_business:[''],\r\n earning_number_of_years_in_employment_or_business:[''],\r\n \r\n non_earning_occupation:[''],\r\n non_earning_if_others:[''],\r\n non_earning_if_retired_from:[''],\r\n });*/\r\n \r\n\r\n\r\n add() :void { \r\n // const control=this.familyForm.controls['family_details'];\r\n //control.push(this.initFamilyDetails('chck'));\r\n this.initFamilyDetails(null);\r\n this.toast.pdTriggerappmessage(\"Family Details Added\");\r\n }\r\n remove_family_details(i:number):void{\r\n const control=this.familyForm.controls['family_details'];\r\n control.removeAt(i);\r\n }\r\n addMemberDet(data:any){\r\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n //this.initFamilyMembersDetails('','')\r\n control.push(this.generateFamilyMembersDetailsGet())\r\n }\r\n removeMemberDet(index:any,f_index:any){\r\n const control=this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details;\r\n if(control.length>1){\r\n control.removeAt(index); \r\n }\r\n else{\r\n control.reset()\r\n }\r\n // if(control.value !=null && index == 0)\r\n\r\n }\r\n getNumberOfFamilyMemberDetails(data)\r\n {\r\n \r\n var datavalue=data;\r\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\r\n if(formData['total_number_of_family_members'].valid)\r\n {\r\n let totmem=formData['total_number_of_family_members'].value;\r\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n if(totmem>=control.length){\r\n let len=totmem-control.length;\r\n for( let i=0;i=totmem;i--)\r\n {\r\n control.removeAt(i);\r\n }\r\n \r\n // var nn=control.length-totmem; \r\n // control.controls = [];\r\n /*for (let i = 0; i < totmem; i++) {\r\n control.push(this.generateFamilyMembersDetailsGet());\r\n\r\n }*/\r\n // this.initFamilyDetails(this.resValue['records'].family_details);\r\n // this.toast.pdTriggerappmessage(\"Please choose the number greater than\"+control.length);\r\n }\r\n \r\n \r\n }\r\n else{\r\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n control.removeAt(control.length);\r\n control.controls=[];\r\n }\r\n /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\r\n control.push(this.initFamilyMembersDetails());\r\n */ \r\n }\r\n generateFamilyMembersDetailsGet(): FormGroup {\r\n return this.fb.group({\r\n family_member_name: ['' ],\r\n family_member_relationship: [''],\r\n relationSearch:[''],\r\n family_member_age: [''],\r\n family_member_earning_status: [''],\r\n earning_segment: [''],\r\n earning_if_others_segment:[''],\r\n earning_gross_income_per_month: [''],\r\n earning_name_of_the_employer_or_business: [''],\r\n earning_number_of_years_in_employment_or_business: [''],\r\n non_earning_occupation: [''],\r\n non_earning_if_others: [''],\r\n non_earning_if_schoolorcollege:[''],\r\n non_earning_if_retired_from: [''],\r\n })\r\n}\r\n \r\n getRelation() {\r\n let master_name = 'RELATIONSHIPS';\r\n this.qustCat.getcommondrop(master_name).subscribe(data => {\r\n \r\n if(data['dataStatus'] == true){\r\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\r\n this.relationDataValue=this.relationData.slice();\r\n }\r\n });\r\n\r\n this.qustCat.getcommondrop('PERSONSMET').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.filteredStates = res['records'].filter(per=>per.isactive==1);\r\n }\r\n });\r\n // this.qustCat.getcommondrop('CUSTOMERSEGMENT').subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\r\n // }\r\n // });\r\n this.qustCat.getcommondrop('EARNINGMEMBERSSTATUS').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.ownerShip = res['records'].filter(own=>own.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.stateData=res['records'].filter(item=>item.isactive==1);\r\n this.stateDataValue=this.stateData.slice();\r\n }\r\n })\r\n \r\n}\r\ngetCity(e,i){\r\n // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); \r\n // this._pd.retriveForm(params).subscribe(data => {\r\n this.qustCat.getStateWiseCities(e).subscribe(data=>{\r\n if (data['dataStatus'] == true) {\r\n this.cityData[i] = data.records.cities; \r\n this.cityDataValue[i]=this.cityData[i].slice();\r\n this.pincodeData[i] = data.records.pincode;\r\n this.pincodeDataValue[i]=this.pincodeData[i].slice()\r\n }\r\n });\r\n}\r\ngetoccupation()\r\n{\r\n let master_name = 'OCCUPATIONMEMBERS';\r\n this.qustCat.getcommondrop(master_name).subscribe(data => {\r\n if(data['dataStatus']==true){\r\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\r\n }\r\n });\r\n}\r\n /* createMembers(): FormGroup {\r\n return this.fb.group({\r\n earning_member_name : [null],\r\n earning_member_age : [null],\r\n relation: [null],\r\n segment: [null],\r\n income: [null],\r\n employer_name: [null],\r\n });\r\n}\r\ncount :number = 0;\r\naddearningMembers()\r\n{\r\n this.items = this.familyForm.get('earningMembers') as FormArray;\r\n this.items.push(this.createMembers());\r\n this.count++;\r\n this.checkfamilystatus(this.count,''); \r\n\r\n}\r\n\r\ndeleteEarningMembers(i)\r\n{\r\n\r\n if(this.items.length==1)\r\n {\r\n this.familyForm.controls['earningMembers'].reset();\r\n }else{\r\n this.items.removeAt(i);\r\n }\r\n this.count--;\r\n this.checkfamilystatus(this.count,''); \r\n}\r\ncreateNonMembers(): FormGroup {\r\n return this.fb.group({\r\n non_earning_member_name : [''],\r\n non_earning_member_age : [''],\r\n relationship: [null],\r\n occupation: [null],\r\n retired: [null],\r\n others_occupation:[null],\r\n });\r\n}\r\naddMembers()\r\n{\r\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\r\n this.count++;\r\n this.checkfamilystatus(this.count,''); \r\n this.membersitem.push(this.createNonMembers());\r\n \r\n}\r\ndeleteMembers(i)\r\n{\r\n if(this.membersitem.length==1){\r\n this.familyForm.controls['nonEarningMembers'].reset();\r\n \r\n }else{\r\n this.membersitem.removeAt(i);\r\n }\r\n this.count--;\r\n this.checkfamilystatus(this.count,''); \r\n}\r\ncheckfamilystatus(count,familystatus)\r\n{\r\n if(familystatus !='' && familystatus !==undefined){\r\n\r\n }else{\r\n familystatus = this.familyForm.get('members').value;\r\n }\r\n if(familystatus !== null ){\r\n if(familystatus == count)\r\n {\r\n\r\n this.familyAddStatus = true;\r\n }else\r\n {\r\n this.familyAddStatus = false;\r\n }\r\n }\r\n}*/\r\n/* Old\r\nsavepdfamily(answerData)\r\n{\r\n let records: any = {};\r\n records.no_of_years = answerData.years;\r\n if (answerData.ownership == '4') {\r\n records.ownershipOther = answerData.ownershipOther;\r\n } \r\n records.residence = answerData.residence;\r\n if (answerData.ownership == '3') {\r\n records.what_rent = answerData.rent;\r\n }\r\n // if (answerData.person == '8') {\r\n // records.person_met = answerData.personOther.value;\r\n // } else {\r\n // records.person_met = answerData.person;\r\n // }\r\n records.ownership = answerData.ownership\r\n records.family_members = answerData.members;\r\n records.earning_members = answerData.earningMembers;\r\n records.non_earning_members = answerData.nonEarningMembers;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.family_details_form_remark = answerData.family_details_form_remark;\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })\r\n}*/\r\nsetValidation(control){\r\n console.log(control)\r\n if(control.controls['family_member_earning_status'].value == 1){\r\n control.controls['non_earning_occupation'].clearValidators()\r\n control.controls['non_earning_occupation'].updateValueAndValidity()\r\n }\r\n if(control.controls['family_member_earning_status'].value == 2 ){\r\n control.controls['non_earning_occupation'].setValidators(Validators.compose([Validators.required]))\r\n control.controls['non_earning_occupation'].updateValueAndValidity()\r\n }\r\n}\r\n\r\nsavepdfamily(answerData)\r\n{\r\n if(!this.familyForm.valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Mandatory Fields\");\r\n return\r\n }\r\n \r\n let records:any={};\r\n \r\n records=this.familyForm.value;\r\n\r\n Object.keys(records).forEach((key)=>(records[key]==null)&& delete records[key]);\r\n \r\n\r\n records.pdid=this.pdDetails.pd_id;\r\n records.formid=this.FormId.form_id;\r\n records.fk_createdby=this.users;\r\n records.family_details.forEach(parVal=>{\r\n console.log(\"par\",parVal)\r\n delete parVal.stateSearch\r\n delete parVal.citySearch\r\n delete parVal.pinSearch\r\n parVal.family_members_details.forEach(childVal=>{\r\n console.log(\"childval\",parVal)\r\n delete childVal.relationSearch\r\n })\r\n })\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n //TO CHANGE THE FORM STATE \r\n this.familyForm.reset(this.familyForm.value);\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n \r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Some Fields value is Missing Please Fill It\");\r\n })\r\n\r\n /*let records: any = {};\r\n records.no_of_years = answerData.residence_No_of_years;\r\n if (answerData.residence_ownership == '4') {\r\n records.ownershipOther = answerData.ownershipOther;\r\n } \r\n //records.residence = answerData.residence;\r\n if (answerData.residence_ownership == '3') {\r\n records.what_rent = answerData.rent;\r\n }\r\n // if (answerData.person == '8') {\r\n // records.person_met = answerData.personOther.value;\r\n // } else {\r\n // records.person_met = answerData.person;\r\n // }\r\n records.ownership = answerData.residence_ownership\r\n records.family_members = answerData.total_number_of_family_members;\r\n records.earning_members = answerData.earningMembers;\r\n records.non_earning_members = answerData.nonEarningMembers;\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.family_details_form_remark = answerData.family_details_form_remark;\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n }\r\n })*/\r\n}\r\nprevFamilyMembersCtrlLength: number = 0;\r\ncurrFamilyMembersCtrlLength: number = 0;\r\nselectedPerson(e,inx){\r\n \r\n this.FamilyMemberAsLabel[inx] = this.selectPerson.filter(item => item.pd_co_applicant_id == e)[0].applicant_name;\r\n \r\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\r\n \r\n this.currFamilyMembersCtrlLength = control.length;\r\n \r\n let i : number = 0 ;\r\n for(i ;i < this.prevFamilyMembersCtrlLength;i++){\r\n console.log(i,this.prevFamilyMembersCtrlLength);\r\n control.removeAt(i);\r\n }\r\n // while(index < this.prevFamilyMembersCtrlLength)\r\n // { \r\n // }\r\n this.prevFamilyMembersCtrlLength = this.currFamilyMembersCtrlLength;\r\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\r\n\r\n if(this.apiFamilyMembers.length>0){\r\n\r\n let arraydata : any;\r\n let data = this.apiFamilyMembers.filter(item => item.relation_to == e);\r\n\r\n \r\n // data_gets_from:'GeneralForm'\r\n // data_gets_from:'BusinessForm'\r\n \r\n if(data.length > 0){\r\n \r\n \r\n this.prevFamilyMembersCtrlLength = data.length;\r\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\r\n\r\n\r\n data.forEach((val,inx) => {\r\n \r\n // // family_member_earning_status\r\n // if(val.age){\r\n // this.isReadOnly[inx] = true;\r\n // }else{\r\n // this.isReadOnly[inx] = false;\r\n // }\r\n arraydata = {\r\n 'family_member_name' : val.name,\r\n 'family_member_relationship' : val.relationship,\r\n 'family_member_age' : val.age,\r\n 'family_member_earning_status': val.data_gets_from == 'BusinessForm' ? '1' :'',\r\n 'earning_segment': '',\r\n 'earning_gross_income_per_month': '',\r\n 'earning_name_of_the_employer_or_business':'',\r\n 'earning_number_of_years_in_employment_or_business': '',\r\n 'earning_if_others_segment':'',\r\n 'non_earning_occupation': '',\r\n 'non_earning_if_others': '',\r\n 'non_earning_if_retired_from': '',\r\n 'non_earning_if_schoolorcollege': ''\r\n }\r\n control.push(this.initgenerateFamilyMembersDetailsGet(arraydata));\r\n \r\n });\r\n }\r\n else{\r\n this.prevFamilyMembersCtrlLength = 1;\r\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\r\n \r\n\r\n control.push(this.generateFamilyMembersDetailsGet()); \r\n }\r\n }\r\n else{\r\n \r\n control.push(this.generateFamilyMembersDetailsGet());\r\n } \r\n}\r\n\r\ngenerateFamilyMembersDetailsGetData(data){\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n});\r\nif (result.length > 0) {\r\n for (let val of result) {\r\n const control = this.familyForm.controls['family_members_details'];\r\n control.push(this.initgenerateFamilyMembersDetailsGet(val));\r\n }\r\n}\r\n}\r\ninitgenerateFamilyMembersDetailsGet(val):FormGroup{\r\n return this.fb.group({\r\n family_member_name: [val.family_member_name],\r\n family_member_relationship: [val.family_member_relationship],\r\n relationSearch:[''],\r\n family_member_age: [val.family_member_age],\r\n family_member_earning_status: [val.family_member_earning_status],\r\n earning_segment: [val.earning_segment],\r\n earning_if_others_segment:[val.earning_if_others_segment],\r\n earning_gross_income_per_month: [val.earning_gross_income_per_month],\r\n earning_name_of_the_employer_or_business: [val.earning_name_of_the_employer_or_business],\r\n earning_number_of_years_in_employment_or_business: [val.earning_number_of_years_in_employment_or_business],\r\n non_earning_occupation: [val.non_earning_occupation],\r\n non_earning_if_others: [val.non_earning_if_others],\r\n non_earning_if_schoolorcollege:[val.non_earning_if_schoolorcollege],\r\n non_earning_if_retired_from: [val.non_earning_if_retired_from],\r\n})\r\n}\r\nresValue:any;\r\n\r\n getFamilyData()\r\n {\r\n this.qustCat.getFamilyDetails(this.pdDetails.pd_id).subscribe(res=>{\r\n // console.log(res);\r\n if(res['dataStatus']==true){\r\n // console.log('res.record.from_general_form',res.record.from_general_form,res['record']);\r\n let Temparr : any = [];\r\n\r\n if(res.record.from_general_form.length>0){\r\n let familyMembersGeneralForm=Object.keys(res.record.from_general_form).map(function(key){\r\n return res.record.from_general_form[key]\r\n });\r\n let datas=familyMembersGeneralForm.map(element=>{\r\n return {id:element.pd_co_applicant_id.toString(),\r\n name:element.applicant_name,\r\n relationship:element.relationship,\r\n relation_to:element.relation_to,\r\n age:element.age,\r\n data_gets_from:'GeneralForm'};\r\n \r\n });\r\n Temparr.push(datas);\r\n // console.log('Temparr',Temparr);\r\n }\r\n else{\r\n console.log(\"No data in General Form\")\r\n }\r\n if(res.record.from_business_form.length >0){\r\n let familyMembersBusinessForm=Object.keys(res.record.from_business_form).map(function(key){\r\n return res.record.from_business_form[key]\r\n });\r\n let datas=familyMembersBusinessForm.map(element=>{\r\n return {id:element.other_family_relationship_id,\r\n name:element.family_member_name,\r\n relationship:element.other_family_relationship_id,\r\n relation_to:element.relation_to_id,\r\n age:'',\r\n data_gets_from:'BusinessForm'};\r\n });\r\n Temparr.push(datas);\r\n }\r\n else{\r\n console.log(\"No data in Business Form\")\r\n }\r\n this.apiFamilyMembers = [].concat.apply([],Temparr);\r\n }\r\n })\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n console.log(\"Entering Retrieve\");\r\n \r\n if(res['status']==200){\r\n if(res['records'].family_details.length > 0){\r\n //FOR REMOVING CONTROL\r\n res['records'].family_details.forEach(parVal=>{\r\n parVal.stateSearch=''\r\n parVal.citySearch=''\r\n parVal.pinSearch=''\r\n parVal.family_members_details.forEach(childVal=>{\r\n delete childVal.relationSearch\r\n })\r\n })\r\n this.familyForm.controls.family_details_form_remark.setValue(res['records'].family_details_form_remark);\r\n this.resValue=res;\r\n this.initFamilyDetails(res['records'].family_details);\r\n \r\n }\r\n \r\n }\r\n else{\r\n console.log(\"No Data Found\");\r\n this.initFamilyDetails(null);\r\n \r\n }\r\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\r\n \r\n },err=>{\r\n console.log(\"Error\",err)\r\n })\r\n\r\n \r\n \r\n \r\n /*let earning:any = [];\r\n let non_earning:any = [];\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\r\n\r\n return res['records'].non_earning_members[key];\r\n });\r\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\r\n earning = Object.keys(res['records'].earning_members).map(function(key) {\r\n return res['records'].earning_members[key];\r\n });\r\n let familyDetails = res['records'];\r\n this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); \r\n // this.familyForm.controls['person'].setValue(familyDetails.person_met);\r\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\r\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\r\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\r\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\r\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\r\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\r\n this.familyForm.controls['rent'].setValue(familyDetails.what_rent);\r\n // this.familyForm.controls['earningMembers'].setValue(earning);\r\n // for(this.)\r\n this.items = this.familyForm.get('earningMembers') as FormArray;\r\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\r\n if(earning.length==0)\r\n {\r\n this.addearningMembers();\r\n }else\r\n {\r\n earning.forEach(datas => {\r\n this.count++;\r\n this.items.push(this.createMembers());\r\n });\r\n this.familyForm.controls['earningMembers'].setValue(earning);\r\n \r\n }\r\n\r\n if(non_earning.length==0)\r\n {\r\n this.addMembers(); \r\n }else\r\n {\r\n non_earning.forEach(datas => {\r\n this.count++;\r\n this.membersitem.push(this.createNonMembers());\r\n \r\n });\r\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\r\n // this.checkfamilystatus(this.count);\r\n }\r\n \r\n // for(let earningDetails of earning){\r\n // this.items = this.familyForm.get('earningMembers') as FormArray;\r\n // this.items.push(earning);\r\n // }\r\n\r\n }else\r\n {\r\n this.addearningMembers();\r\n this.addMembers();\r\n }\r\n }) */ \r\n }\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.IncomePerMonth[i] = this.cons.convertNumberToWords(e); \r\n break;\r\n case 2 :\r\n this.RentAmount[i] = this.cons.convertNumberToWords(e); \r\n break;\r\n }\r\n }\r\n initSetValue(records):void{\r\n for(let val of records){\r\n let formData:FormGroup=this.fb.group({\r\n selected_person:[val.selected_person,Validators.compose([Validators.required])],\r\n residence_place:[val.residence_place]\r\n })\r\n }\r\n }\r\n\r\n\r\nsearchFun(control:any,i:number,option){\r\n console.log(\"control\",control)\r\n if (option == 'city') {\r\n // this.cityData[i]=this.filterCity(this.stateList,control.value.state_name)\r\n control.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.SearchCity(control.controls['citySearch'].value, i);\r\n })\r\n }\r\n if (option == 'state') {\r\n console.log(\"state\")\r\n control.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchState(control.controls['stateSearch'].value)\r\n })\r\n }\r\n if (option == 'pin') {\r\n console.log(\"pin\")\r\n control.controls['pinSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchPin(control.controls['pinSearch'].value,i)\r\n })\r\n }\r\n }\r\n searchPin(val:any,index:number){\r\n if(!this.pincodeData[index]){\r\n return\r\n }\r\n let searchValue=val\r\n if(!searchValue){\r\n this.pincodeDataValue[index]=this.pincodeData[index].slice()\r\n return\r\n }else{\r\n searchValue=searchValue.toLowerCase()\r\n }\r\n this.pincodeDataValue[index]=this.pincodeData[index].filter(value=>value.pincode.toLowerCase().indexOf(searchValue) > -1)\r\n }\r\n SearchCity(val: any, i: number) {\r\n // let cityData=\r\n console.log(this.cityData[i])\r\n if (!this.cityData[i]) {\r\n return\r\n }\r\n let searchValue = val\r\n if (!searchValue) {\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n return\r\n } else {\r\n searchValue = searchValue.toLowerCase()\r\n }\r\n this.cityDataValue[i]=\r\n this.cityData[i].filter(val=>val.city_name.toLowerCase().indexOf(searchValue)> -1)\r\n \r\n console.log(\"City Data value\",this.cityDataValue[i])\r\n // this.filteredCity.next(\r\n // this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // )\r\n \r\n }\r\n searchState(val: any) {\r\n console.log(\"statedata\")\r\n if (!this.stateData) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n // this.filteredState.next(this.stateList.slice())\r\n this.stateDataValue=this.stateData.slice()\r\n return\r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n this.stateDataValue=this.stateData.filter(res => res.name.toLowerCase().indexOf(searchVal) > -1)\r\n // this.filteredState.next(\r\n // this.stateList.filter(res => res.state_name.toLowerCase().indexOf(searchVal) > -1)\r\n // )\r\n }\r\n searchRelation(val:any){\r\n // val=val.controls['relationSearch'].value\r\n console.log(\"val\",val);\r\n val.controls['relationSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.relationDataValue=this.cons.searchData(this.relationData,val.controls['relationSearch'].value,'')\r\n \r\n })\r\n \r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n \r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n \r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n \r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n }\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\r\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {Camera} from '@ionic-native/camera'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssestsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assests',\r\n templateUrl: 'pd-question-assests.html',\r\n})\r\nexport class PdQuestionAssestsPage {\r\n tab:any='0'\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n m_relation: any;\r\n applicants: any ;\r\n users: any;\r\n FormId: any;\r\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\r\n m_investmentType: { 'id': string; 'name': string; }[];\r\n m_insuranceType: { 'id': string; 'name': string; }[];\r\n m_propertyType: { 'id': string; 'name': string; }[];\r\n m_assets_type: { 'id': string; 'name': string; }[];\r\n m_vehicle_type: any=[];\r\n m_uom_type: any=[];\r\n pdDetails: any;\r\n assetItem: any;\r\n items:FormArray;\r\n AssetsDetailsForm:FormGroup;\r\n details:FormArray;\r\n FormList:boolean = false;\r\n loadDetails:boolean = true;\r\n assestInfo:any;\r\n PremiumPaidInwords: any=[]; \r\n SumAssuredInwords: any=[];\r\n AmtInvestInwords: any=[];\r\n ApproxInwords:any =[];\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n isOtherOwner: any = [];\r\n pdid:any;\r\n currentYear: any = new Date().getFullYear();\r\n imageBucket: any=[];\r\n base64: string;\r\n imageDisplay: any=[];\r\n @ViewChild('focusName') inputFocus;\r\n @ViewChild('picContent') content: Content\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider,public camera:Camera,public alert: AlertController) {\r\n \r\n this.assestInfo = \"busass\";\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.AssetsDetailsForm = this.fb.group({\r\n assets_details:this.fb.array([]),\r\n assets_form_remark:['']\r\n })\r\n \r\n this.getAssetDetails();\r\n this.getdropList();\r\n this.loadDetails = true;\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssestsPage');\r\n console.log(\"Form\",this.AssetsDetailsForm)\r\n this.getPDImages();\r\n }\r\n // ionViewWillLeave(){\r\n // console.log(this.AssetsDetailsForm.dirty);\r\n // if(this.AssetsDetailsForm.dirty){\r\n // return;\r\n // }\r\n \r\n // }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.AssetsDetailsForm.dirty);\r\n if(this.AssetsDetailsForm.dirty){\r\n // console.log(\"dirty\",this.AssetsDetailsForm.dirty)\r\n //return false;\r\n // let val=this.toast.setAlert('Form is Modified','Are you sure want to Go Back');\r\n // console.log(\"v\",val)\r\n // if(val==1){\r\n\r\n // }\r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n \r\n }\r\n\r\n getdropList()\r\n {\r\n //GETTING Asset Type\r\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\r\n }\r\n })\r\n \r\n //GETTING Property Type;\r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_propertyType = res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n \r\n //GETTING Investment Type;\r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_investmentType = res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n\r\n //GETTING Insurance Type;\r\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.m_insuranceType =res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n \r\n //GETTING Frequency Type;\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(data => data.isactive == 1);\r\n }\r\n })\r\n\r\n //GETTING Relationship;\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => \r\n {\r\n if(data['dataStatus']==true)\r\n {\r\n this.m_relation = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n\r\n //GETTING VEHICLE TYPE;\r\n this.qustCat.getcommondrop('VEHICLETYPE').subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n }\r\n })\r\n \r\n //GETTING UOM List;\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.m_uom_type = data['records'].filter(data => data.isactive == 1 && data.is_land_uom == 1 || data.is_land_uom == 2);\r\n }\r\n })\r\n\r\n //GETTING Company And Applicant List.\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>\r\n { \r\n if(data['dataStatus']==true)\r\n {\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true)\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n })\r\n \r\n \r\n }\r\n createAsset() : FormGroup\r\n {\r\n return this.fb.group(\r\n {\r\n assets_mode: [null],\r\n details: this.fb.array([]),\r\n approximate_market_value: [null],\r\n name_of_the_owner: [''],\r\n other_owner:[''],\r\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n vintage_personal : [''],\r\n emi: [null],\r\n });\r\n }\r\n\r\n addAsset(flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n this.assetItem.push(this.createAsset());\r\n }\r\n }\r\n\r\n deleteAsset(i,flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n if(this.assetItem.length==1)\r\n {\r\n this.AssetsDetailsForm.controls['assets_details'].reset();\r\n }else{\r\n this.assetItem.removeAt(i);\r\n } \r\n }\r\n }\r\n \r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n \r\n loanCalc(details ,flag)\r\n {\r\n if(flag == 1){\r\n \r\n let ElapsedValues;\r\n \r\n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\r\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n }\r\n }\r\n \r\n show: boolean;\r\n selectedAssetsType(e: any, i: any,flag : any): void {\r\n \r\n let val = i;\r\n if(flag == 1){\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n }\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray; \r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n case '5': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadConsumerDurableDescription());\r\n break;\r\n }\r\n case '6': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadInsuranceDescription());\r\n break;\r\n }\r\n case '7': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.loadInvestDescription());\r\n break;\r\n }\r\n case '8': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray \r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: [''],\r\n describe_of_the_property_asset: [''],\r\n area_covered_by_this_property: [''],\r\n uom_of_the_property: [''],\r\n other_uom: ['']\r\n });\r\n } \r\n\r\n loadConsumerDurableDescription() {\r\n return this.fb.group({\r\n consumer_durable_description: [null]\r\n });\r\n }\r\n \r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n\r\n otherAssetsDescription() {\r\n return this.fb.group({ any_other_assets: [''] });\r\n }\r\n\r\n loadInsuranceDescription() {\r\n return this.fb.group({\r\n // insurance_type: [null],\r\n premium_paid: [null],\r\n frequency_mode: [null],\r\n other_frequency_mode:[null],\r\n sum_assured: [null],\r\n members_coverd: [null]\r\n });\r\n }\r\n\r\n loadInvestDescription() {\r\n return this.fb.group({\r\n investments_type: [''],\r\n other_investments_type:[''],\r\n in_which_organisation:[''],\r\n amount_of_invest: [''],\r\n bank_name: ['']\r\n });\r\n }\r\n\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n \r\n\r\n load_Two_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_two_weeler: ['']\r\n });\r\n }\r\n\r\n\r\n\r\n loadPropertyWithData(data) {\r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n describe_of_the_property_asset: [data.describe_of_the_property_asset],\r\n area_covered_by_this_property: [data.area_covered_by_this_property],\r\n uom_of_the_property: [data.uom_of_the_property],\r\n other_uom: [data.other_uom]\r\n });\r\n }\r\n\r\n loadJwellDescriptionWithData(data) {\r\n return this.fb.group({\r\n // jwell_description: [data.jwell_description]\r\n });\r\n }\r\n\r\n loadConsumerDurableDescriptionWithData(data) {\r\n return this.fb.group({\r\n consumer_durable_description: [data.consumer_durable_description]\r\n });\r\n }\r\n\r\n otherAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n });\r\n }\r\n \r\n loadInsuranceDescriptionWithData(data) {\r\n return this.fb.group({\r\n //insurance_type: [data.insurance_type],\r\n premium_paid: [data.premium_paid],\r\n frequency_mode: [data.frequency_mode],\r\n other_frequency_mode:[data.other_frequency_mode],\r\n sum_assured: [data.sum_assured],\r\n members_coverd: [data.members_coverd]\r\n });\r\n }\r\n\r\n loadInvestDescriptionWithData(data) {\r\n return this.fb.group({\r\n investments_type: [data.investments_type],\r\n other_investments_type:[data.other_investments_type],\r\n in_which_organisation:[data.in_which_organisation],\r\n amount_of_invest: [data.amount_of_invest],\r\n bank_name: [data.bank_name]\r\n });\r\n }\r\n\r\n \r\n\r\n load_Four_WeelerWithData(data) {\r\n return this.fb.group({\r\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n });\r\n }\r\n\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n\r\n load_Two_WeelerWithData(data) {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n\r\n\r\n initDetailsWithdata(data) {\r\n return this.fb.group({\r\n assets_mode: [data.assets_mode],\r\n details: this.fb.array([]),\r\n approximate_market_value: [data.approximate_market_value],\r\n name_of_the_owner: [data.name_of_the_owner],\r\n other_owner:[data.other_owner || ''],\r\n vintage_personal:[data.vintage_personal],\r\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n emi: [data.emi || 0],\r\n });\r\n }\r\n\r\n saveAssetDetails(answerData)\r\n {\r\n if(!this.AssetsDetailsForm.dirty){\r\n this.toast.pdTriggerappmessage(\"Modified\"+' '+this.AssetsDetailsForm.dirty);\r\n return;\r\n }\r\n \r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n // answerData.assets_details.map(val => {\r\n // if (val.emi == 'no') {\r\n // val.emi_paid = '';\r\n // val.elapsed_tenure = '';\r\n // val.balance_tenure = '';\r\n // val.original_loan_tenure ='';\r\n // }\r\n // });\r\n \r\n answerData.pdid = this.pdDetails.pd_id;\r\n answerData.formid = this.FormId.form_id;\r\n answerData.fk_createdby = this.users;\r\n \r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.AssetsDetailsForm.reset(this.AssetsDetailsForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n }\r\n\r\n apiLoadFinish:boolean = false;\r\n\r\n // To Fetch The Asset Value;\r\n getAssetDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\r\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n return res['records'].assets_details[key];\r\n });\r\n \r\n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n if (assetArray.length > 0) {\r\n assetArray.forEach((val, index) => {\r\n let vals = {\r\n assets_mode: val.assets_mode,\r\n approximate_market_value: val.approximate_market_value,\r\n name_of_the_owner: val.name_of_the_owner,\r\n other_owner:val.other_owner,\r\n purchase_year: val.purchase_year,\r\n vintage_personal:val.vintage_personal,\r\n emi: val.emi,\r\n };\r\n \r\n let Avaliablity = 1;\r\n if(val.name_of_the_owner.length>0){\r\n val.name_of_the_owner.forEach(option => {\r\n if (option.id == 0 && option.group_id == 2) {\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwner[index] = Avaliablity == 0 ? true : false\r\n \r\n const control = this.AssetsDetailsForm.controls['assets_details'];\r\n control.push(this.initDetailsWithdata(vals));\r\n this.inWords(+val.approximate_market_value,index,4);\r\n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\r\n // this.setRequiredValidation(val.name_of_the_owner, index, '', 4);\r\n });\r\n \r\n }\r\n \r\n this.apiLoadFinish = true;\r\n \r\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\r\n }else{\r\n this.apiLoadFinish = true;\r\n this.addAsset(1);\r\n // this.addAsset(2);\r\n }\r\n })\r\n \r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\r\n let val = i;\r\n \r\n let data = datas;\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n switch (assets_details_mode) {\r\n case '1': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'any_other_assets': datas.any_other_assets };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(array_data));\r\n break;\r\n }\r\n \r\n case '2': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type,\r\n 'address_of_the_property': datas.address_of_the_property, 'describe_of_the_property_asset': datas.describe_of_the_property_asset,\r\n 'uom_of_the_property': datas.uom_of_the_property,\r\n 'area_covered_by_this_property': datas.area_covered_by_this_property, 'other_uom': datas.other_uom };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadPropertyWithData(array_data));\r\n break;\r\n }\r\n case '3': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle,\r\n 'vehicle_type': datas.vehicle_type,\r\n 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.load_Four_WeelerWithData(array_data));\r\n break;\r\n }\r\n case '4': {\r\n let array_data:any\r\n data.forEach((datas,i)=>{\r\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\r\n })\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '5': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\r\n break;\r\n }\r\n case '6': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { \r\n 'premium_paid': datas.premium_paid,\r\n 'frequency_mode': datas.frequency_mode,\r\n 'other_frequency_mode':datas.other_frequency_mode,\r\n 'sum_assured': datas.sum_assured,\r\n 'members_coverd': datas.members_coverd\r\n };\r\n this.inWords(+datas.premium_paid,i,1);\r\n this.inWords(+datas.sum_assured,i,2);\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInsuranceDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '7': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n this.inWords(+datas.amount_of_invest,i,3);\r\n array_data = { 'investments_type': datas.investments_type,\r\n 'other_investments_type' : datas.other_investments_type,\r\n 'in_which_organisation':datas.in_which_organisation,\r\n 'amount_of_invest': datas.amount_of_invest,\r\n 'bank_name': datas.bank_name };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInvestDescriptionWithData(array_data));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** On Key Press Event For Number only Accepting */\r\n keyPress(event: any) {\r\n const pattern = /[0-9\\-\\.\\ ]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 2 :\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 3 :\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 4 :\r\n this.ApproxInwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) { }\r\n else if (type == 2) { }\r\n else if (type == 3) {\r\n let control: any = this.AssetsDetailsForm.controls['assets_details'];\r\n control.controls[controlKey].controls['purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this.AssetsDetailsForm.controls['assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['purchase_year'].setValue(value) : control.controls[controlKey].controls['purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['vintage_personal'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['vintage_personal'].setValue('')\r\n }\r\n\r\n }\r\n\r\n\r\n setRequiredValidation(value, ParInx, ChdInx, flag) {\r\n\r\n let ParCtrls = this.AssetsDetailsForm.controls.assets_details;\r\n\r\n let ChdCtrls: any = ParCtrls.controls[ParInx];\r\n\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n\r\n if (value.length > 0) {\r\n value.forEach(option => {\r\n if (option.id == 0 && option.group_id == 2) {\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n if (Avaliablity == 0) {\r\n\r\n\r\n // ChdCtrls.controlsother_owner.setValidators([Validators.required]);\r\n this.isOtherOwner[ParInx] = true;\r\n\r\n } else if (Avaliablity == 1) {\r\n\r\n\r\n ChdCtrls.controls.other_owner.setValue('');\r\n // ChdCtrls.controls.other_owner.clearValidators();\r\n this.isOtherOwner[ParInx] = false;\r\n\r\n }\r\n\r\n // ChdCtrls.controls.other_owner.updateValueAndValidity();\r\n\r\n }\r\n \r\n }\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n savePhoto(){\r\n let num_of_images=(this.imageBucket.length+1)+(this.imageDisplay.length+1)\r\n console.log(\"num of images\",num_of_images)\r\n if(num_of_images <=10){\r\n this.camera.getPicture({\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 600,\r\n correctOrientation: true\r\n }).then((imageData)=>{\r\n this.base64='data:image/png;base64,'+imageData\r\n this.imageBucket.push({'image':this.base64,'Name':''});\r\n // this.imageDisplay.push({'image':this.base64,'Name':''})\r\n this. getImageName(this.imageBucket.length-1)\r\n \r\n },(err)=>{\r\n //alert(\"error\");\r\n })\r\n this.tab='1';\r\n // this.content.scrollToBottom();\r\n // let dimensions = this.content.getContentDimensions();\r\n // this.content.scrollTo(0, dimensions.contentHeight+100, 100);\r\n // this.inputFocus.setFocus();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"You are reached the image Limit. To Capture new one Delete the Previous image\");\r\n }\r\n }\r\n getImageName(index){\r\n console.log(\"index\",index);\r\n let alert=this.alert.create({\r\n title:'Document Name',\r\n message: 'Please Enter the Document Name',\r\n cssClass:'prompt_alert',\r\n inputs:[\r\n {\r\n name:'Name',\r\n //value:this.imageBucket[index].Name\r\n placeholder:'Document Name'\r\n }\r\n ],\r\n buttons:[\r\n {\r\n text:'Submit',\r\n handler:data=>{\r\n console.log(data.Name)\r\n this.imageBucket[index].Name=data.Name\r\n alert.dismiss\r\n }\r\n }\r\n ]\r\n })\r\n alert.present();\r\n //this.inputFocus.setFocus();\r\n \r\n }\r\n// al(){\r\n// this.toast.pdTriggerappmessage(\"touched\");\r\n// }\r\n sendImage(){\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport { PdQuestionRentalInfoPage } from '../pd-question-rental-info/pd-question-rental-info';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionOtherIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-other-income',\r\n templateUrl: 'pd-question-other-income.html',\r\n})\r\nexport class PdQuestionOtherIncomePage {\r\n\r\n FormId: any;\r\n custSeg: any;\r\n sourceIncome: any;\r\n otherIncomeDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n pdid:any;\r\n incomeEarnedBy:any=[];\r\n amtInWords:any=[];\r\n \r\n frequencyData: any;\r\n otherIncomeForm: FormGroup;\r\n incomeDetails:FormArray;\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n applicants: any=[];\r\n isOrganisationOwner: any=[];\r\n customer_segment_abbr: any;\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public constant:ConstantsProvider,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) \r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n console.log('this.customer_segment_abbr',this.customer_segment_abbr)\r\n this.applicants=this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0)\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.getFrequency();\r\n this.users = this.aws.getlocale();\r\n\r\n // this.qustCat.getLoadTemplate(this.pdid).subscribe(res=>\r\n // {\r\n // this.one = res;\r\n // if(this.one.dataStatus == true)\r\n // {\r\n // this.one = this.one.records.template_forms;\r\n // let one = this.one.records.template_forms.filter(val=>val.form_id == '17')\r\n // console.log(this.one,one);\r\n // }\r\n\r\n // });\r\n\r\n this.otherIncomeForm = this.fb.group({\r\n other_income: [null],\r\n otherincome_remarks:[null],\r\n income_details: this.fb.array([])\r\n });\r\n \r\n \r\n \r\n //this.incomeDetails=this.otherIncomeForm.get('income_details')as FormArray\r\n //this.incomeDetails.push(this.createDetail())\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\r\n this.getOtherIncome();\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.otherIncomeForm.dirty);\r\n if(this.otherIncomeForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Data will be Lost\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n createDetail():FormGroup {\r\n return this.fb.group({\r\n source: [''],\r\n address:[''],\r\n others_source : [''],\r\n income_earned_by:[''],\r\n others_income_earned_by:[''],\r\n amount: [''],\r\n frequency: [''],\r\n others_frequency : ['']\r\n });\r\n}\r\naddIncomeDetails() {\r\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\r\n \r\n this.incomeDetails.push(this.createDetail());\r\n}\r\ndeleteIncomeDetails(index) {\r\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\r\n if(this.incomeDetails.length==1){\r\n // this.otherIncomeForm.controls['income_details'].reset();\r\n this.otherIncomeForm.reset();\r\n this.amtInWords[index]=''\r\n }else{\r\n this.incomeDetails.removeAt(index);\r\n }\r\n}\r\ncheckotherDetails(val)\r\n{\r\n if(val==\"Yes\")\r\n {\r\n this.addIncomeDetails();\r\n }\r\n if(val==\"No\"){\r\n //let length=this.otherIncomeForm.income_details.controls.length\r\n const control= this.otherIncomeForm.controls['income_details'];\r\n control.removeAt(0)\r\n // let len=control.length\r\n // for(let i=0;i{\r\n if(res['dataStatus']==true)\r\n {\r\n this.incomeEarnedBy=res['record'];\r\n }\r\n })\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus==true){\r\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\r\n console.log(this.existCompanyList)\r\n }\r\n let modifyCompanyList:any=[]\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList=this.existCompanyList.map(element=>{\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\r\n \r\n }\r\n let modifyApplicantList:any=[]\r\n if(this.applicants.length>0){\r\n modifyApplicantList=this.applicants.map(element=>{\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n })\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\r\n })\r\n\r\n let master_name = 'FREQUENCY';\r\n this.qustCat.getcommondrop(master_name).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFOTHERINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.sourceIncome = res['records'];\r\n if (this.customer_segment_abbr == 'SE-RI') {\r\n let inx = this.sourceIncome.map(data => data.name).indexOf(\"Rental Income\")\r\n /** -X- Please NOTE THIS :\r\n * inx is '-1' -> this will remove the last item from array \r\n * so that If Condition is given. */\r\n if (inx !== -1) {\r\n this.sourceIncome.splice(this.sourceIncome.map(data => data.name).indexOf(\"Rental Income\"), 1);\r\n }\r\n }\r\n }\r\n });\r\n \r\n \r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\n\r\ngetOtherOrganisationOwner(value,i) {\r\n //console.log('value',value,'I',i);\r\nlet Ctrls = this.otherIncomeForm.controls['income_details'];\r\n console.log('ParCtrls',Ctrls);\r\nlet ChdCtrls:any = Ctrls.controls[i];\r\n // console.log('ChdCtrls',ChdCtrls);\r\n // return;\r\n\r\n\r\nlet Avaliablity = 1;\r\nconsole.log('val',value);\r\nif(value.length>0){\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n}\r\nif(Avaliablity == 0){\r\n// console.log('if Avaliablity',Avaliablity);\r\nconsole.log(\"chld\",ChdCtrls)\r\n ChdCtrls.controls.others_income_earned_by.setValidators([Validators.required]);\r\n this.isOrganisationOwner[i] = true;\r\n}else if(Avaliablity == 1){\r\n// console.log('else Avaliablity',Avaliablity);\r\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n ChdCtrls.controls.others_income_earned_by.setValue('');\r\n ChdCtrls.controls.others_income_earned_by.clearValidators();\r\n this.isOrganisationOwner[i] = false;\r\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n}\r\n \r\nChdCtrls.controls.others_income_earned_by.updateValueAndValidity(); \r\n}\r\ninWords(val,i){\r\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n}\r\n\r\nToview(){\r\n // alert('Rental Income Details - Is inprogress');\r\n \r\n // here Hardcoded;\r\n this.otherIncomeForm.reset(this.otherIncomeForm.value)\r\n let RIFormDtls = {'form_id':17,'form_name':'Rental Verification'};\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':RIFormDtls,'pdDetails':this.pdDetails});\r\n}\r\nsubmitOtherIncome(answerData)\r\n{\r\n \r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.other_income = answerData.other_income;\r\n records.income_details = answerData.income_details;\r\n records.otherincome_remarks = answerData.otherincome_remarks;\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n //TO CHANGE THE FORM STATE \r\n this.otherIncomeForm.reset(this.otherIncomeDetails.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }, error => {\r\n \r\n })\r\n}\r\n\r\ngetOtherIncome()\r\n{\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\r\n this.otherIncomeDetails = res; \r\n if(this.otherIncomeDetails.dataStatus == true)\r\n {\r\n this.otherIncomeDetails = this.otherIncomeDetails.records;\r\n if(this.otherIncomeDetails.other_income=='Yes'){\r\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\r\n return res['records'].income_details[key];\r\n\r\n });\r\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\r\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\r\n \r\n \r\n \r\n \r\n if(incomeArray.length==0)\r\n {\r\n // this.incomeDetails.push(this.createDetail());\r\n }else\r\n {\r\n incomeArray.forEach((datas,index)=>\r\n {\r\n \r\n this.incomeDetails.push(this.createDetail());\r\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\r\n this.getOtherOrganisationOwner(datas.income_earned_by,index)\r\n })\r\n }\r\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\r\n \r\n }else\r\n {\r\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\r\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\r\n }\r\n }\r\n else{\r\n // this.incomeDetails.push(this.createDetail())\r\n }\r\n })\r\n}\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\n\r\nchangeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\nthis.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n},error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n})\r\nthis.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams ,AlertController} from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants';\r\nimport {DatePipe} from '@angular/common'\r\nimport { Message } from '@angular/compiler/src/i18n/i18n_ast';\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n/**\r\n * Generated class for the PdQuestionRentalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-rental-info',\r\n templateUrl: 'pd-question-rental-info.html',\r\n})\r\nexport class PdQuestionRentalInfoPage {\r\n pipe = new DatePipe('en-US');\r\n users: any;\r\n pdDetails: any;\r\n FormId: any;\r\n rentalForms:FormGroup;\r\n applicants: any ;\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n personType: any=[{id:2,name:\"Tenant / Lessee\"},{id:3,name:\"Owner of the Rented Property\"},{id:4,name:\"Property Caretaker\"},{id:1,name:\"Others (Please Specify)\"}];\r\n relationShipList: any=[];\r\n relationToList: any=[];\r\n rentAmtInwords : String;\r\n paymentOptions: any=[{id:1,name:\"Received in Cash\"},{id:2,name:\"Received through Banking Channel\"},{id:3,name:\"Combination of Cash & Bank\"}];\r\n paymentPaidOptions: any=[{id:1,name:\"Paid in Cash\"},{id:2,name:\"Paid through Banking Channel\"},{id:3,name:\"Combination of Cash & Bank\"}];\r\n propertyNature: any=[{id:2,name:\"Residential Property\"},{id:3,name:\"Commercial Property\"},{id:4,name:\"Industrial Property\"},{id:1,name:\"Others (Please Specify)\"}];\r\n unitTypeList: any=[];\r\n stateData:any=[];\r\n cityData:any=[];\r\n pincodeData:any=[];\r\n stateList:any=[];\r\n cityList:any=[];\r\n pincodeList:any=[];\r\n \r\n documentList: any=[{id:2,name:\"Property Title Document\"},{id:3,name:\"Electricity Bill with name of owner mentioned therein\"},{id:4,name:\"Property tax Receipts\"},{id:1,name:\"Others (Please Specify)\"}];\r\n //floorList: any=[{id:1,name:\"Ground Floor\"},{id:1,name:\"First Floor\"},{id:1,name:\"Second Floor\"},{id:1,name:\"Third Floor\"}]\r\n //unitMeasurementList: any=[{id:2,name:\"Square Feet\"},{id:3,name:\"Square Yards\"},{id:4,name:\"Square Meters\"},{id:5,name:\"Acres\"},{id:6,name:\"Hectares\"},{id:1,name:\"Others (Please Specify)\"}];\r\n unitMeasurementList: any=[];\r\n\r\n rent_per_unit_Inwords : any= [];\r\n amount_Inwords : any=[];\r\n // rent_per_unit_2_Inwords: any=[];\r\n floor_rent_per_unit_Inwords : any[][];\r\n floor_rent_amount_Inwords: any=[];\r\n monthly_rent_amount_Inwords: any=[];\r\n amount_received_cash_Inwords: any=[];\r\n amount_received_bank_Inwords: any=[];\r\n securtity_deposit_amount_Inwords: any=[]; \r\n agreement_monthly_rent_amount_Inwords: any=[];\r\n agreement_security_deposit_amount_Inwords: any=[]\r\n paid_monthly_rent_per_met_Inwords: any=[];\r\n amount_received_cash_per_met_Inwords: any=[];\r\n amount_received_bank_per_met_Inwords: any=[];\r\n protected _onDestroy = new Subject();\r\n imageBucket: any=[];\r\n tab: any='0';\r\n imageDisplay: any=[];\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public toast:ToastProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,\r\n public constprovider:ConstantsProvider,public alertCtrl:AlertController,\r\n private loading:LoadingProvider,private cameraProvider:CameraProvider) \r\n {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.getdropList();\r\n\r\n this.rentalForms = this.fb.group(\r\n {\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId.form_id,\r\n address_property:['',Validators.required],\r\n state:['',Validators.required],\r\n stateSearch:[''],\r\n city:['',Validators.required],\r\n citySearch:[''],\r\n pincode:['',Validators.required],\r\n pincodeSearch:[''],\r\n validate_visited_address:[true],\r\n person_met: ['',Validators.required],\r\n property_owner: ['',Validators.required],\r\n property_ownership_proof_documents: ['',Validators.required],\r\n nature_property: ['',Validators.required],\r\n unit_type:['',Validators.required],\r\n no_units:[''],\r\n multistoried_building_details: this.fb.array([]),\r\n property_unit_details : this.fb.array([]),\r\n done_third_party_check :['',Validators.required],\r\n rental_remark: [''],\r\n })\r\n\r\n // observe person met controls\r\n this.rentalForms.controls['person_met'].valueChanges.subscribe(val => {\r\n if(val && val.length>0){\r\n let otherPersonMetCheck = val.filter(fVal=>fVal.id==0);\r\n otherPersonMetCheck.length>0 ? this.rentalForms.addControl('other_person_met', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_person_met');\r\n otherPersonMetCheck.length>0 ? this.rentalForms.addControl('other_name_person_showing_property', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_name_person_showing_property');\r\n otherPersonMetCheck.length>0 ? '' : this.rentalForms.removeControl('other_name_person_type');\r\n\r\n \r\n }\r\n else {\r\n this.rentalForms.removeControl('other_person_met');\r\n this.rentalForms.removeControl('other_name_person_showing_property');\r\n this.rentalForms.removeControl('other_name_person_type');\r\n }\r\n });\r\n // observe owner of the property\r\n this.rentalForms.controls['property_owner'].valueChanges.subscribe(val => {\r\n if(val && val.length>0){\r\n let otherOwnerCheck = val.filter(fVal=>fVal.id==0);\r\n otherOwnerCheck.length>0 ? this.rentalForms.addControl('property_owner_other', new FormControl('', Validators.required)) : this.rentalForms.removeControl('property_owner_other');\r\n otherOwnerCheck.length>0 ? this.rentalForms.addControl('property_owner_other_relationship', new FormControl('', Validators.required)) : this.rentalForms.removeControl('property_owner_other_relationship');\r\n otherOwnerCheck.length>0 ? this.rentalForms.addControl('property_owner_other_relation_to', new FormControl('', Validators.required)) : this.rentalForms.removeControl('property_owner_other_relation_to');\r\n\r\n }\r\n else {\r\n this.rentalForms.removeControl('property_owner_other');\r\n this.rentalForms.removeControl('property_owner_other_relationship');\r\n this.rentalForms.removeControl('other_name_person_type');\r\n this.rentalForms.removeControl('property_owner_other_relation_to');\r\n }\r\n });\r\n // observe other property type\r\n this.rentalForms.controls['nature_property'].valueChanges.subscribe(val => { \r\n val.id==1 ? this.rentalForms.addControl('other_nature_property', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_nature_property');\r\n });\r\n\r\n // observe unit type changes\r\n this.rentalForms.controls['unit_type'].valueChanges.subscribe(val => { \r\n val.id==1 ? this.rentalForms.addControl('other_unit_type', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_unit_type');\r\n val.group_id==1 && val.id==6 ? this.rentalForms.removeControl('no_units') : val.group_id==2 && val.id==7 ? this.rentalForms.removeControl('no_units') : this.rentalForms.addControl('no_units', new FormControl(''));\r\n val.group_id==1 && val.id==6 ? this.rentalForms.addControl('no_floor', new FormControl('',Validators.required)) : val.group_id==2 && val.id==7 ? this.rentalForms.addControl('no_floor', new FormControl('',Validators.required)) : this.rentalForms.removeControl('no_floor');\r\n val.group_id==1 && val.id==6 ? this.rentalForms.addControl('multistoried_total_area', new FormControl('',Validators.required)) : val.group_id==2 && val.id==7 ? this.rentalForms.addControl('multistoried_total_area', new FormControl('',Validators.required)) : this.rentalForms.removeControl('multistoried_total_area');\r\n val.group_id==1 && val.id==6 ? this.rentalForms.addControl('multistoried_uom', new FormControl('',Validators.required)) : val.group_id==2 && val.id==7 ? this.rentalForms.addControl('multistoried_uom', new FormControl('',Validators.required)) : this.rentalForms.removeControl('multistoried_uom');\r\n val.group_id==1 && val.id==6 ? '' : val.group_id==2 && val.id==7 ? '' : this.rentalForms.setControl('multistoried_building_details', this.fb.array([]));\r\n });\r\n\r\n // observe visit address\r\n this.rentalForms.controls['validate_visited_address'].valueChanges.subscribe(val => { \r\n if(val===false){\r\n this.rentalForms.addControl('other_visited_address', new FormControl('', Validators.required)); \r\n }\r\n else {\r\n this.rentalForms.removeControl('other_visited_address'); \r\n }\r\n });\r\n // get city list based on state changes\r\n this.rentalForms.controls['state'].valueChanges.subscribe(val => { \r\n this.qustCat.getStateWiseCities(val).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData = data.records.cities;\r\n this.cityList = this.cityData.slice();\r\n this.pincodeData = data.records.pincode;\r\n this.pincodeList = this.pincodeData.slice();\r\n }\r\n });\r\n });\r\n\r\n // ownership property documents during the visit\r\n this.rentalForms.controls['property_ownership_proof_documents'].valueChanges.subscribe(val => { \r\n val==\"1\" ? this.rentalForms.addControl('sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('sighted_documents');\r\n val==\"1\" ? '' : this.rentalForms.removeControl('other_sighted_documents');\r\n }); \r\n\r\n // listen third party check\r\n this.rentalForms.controls['done_third_party_check'].valueChanges.subscribe(val => { \r\n val==\"1\" ? this.rentalForms.addControl('whom_third_party_check_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('whom_third_party_check_done');\r\n val==\"1\" ? this.rentalForms.addControl('description_third_party_check_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('description_third_party_check_done');\r\n val==\"1\" ? this.rentalForms.addControl('rental_rates_third_party_check_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('rental_rates_third_party_check_done');\r\n val==\"0\" ? this.rentalForms.addControl('why_third_party_check_not_done', new FormControl('', Validators.required)) : this.rentalForms.removeControl('why_third_party_check_not_done');\r\n }); \r\n\r\n this.getRentalDetails(); \r\n\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.rentalForms.dirty);\r\n if(this.rentalForms.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n getdropList()\r\n {\r\n\r\n let modifyApplicantList: any=[];\r\n \r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n \r\n }\r\n // set unit type list details\r\n let resiDentialProperty = [{id:2,name:'Independent Flat',group_id:1},{id:3,name:'Independent Floor',group_id:1},\r\n {id:4,name:'Independent House',group_id:1},{id:5,name:'Independent Row House',group_id:1},{id:6,name:'Multi Storey Building',group_id:1},{id:1,name:'Other (Please Specify)',group_id:1}];\r\n \r\n let commercialProperty = [{id:2,name:'Independent Office',group_id:2},{id:3,name:'Independent Shop',group_id:2},{id:4,name:'Warehouse/Godown',group_id:2},\r\n {id:5,name:'Workshop',group_id:2},{id:6,name:'Independent Clinic',group_id:2},{id:7,name:'Multi Storey Building',group_id:2},{id:1,name:'Other (Please Specify)',group_id:2}];\r\n\r\n let industrialProperty = [{id:2,name:'Factory',group_id:3},{id:3,name:'Industrial Shed',group_id:3},{id:1,name:'Other (Please Specify)',group_id:3}];\r\n \r\n this.unitTypeList.push({groupID:2,groupName:'Residential Property',groupValues:resiDentialProperty});\r\n this.unitTypeList.push({groupID:3,groupName:'Commercial Property',groupValues:commercialProperty});\r\n this.unitTypeList.push({groupID:4,groupName:'Industrial Property',groupValues:industrialProperty}); \r\n \r\n\r\n //GETTING RELATIONSHIPS\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let relationshipList: any = res['records'].filter(item => item.isactive == 1).map(element => {\r\n return {id:element.relationship_id.toString(),name:element.name,group_id:1};\r\n });\r\n relationshipList.length > 0 ? this.relationShipList.push({groupName:'Personal',groupValues:relationshipList}):'';\r\n }\r\n })\r\n \r\n //GETTING COMPANYRELATIONSHIPS;\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let companyRelationShipList:any = res['records'].filter(item => item.isactive == 1 && item.name != 'Others').map(element => {\r\n return {id:element.company_relationship_id.toString(),name:element.name,group_id:2};\r\n });\r\n companyRelationShipList.length > 0 ? this.relationShipList.push({groupName:'Official',groupValues:companyRelationShipList}):'';\r\n } \r\n })\r\n \r\n //GETTING STATE;\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.stateData = res['records'].filter(data => data.isactive == 1);\r\n this.stateList = this.stateData.slice();\r\n }\r\n })\r\n\r\n //GETTING UOM;\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.unitMeasurementList = res['records'].filter(data => data.isactive == 1 && data.is_land_uom == 1 || data.is_land_uom == 2).map(mval=>({id : mval.uom_id , name:mval.name}));\r\n }\r\n }) \r\n }\r\n\r\n// initRentalForm() {\r\n// return this.rentalForms = this.fb.group({\r\n// pdid: this.pdDetails.pd_id,\r\n// formid: this.FormId.form_id,\r\n// address_property:['',Validators.required],\r\n// state:['',Validators.required],\r\n// city:['',Validators.required],\r\n// pincode:['',Validators.required],\r\n// validate_visited_address:[true],\r\n// person_met: ['',Validators.required],\r\n// property_owner: ['',Validators.required],\r\n// property_ownership_proof_documents: ['',Validators.required],\r\n// nature_property: ['',Validators.required],\r\n// unit_type:['',Validators.required],\r\n// no_units:[''],\r\n// property_unit_details : this.fb.array([]),\r\n// done_third_party_check :['',Validators.required],\r\n// rental_remark: [''],\r\n// });\r\n// }\r\n\r\n // createrentalHome()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // complete_add:[null,Validators.compose([Validators.required])],\r\n // area_of_property:[null,Validators.compose([Validators.required])],\r\n // structure_property:[null,Validators.compose([Validators.required])],\r\n // total_room:[null,Validators.compose([Validators.required])],\r\n // is_rent:[null,Validators.compose([Validators.required])],\r\n // date_agreement:[null,Validators.compose([Validators.required])],\r\n // date_validity:[null,Validators.compose([Validators.required])],\r\n // rent_agreement:[null,Validators.compose([Validators.required])],\r\n // actual_rent:[null,Validators.compose([Validators.required])],\r\n // photo_areegment:[null,Validators.compose([Validators.required])],\r\n // property_photographs:[null],\r\n // bank:[null,Validators.compose([Validators.required])],\r\n // cash:[null,Validators.compose([Validators.required])],\r\n // rent_each_floor:[null,Validators.compose([Validators.required])],\r\n // total_rent:[null,Validators.compose([Validators.required])],\r\n // related_doc_owner:[null,Validators.compose([Validators.required])],\r\n // details_tenants:this.fb.array([]),\r\n // third_party_check:[null,Validators.compose([Validators.required])],\r\n // })\r\n // }\r\n\r\n // other_name_person_showing_property changes\r\n personShowingChanges(value: any): void { \r\n if(value.length>0){\r\n let otherCheck: any = value.filter(fVal=>fVal.id==1);\r\n otherCheck.length >0 ? this.rentalForms.addControl('other_name_person_type', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_name_person_type');\r\n}\r\nelse {\r\n this.rentalForms.removeControl('other_name_person_type');\r\n}\r\n}\r\n\r\n// dynamic form control generate for other documents sighted\r\ngetSightedDocs(value): void{\r\n value.id==1 ? this.rentalForms.addControl('other_sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_sighted_documents');\r\n}\r\n\r\n// add more unit details\r\naddMoreUnitDetails(){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n //control.push(this.createUnitDetails(''));\r\n control.push(this.createUnitDetails(''));\r\n}\r\n\r\n // create unit details\r\n createUnitDetails(details){\r\n return this.fb.group({\r\n tenant_lessees_options:['1',Validators.required],\r\n name_tenant_lessees:['',Validators.required],\r\n monthly_rent_amount: ['',Validators.required],\r\n payment_mode: ['',Validators.required],\r\n securtity_deposit_amount: ['',Validators.required],\r\n property_cover_area: ['',Validators.required],\r\n unit_measurement: ['',Validators.required],\r\n is_rent_agreement_executed: ['',Validators.required],\r\n met_tenant_lessees_options: ['',Validators.required],\r\n });\r\n }\r\n\r\n // remove unit\r\n removeUnit(index) {\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n control.removeAt(index);\r\n }\r\n\r\n // generate payment dynamic fields\r\n generatePaymentOptions(value:any,index:number,type: number){\r\n if(type==1){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value && value.payment_mode.id==1){\r\n control.controls[index].addControl('amount_received_cash', new FormControl(value.amount_received_cash ? value.amount_received_cash : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_bank');\r\n control.controls[index].removeControl('payment_received_reason');\r\n }\r\n else if(value && value.payment_mode.id==2){\r\n control.controls[index].addControl('amount_received_bank', new FormControl(value.amount_received_bank ? value.amount_received_bank : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_cash');\r\n control.controls[index].removeControl('payment_received_reason');\r\n }\r\n else if(value && value.payment_mode.id==3){\r\n control.controls[index].addControl('amount_received_cash', new FormControl(value.amount_received_cash ? value.amount_received_cash : '', Validators.required));\r\n control.controls[index].addControl('amount_received_bank', new FormControl(value.amount_received_bank ? value.amount_received_bank : '', Validators.required));\r\n control.controls[index].addControl('payment_received_reason', new FormControl(value.payment_received_reason ? value.payment_received_reason : '', Validators.required));\r\n }\r\n else {\r\n control.controls[index].removeControl('amount_received_cash');\r\n control.controls[index].removeControl('amount_received_bank');\r\n control.controls[index].removeControl('payment_received_reason');\r\n }\r\n \r\n }\r\n else if(type==2){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n console.log(\"controls\",control.controls['index'])\r\n if( control.controls[index].controls['payment_difference_per_met']){\r\n console.log(\"pay\");\r\n control.controls[index].controls['payment_difference_per_met'].setValue('')\r\n }\r\n \r\n if(value && value.payment_mode_per_met.id==1){\r\n control.controls[index].addControl('amount_received_cash_per_met', new FormControl(value.amount_received_cash_per_met ? value.amount_received_cash_per_met : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_bank_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n }\r\n else if(value && value.payment_mode_per_met.id==2){\r\n control.controls[index].addControl('amount_received_bank_per_met', new FormControl(value.amount_received_bank_per_met ? value.amount_received_bank_per_met : '', Validators.required));\r\n control.controls[index].removeControl('amount_received_cash_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n }\r\n else if(value && value.payment_mode_per_met.id==3){\r\n control.controls[index].addControl('amount_received_cash_per_met', new FormControl(value.amount_received_cash_per_met ? value.amount_received_cash_per_met : '', Validators.required));\r\n control.controls[index].addControl('amount_received_bank_per_met', new FormControl(value.amount_received_bank_per_met ? value.amount_received_bank_per_met : '', Validators.required));\r\n control.controls[index].addControl('payment_received_reason_per_met', new FormControl(value.payment_received_reason_per_met ? value.payment_received_reason_per_met : '', Validators.required));\r\n }\r\n else {\r\n control.controls[index].removeControl('amount_received_cash_per_met');\r\n control.controls[index].removeControl('amount_received_bank_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n }\r\n }\r\n \r\n \r\n }\r\n\r\n// tenant/lessees options\r\ngenerateTenantOptions(value:any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.tenant_lessees_options==\"1\"){\r\n control.controls[index].addControl('name_tenant_lessees', new FormControl('', Validators.required));\r\n control.controls[index].removeControl('name_tenant_lessees_reason');\r\n }\r\n else if(value.tenant_lessees_options==\"0\"){\r\n control.controls[index].addControl('name_tenant_lessees_reason', new FormControl('', Validators.required));\r\n control.controls[index].removeControl('name_tenant_lessees');\r\n }\r\n else {\r\n control.controls[index].removeControl('name_tenant_lessees');\r\n control.controls[index].removeControl('name_tenant_lessees_reason');\r\n }\r\n }\r\n\r\n // unit of measurement generate other field\r\n generateOtherunitMeasurement(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n value.unit_measurement.id==\"1\" ? control.controls[index].addControl('other_unit_measurement', new FormControl('', Validators.required)) : control.controls[index].removeControl('other_unit_measurement');\r\n \r\n}\r\n\r\n// generate multistoried other uom\r\ngenerateMultistoriedOtherUOM(value: any){\r\n value.multistoried_uom.id==\"1\" ? this.rentalForms.addControl('multistoried_other_uom', new FormControl('', Validators.required)) : this.rentalForms.removeControl('multistoried_other_uom');\r\n}\r\n\r\n// generate Rent AgreementSeen\r\ngenerateRentAgreementSeen(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n \r\n if(value.is_rent_agreement_executed==\"1\"){\r\n control.controls[index].addControl('rent_agreement_seen', new FormControl('', Validators.required))\r\n }\r\n else{\r\n control.controls[index].removeControl('rent_agreement_seen');\r\n // after no\r\n control.controls[index].removeControl('rent_agreement_registered');\r\n // after No\r\n control.controls[index].removeControl('agreement_date');\r\n control.controls[index].removeControl('agreement_no_months');\r\n control.controls[index].removeControl('agreement_expiring_date');\r\n control.controls[index].removeControl('rental_remaining_months');\r\n control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n control.controls[index].removeControl('agreement_security_deposit_amount');\r\n control.controls[index].removeControl('agreement_property_owners_name');\r\n control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n // remove agrement other ownres \r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n }\r\n \r\n}\r\n//genearate rent agreement registered options\r\ngenerateRegisterOptions(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.rent_agreement_seen==\"1\"){\r\n control.controls[index].addControl('rent_agreement_registered', new FormControl('', Validators.required));\r\n }\r\n else{\r\n control.controls[index].removeControl('rent_agreement_registered');\r\n // after No\r\n control.controls[index].removeControl('agreement_date');\r\n control.controls[index].removeControl('agreement_no_months');\r\n control.controls[index].removeControl('agreement_expiring_date');\r\n control.controls[index].removeControl('rental_remaining_months');\r\n control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n control.controls[index].removeControl('agreement_security_deposit_amount');\r\n control.controls[index].removeControl('agreement_property_owners_name');\r\n control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n // remove agrement other ownres \r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n }\r\n\r\n}\r\n//genearate if rent agreement yes registered details\r\ngenerateRegisterDetails(value: any,index:number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.rent_agreement_registered==\"1\"){\r\n control.controls[index].addControl('agreement_date', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_no_months', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_expiring_date', new FormControl(''));\r\n control.controls[index].addControl('rental_remaining_months', new FormControl(''));\r\n control.controls[index].addControl('agreement_monthly_rent_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_property_owners_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_tenant_lessees_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('differences_loanapplicant_rentagreement', new FormControl(''));\r\n\r\n }\r\n else if(value.rent_agreement_registered==\"0\"){\r\n control.controls[index].addControl('agreement_date', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_no_months', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_expiring_date', new FormControl(''));\r\n control.controls[index].addControl('rental_remaining_months', new FormControl(''));\r\n control.controls[index].addControl('agreement_monthly_rent_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_property_owners_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('agreement_tenant_lessees_name', new FormControl('', Validators.required));\r\n control.controls[index].addControl('differences_loanapplicant_rentagreement', new FormControl(''));\r\n }\r\n else{\r\n control.controls[index].removeControl('agreement_date');\r\n control.controls[index].removeControl('agreement_no_months');\r\n control.controls[index].removeControl('agreement_expiring_date');\r\n control.controls[index].removeControl('rental_remaining_months');\r\n control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n control.controls[index].removeControl('agreement_security_deposit_amount');\r\n control.controls[index].removeControl('agreement_property_owners_name');\r\n control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n // remove agrement other ownres \r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n\r\n }\r\n\r\n}\r\n\r\n// calculate expiry date\r\n// calculateExpiryDate(e: any,index){\r\n// let control: any = this.rentalForms.controls['property_unit_details'];\r\n// // let getSeletedDate: any=control.value[index].agreement_date ? this.pipe.transform(control.value[index].agreement_date, 'yyyy/MM/dd'): '';\r\n// let getSeletedDate: any='';\r\n// let getEnteredMonth = control.value[index].agreement_no_months > 0 ? control.value[index].agreement_no_months : '0';\r\n// if(getSeletedDate && getEnteredMonth>0){\r\n// let modifySeletedDate:any = new Date(new Date(getSeletedDate).setMonth(new Date(getSeletedDate).getMonth() + Number(getEnteredMonth)));\r\n// modifySeletedDate.setDate(modifySeletedDate.getDate() - 1);\r\n// // let getExpiryDate=this.pipe.transform(modifySeletedDate, 'dd/MM/yyyy');\r\n// let getExpiryDate='';\r\n// control.controls[index].controls['agreement_expiring_date'].setValue(getExpiryDate);\r\n// // calculate remaining month\r\n// if(modifySeletedDate >= new Date()){\r\n// let currentDate:any = new Date();\r\n// // currentDate = this.pipe.transform(currentDate, 'yyyy/MM/dd');\r\n// currentDate = '';\r\n// let remaingMonths;\r\n// remaingMonths = (modifySeletedDate.getFullYear() - new Date().getFullYear()) * 12;\r\n// remaingMonths += modifySeletedDate.getMonth() - new Date().getMonth();\r\n// control.controls[index].controls['rental_remaining_months'].setValue(remaingMonths);\r\n// }\r\n// else{\r\n// control.controls[index].controls['rental_remaining_months'].setValue(0);\r\n// }\r\n// }\r\n// else {\r\n// control.controls[index].controls['agreement_expiring_date'].setValue('');\r\n// control.controls[index].controls['rental_remaining_months'].setValue('');\r\n\r\n// }\r\n\r\n// } \r\n\r\ncalculateExpiryDate(e: any,index){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n let getSeletedDate: any=control.value[index].agreement_date ? this.pipe.transform(control.value[index].agreement_date, 'yyyy/MM/dd'): '';\r\n let getEnteredMonth = control.value[index].agreement_no_months > 0 ? control.value[index].agreement_no_months : '0';\r\n if(getSeletedDate && getEnteredMonth>0){\r\n let modifySeletedDate:any = new Date(new Date(getSeletedDate).setMonth(new Date(getSeletedDate).getMonth() + Number(getEnteredMonth)));\r\n modifySeletedDate.setDate(modifySeletedDate.getDate() - 1);\r\n let getExpiryDate=this.pipe.transform(modifySeletedDate, 'dd/MM/yyyy');\r\n console.log('getExpiryDate',getExpiryDate);\r\n control.controls[index].controls['agreement_expiring_date'].setValue(getExpiryDate);\r\n // calculate remaining month\r\n if(modifySeletedDate >= new Date()){\r\n let currentDate:any = new Date();\r\n currentDate = this.pipe.transform(currentDate, 'yyyy/MM/dd');\r\n let remaingMonths;\r\n remaingMonths = (modifySeletedDate.getFullYear() - new Date().getFullYear()) * 12;\r\n remaingMonths += modifySeletedDate.getMonth() - new Date().getMonth();\r\n console.log('remaingMonths',remaingMonths);\r\n control.controls[index].controls['rental_remaining_months'].setValue(remaingMonths);\r\n }\r\n else{\r\n control.controls[index].controls['rental_remaining_months'].setValue(0);\r\n }\r\n }\r\n else {\r\n control.controls[index].controls['agreement_expiring_date'].setValue('');\r\n control.controls[index].controls['rental_remaining_months'].setValue('');\r\n\r\n }\r\n\r\n} \r\n\r\n// generate other owners as per rent agreement\r\ngenerateAgreementOtherOwners(value:any,index:number) {\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value && value.length>0){\r\n let otherOwnerCheck = value.filter(fVal=>fVal.id==0);\r\n otherOwnerCheck.length>0 ? control.controls[index].addControl('agreement_property_owner_other', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other');\r\n otherOwnerCheck.length>0 ? control.controls[index].addControl('agreement_property_owner_other_relationship', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n otherOwnerCheck.length>0 ? control.controls[index].addControl('agreement_property_owner_other_relation_to', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n\r\n }\r\n else {\r\n control.controls[index].removeControl('agreement_property_owner_other');\r\n control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n }\r\n}\r\n\r\n// validate agreement amount\r\nvalidateAgreementAmt(actualRent:number,agreementRent:number){\r\n if(actualRent>0 && agreementRent>0){\r\n return (actualRent >= agreementRent) ? Number(actualRent) - Number(agreementRent) : Number(agreementRent) - Number(actualRent);\r\n }\r\n else{\r\n return \"0\";\r\n }\r\n\r\n}\r\n \r\n// generate tenant met details\r\ngenerateTenantMetDetails(value: any, index: number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n \r\n if(value.met_tenant_lessees_options==\"1\"){\r\n // remove reason \r\n control.controls[index].removeControl('name_tenant_lessees_reason_per_met');\r\n \r\n control.controls[index].addControl('name_tenant_lessees_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('property_owner_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('paid_monthly_rent_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('period_of_stay_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('payment_mode_per_met', new FormControl('', Validators.required));\r\n control.controls[index].addControl('payment_difference_per_met', new FormControl(''));\r\n \r\n\r\n }\r\n else{\r\n control.controls[index].removeControl('name_tenant_lessees_per_met');\r\n control.controls[index].removeControl('property_owner_per_met');\r\n control.controls[index].removeControl('paid_monthly_rent_per_met');\r\n control.controls[index].removeControl('period_of_stay_per_met');\r\n control.controls[index].removeControl('payment_mode_per_met');\r\n control.controls[index].removeControl('payment_difference_per_met');\r\n\r\n\r\n // remove other owner details\r\n control.controls[index].removeControl('property_owner_other_per_met');\r\n control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n // remove paymnet options\r\n control.controls[index].removeControl('amount_received_cash_per_met');\r\n control.controls[index].removeControl('amount_received_bank_per_met');\r\n control.controls[index].removeControl('payment_received_reason_per_met');\r\n // add reason\r\n control.controls[index].addControl('name_tenant_lessees_reason_per_met', new FormControl('', Validators.required));\r\n\r\n\r\n }\r\n}\r\n\r\n// generate met others owner\r\ngenerateMetOtherOwners(value: any, index: number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n if(value.property_owner_per_met.length>0){\r\n let otherCheck: any = value.property_owner_per_met.filter(fVal=>fVal.id==0);\r\n otherCheck.length >0 ? control.controls[index].addControl('property_owner_other_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_per_met');\r\n otherCheck.length >0 ? control.controls[index].addControl('property_owner_other_relationship_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n otherCheck.length >0 ? control.controls[index].addControl('property_owner_other_relation_to_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n\r\n}\r\nelse {\r\n control.controls[index].removeControl('property_owner_other_per_met');\r\n control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n\r\n}\r\n\r\n}\r\n\r\n// generate floor rows\r\ngenerateFloor(e:any): void{\r\n let control = this.rentalForms.controls['multistoried_building_details'];\r\n if(e.target.value && Math.round(e.target.value)!=0){\r\n \r\n if(Math.round(e.target.value) > this.rentalForms.value.multistoried_building_details.length){\r\n let rowValue = Math.round(e.target.value)-this.rentalForms.value.multistoried_building_details.length;\r\n for(let i=rowValue;i>0;i--){\r\n control.push(this.createFloorDetails(''));\r\n }\r\n }\r\n else if(Math.round(e.target.value) < this.rentalForms.value.multistoried_building_details.length){\r\n let rowValue = this.rentalForms.value.multistoried_building_details.length-Math.round(e.target.value);\r\n for(let i=rowValue;i>0;i--){\r\n control.removeAt(this.rentalForms.value.multistoried_building_details.length-1);\r\n }\r\n }\r\n }\r\n else if(e.target.value && Math.round(e.target.value)==0){\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n else{\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n e.stopPropagation();\r\n}\r\n\r\n// create floor details\r\ncreateFloorDetails(details){\r\n if(details){\r\n return this.fb.group({\r\n floor_level: [this.rentalForms.value.multistoried_building_details.length==0 ? 'Ground Floor' : this.rentalForms.value.multistoried_building_details.length+' Floor', Validators.compose([Validators.required])],\r\n no_units_in_floor: ['', Validators.compose([Validators.required])],\r\n unit_rent_difference_options : ['', Validators.compose([Validators.required])], \r\n floor_unit_details : this.fb.array([]),\r\n floor_rent_amount: [''],\r\n });\r\n }\r\n else{\r\n return this.fb.group({\r\n floor_level: [this.rentalForms.value.multistoried_building_details.length==0 ? 'Ground Floor' : this.rentalForms.value.multistoried_building_details.length+' Floor', Validators.compose([Validators.required])],\r\n no_units_in_floor: ['', Validators.compose([Validators.required])],\r\n unit_rent_difference_options : ['', Validators.compose([Validators.required])],\r\n floor_unit_details : this.fb.array([]),\r\n floor_rent_amount: [''],\r\n });\r\n }\r\n\r\n}\r\n\r\n// generate floor unit details\r\ngenerateFloorUnit(values:any, index:number){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n control = control.controls[index];\r\n control= control.controls['floor_unit_details'];\r\n if(values.no_units_in_floor>0 && values.unit_rent_difference_options==\"0\"){\r\n if(Math.round(values.no_units_in_floor) > control.value.length){\r\n let rowValue = Math.round(values.no_units_in_floor)-control.value.length;\r\n for(let i=rowValue;i>0;i--){\r\n control.push(this.createFloorUnitDetails(2));\r\n }\r\n }\r\n else if(Math.round(values.no_units_in_floor) < control.value.length){\r\n let rowValue = control.value.length-Math.round(values.no_units_in_floor);\r\n for(let i=rowValue;i>0;i--){\r\n control.removeAt(control.value.length-1);\r\n }\r\n }\r\n else if(Math.round(values.no_units_in_floor)==0){\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n else{\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n this.calculateFloorRentAmt(values,index);\r\n \r\n }\r\n else if(values.no_units_in_floor>0 && values.unit_rent_difference_options==\"1\") {\r\n control.controls = [];\r\n control.setValue([]); \r\n control.push(this.createFloorUnitDetails(1));\r\n this.calculateFloorRentAmt(values,index);\r\n }\r\n else {\r\n control.controls = [];\r\n control.setValue([]); \r\n }\r\n\r\n}\r\n\r\n// create floor unit details\r\ncreateFloorUnitDetails(type:number){\r\n if(type==1){\r\n return this.fb.group({\r\n rent_per_unit: ['', Validators.compose([Validators.required])],\r\n amount: [''],\r\n });\r\n }\r\n else if(type==2){\r\n return this.fb.group({\r\n rent_per_unit: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n}\r\n// calculate floor rent amount\r\ncalculateFloorRentAmt(values: any, index: number){\r\n // this.inWords(values,index,1);\r\n if(values.unit_rent_difference_options==\"1\"){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n let unitcontrol = control.controls[index];\r\n unitcontrol= unitcontrol.controls['floor_unit_details'];\r\n if(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit>0 && values.no_units_in_floor>0){\r\n unitcontrol.controls[unitcontrol.value.length-1].controls['amount'].setValue(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor);\r\n this.inWords(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor,index,2);\r\n control.controls[index].controls['floor_rent_amount'].setValue(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor);\r\n this.inWords(unitcontrol.value[unitcontrol.value.length-1].rent_per_unit * values.no_units_in_floor,index,4);\r\n }\r\n else{\r\n unitcontrol.controls[unitcontrol.value.length-1].controls['amount'].setValue('');\r\n control.controls[index].controls['floor_rent_amount'].setValue('');\r\n\r\n }\r\n }\r\n else if(values.unit_rent_difference_options==\"0\"){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n let unitcontrol = control.controls[index];\r\n unitcontrol= unitcontrol.controls['floor_unit_details'];\r\n // console.log(unitcontrol)\r\n let getunitValues = unitcontrol.value.filter(val=>val.rent_per_unit!='');\r\n if(getunitValues.length>0){\r\n control.controls[index].controls['floor_rent_amount'].setValue(getunitValues.map(mval=>mval.rent_per_unit).reduce((acc, val) => Number(acc) + Number(val), 0));\r\n this.inWords(getunitValues.map(mval=>mval.rent_per_unit).reduce((acc, val) => Number(acc) + Number(val)),index,4);\r\n }\r\n else{\r\n control.controls[index].controls['floor_rent_amount'].setValue('');\r\n\r\n }\r\n }\r\n\r\n}\r\n\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\ncompareSingleObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id)\r\n return true;\r\n else return false\r\n}\r\n // createTenantsDetails()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // name:[null,Validators.compose([Validators.required])],\r\n // mobile_no:[null,Validators.compose([Validators.required])],\r\n // tenants_seen:[null,Validators.compose([Validators.required])],\r\n // tenants_con_owner:[null,Validators.compose([Validators.required])],\r\n // rent_paid:[null,Validators.compose([Validators.required])],\r\n // staying_since:[null,Validators.compose([Validators.required])],\r\n \r\n // });\r\n // }\r\n\r\n // addrentalHome()\r\n // {\r\n // const control = this.rentalForms.get('rental_home') as FormArray;\r\n // control.push(this.createrentalHome());\r\n // this.addTenantsDetails(0);\r\n // }\r\n\r\n // addTenantsDetails(i)\r\n // {\r\n // const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\r\n \r\n // // control.controls.splice(0);\r\n // control.push(this.createTenantsDetails());\r\n\r\n // }\r\n\r\n // deleteTenantsDetails(rentIndex,TenantsIndex)\r\n // {\r\n // const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\r\n \r\n // control.removeAt(TenantsIndex);\r\n // }\r\n\r\n // deleterentalHome(i)\r\n // {\r\n // const control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n // if(control.length==1)\r\n // {\r\n // this.rentalForms.controls['rental_home'].reset();\r\n // }else\r\n // {\r\n // control.removeAt(i);\r\n // }\r\n // }\r\n saveAlert(answerData){\r\n let ApplicantRentAmt : any ; \r\n let TenantRentAmt : any ; \r\n let FloorsTotalRentAmt : any ; \r\n\r\n let TempArray1 : any = [];\r\n let TempArray2 : any = [];\r\n let TempArray3 : any = [];\r\n\r\n let TextMessage :any;\r\n\r\n if(answerData.property_unit_details.length > 0){\r\n \r\n answerData.property_unit_details.forEach((data,index) => {\r\n TempArray1[index] = data.monthly_rent_amount;\r\n ApplicantRentAmt = TempArray1.reduce((sum, val) => sum + +val, 0);\r\n TempArray2[index] = data.paid_monthly_rent_per_met;\r\n TenantRentAmt = TempArray2.reduce((sum, val) => sum + +val, 0);\r\n })\r\n TextMessage = 'Monthly Rent as Per Loan Applicant =' + ApplicantRentAmt+'
'; \r\n }\r\n\r\n \r\n if(answerData.multistoried_building_details.length > 0){\r\n answerData.multistoried_building_details.forEach((val,index) => {\r\n TempArray3[index] = val.floor_rent_amount;\r\n FloorsTotalRentAmt = TempArray3.reduce((sum, val) => sum + +val, 0);\r\n });\r\n TextMessage = TextMessage +'Rent amount calculated = '+FloorsTotalRentAmt;\r\n }\r\n else{\r\n TextMessage = TextMessage +'Monthly Rent amount as Per Tenant met = '+TenantRentAmt;\r\n }\r\n \r\n let alert=this.alertCtrl.create({\r\n title:'Confirm The Rent Amount',\r\n message:TextMessage,\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Confirm',\r\n handler:()=>{\r\n this.saveRentalDetails(answerData)\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n saveRentalDetails(answerData) {\r\n \r\n console.log('answerData',answerData);\r\n \r\n delete answerData.stateSearch;\r\n delete answerData.citySearch;\r\n delete answerData.pincodeSearch;\r\n answerData.fk_createdby = this.users;\r\n\r\n console.log('answerData',answerData);\r\n\r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.rentalForms.reset(this.rentalForms.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n }\r\n\r\n// s(answerData)\r\n// {\r\n// let records:any={}\r\n \r\n \r\n// // if(this.rentalForms.valid){\r\n// records.pdid = this.pdDetails.pd_id;\r\n// records.formid = this.FormId.form_id;\r\n// records.fk_createdby = this.users;\r\n// records.person_met = answerData.person_met;\r\n// records.property_own = answerData.property_own;\r\n// records.nature_property = answerData.nature_property;\r\n// if(answerData.nature_property=='others')\r\n// {\r\n// records.nature_others = answerData.nature_others\r\n// }\r\n// records.rental_home = answerData.rental_home;\r\n// Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\r\n\r\n// this.qustCat.saveForm(records).subscribe(res=>\r\n// { \r\n// if(res['dataStatus']==true)\r\n// {\r\n// this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n// setTimeout(()=>{\r\n// this.navCtrl.pop();\r\n// },2000);\r\n// }\r\n// })\r\n// // }else\r\n// // {\r\n// // this.toast.pdTriggerappmessage('Enter All Field');\r\n// // }\r\n// }\r\n\r\n getRentalDetails()\r\n {\r\n\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n \r\n \r\n \r\n this.qustCat.retiverForm(records).subscribe(res=> {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n let rentalDetails = res['records'];\r\n rentalDetails.pdid = this.pdDetails.pd_id,\r\n rentalDetails.formid = this.FormId.form_id;\r\n rentalDetails.other_name_person_type ? this.rentalForms.addControl('other_name_person_type', new FormControl('', Validators.required)): this.rentalForms.removeControl('other_name_person_type');\r\n rentalDetails.other_sighted_documents ? this.rentalForms.addControl('other_sighted_documents', new FormControl('', Validators.required)) : this.rentalForms.removeControl('other_sighted_documents');\r\n // this.rentalForms.addControl('stateSearch', new FormControl(''));\r\n // this.rentalForms.addControl('citySearch', new FormControl(''));\r\n // this.rentalForms.addControl('pincodeSearch', new FormControl(''));\r\n rentalDetails.stateSearch = '';\r\n rentalDetails.citySearch = '';\r\n rentalDetails.pincodeSearch = '';\r\n //get Multistoried Building Details\r\n if(res['records'].multistoried_building_details){\r\n let selectedMultistoriedBuilding = Object.keys(res['records'].multistoried_building_details).map(function (key) {\r\n return res['records'].multistoried_building_details[key];\r\n });\r\n\r\n if(selectedMultistoriedBuilding.length>0){\r\n let control: any = this.rentalForms.controls['multistoried_building_details'];\r\n selectedMultistoriedBuilding.forEach((floorElement,floorIndex)=>{\r\n control.push(this.createFloorDetails(''));\r\n let unitControl = control.controls[floorIndex];\r\n unitControl= unitControl.controls['floor_unit_details'];\r\n let floor_rent_amount_val;\r\n floorElement.floor_unit_details.forEach((unitElement,unitIndex) => {\r\n floorElement.unit_rent_difference_options==\"0\" ? unitControl.push(this.createFloorUnitDetails(2)) : unitControl.push(this.createFloorUnitDetails(1));\r\n console.log(\"rent per unit\",unitElement.rent_per_unit);\r\n if(floorElement.unit_rent_difference_options == \"1\"){\r\n console.log(\"check\",unitElement.rent_per_unit)\r\n if(unitElement.rent_per_unit !=''){\r\n this.inWords(unitElement.rent_per_unit,unitIndex,1)\r\n }\r\n if(unitElement.amount!=''){\r\n this.inWords(unitElement.amount,floorIndex,2)\r\n }\r\n }\r\n else if(floorElement.unit_rent_difference_options==\"0\"){\r\n if(unitElement.rent_per_unit!=''){\r\n //floor_rent_amount_val+=unitElement.rent_per_unit\r\n }\r\n this.inWords(floorElement.floor_rent_amount,floorIndex,4)\r\n }\r\n });\r\n // this.inWords(floor_rent_amount_val,floorIndex,4)\r\n });\r\n }\r\n } \r\n\r\n // get property unit details\r\n if(rentalDetails.property_unit_details){\r\n console.log(\"property\",rentalDetails.property_unit_details)\r\n let selectedUnitDetails = Object.keys(rentalDetails.property_unit_details).map(function (key) {\r\n return rentalDetails.property_unit_details[key];\r\n });\r\n if(selectedUnitDetails.length>0){\r\n selectedUnitDetails.forEach((element,index) => {\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n control.push(this.createUnitDetails(''));\r\n \r\n (element.name_tenant_lessees && element.tenant_lessees_options==\"1\") ? control.controls[index].addControl('name_tenant_lessees', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees');\r\n (element.name_tenant_lessees_reason && element.tenant_lessees_options==\"0\") ? control.controls[index].addControl('name_tenant_lessees_reason', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees_reason');\r\n // for payment options\r\n element.amount_received_cash ? control.controls[index].addControl('amount_received_cash', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_cash');\r\n element.amount_received_bank ? control.controls[index].addControl('amount_received_bank', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_bank');\r\n element.payment_received_reason ? control.controls[index].addControl('payment_received_reason', new FormControl('', Validators.required)) : control.controls[index].removeControl('payment_received_reason');\r\n \r\n // unit of other measurement \r\n element.other_unit_measurement ? control.controls[index].addControl('other_unit_measurement', new FormControl('', Validators.required)) : control.controls[index].removeControl('other_unit_measurement');\r\n // rent agreement seen\r\n element.rent_agreement_seen ? control.controls[index].addControl('rent_agreement_seen', new FormControl('', Validators.required)) : control.controls[index].removeControl('rent_agreement_seen');\r\n element.rent_agreement_registered ? control.controls[index].addControl('rent_agreement_registered', new FormControl('', Validators.required)) : control.controls[index].removeControl('rent_agreement_registered');\r\n element.agreement_date ? control.controls[index].addControl('agreement_date', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_date');\r\n element.agreement_no_months ? control.controls[index].addControl('agreement_no_months', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_no_months');\r\n element.agreement_expiring_date ? control.controls[index].addControl('agreement_expiring_date', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_expiring_date');\r\n (element.rental_remaining_months=='' || element.rental_remaining_months>=0) ? control.controls[index].addControl('rental_remaining_months', new FormControl('', Validators.required)) : control.controls[index].removeControl('rental_remaining_months');\r\n element.agreement_monthly_rent_amount ? control.controls[index].addControl('agreement_monthly_rent_amount', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_monthly_rent_amount');\r\n element.agreement_security_deposit_amount ? control.controls[index].addControl('agreement_security_deposit_amount', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_security_deposit_amount');\r\n element.differences_loanapplicant_rentagreement ? control.controls[index].addControl('differences_loanapplicant_rentagreement', new FormControl('', Validators.required)) : control.controls[index].removeControl('differences_loanapplicant_rentagreement');\r\n \r\n //agreement owners\r\n element.agreement_property_owners_name ? control.controls[index].addControl('agreement_property_owners_name', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owners_name');\r\n element.agreement_property_owner_other ? control.controls[index].addControl('agreement_property_owner_other', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other');\r\n element.agreement_property_owner_other_relationship ? control.controls[index].addControl('agreement_property_owner_other_relationship', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relationship');\r\n element.agreement_property_owner_other_relation_to ? control.controls[index].addControl('agreement_property_owner_other_relation_to', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_property_owner_other_relation_to');\r\n \r\n // name of tenant/lessess as agreement\r\n element.agreement_tenant_lessees_name ? control.controls[index].addControl('agreement_tenant_lessees_name', new FormControl('', Validators.required)) : control.controls[index].removeControl('agreement_tenant_lessees_name');\r\n \r\n //met tenant details\r\n element.name_tenant_lessees_per_met ? control.controls[index].addControl('name_tenant_lessees_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees_per_met');\r\n element.name_tenant_lessees_reason_per_met ? control.controls[index].addControl('name_tenant_lessees_reason_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('name_tenant_lessees_reason_per_met');\r\n element.property_owner_per_met ? control.controls[index].addControl('property_owner_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_per_met');\r\n element.property_owner_other_per_met ? control.controls[index].addControl('property_owner_other_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_per_met');\r\n element.property_owner_other_relationship_per_met ? control.controls[index].addControl('property_owner_other_relationship_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relationship_per_met');\r\n element.property_owner_other_relation_to_per_met ? control.controls[index].addControl('property_owner_other_relation_to_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('property_owner_other_relation_to_per_met');\r\n \r\n // tennat payment\r\n \r\n \r\n // element.payment_difference_per_met=''\r\n // control.controls[index].addControl('payment_difference_per_met',new FormControl(''))\r\n console.log(\"payment\",element);\r\n element.paid_monthly_rent_per_met ? control.controls[index].addControl('paid_monthly_rent_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('paid_monthly_rent_per_met');\r\n element.period_of_stay_per_met ? control.controls[index].addControl('period_of_stay_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('period_of_stay_per_met');\r\n element.payment_mode_per_met ? control.controls[index].addControl('payment_mode_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('payment_mode_per_met');\r\n element.amount_received_cash_per_met ? control.controls[index].addControl('amount_received_cash_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_cash_per_met');\r\n element.amount_received_bank_per_met ? control.controls[index].addControl('amount_received_bank_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('amount_received_bank_per_met');\r\n element.payment_received_reason_per_met ? control.controls[index].addControl('payment_received_reason_per_met', new FormControl('', Validators.required)) : control.controls[index].removeControl('payment_received_reason_per_met');\r\n if( element.payment_difference_per_met =='' || element.payment_difference_per_met !='') { control.controls[index].addControl('payment_difference_per_met', new FormControl('')) }\r\n // control.controls[index].removeControl('payment_difference_per_met');\r\n this.inWords(element.monthly_rent_amount != '' ? +element.monthly_rent_amount : '',index,5);\r\n this.inWords(element.amount_received_cash != '' ? +element.amount_received_cash : '',index,6);\r\n this.inWords(element.amount_received_bank != '' ? +element.amount_received_bank : '',index,7);\r\n this.inWords(element.securtity_deposit_amount != '' ? +element.securtity_deposit_amount : '',index,8);\r\n this.inWords(element.agreement_monthly_rent_amount != '' ? +element.agreement_monthly_rent_amount : '',index,9);\r\n this.inWords(element.agreement_security_deposit_amount != '' ? +element.agreement_security_deposit_amount :'',index,10);\r\n this.inWords(element.paid_monthly_rent_per_met != '' ? +element.paid_monthly_rent_per_met : '',index,11);\r\n this.inWords(element.amount_received_cash_per_met != '' ? +element.amount_received_cash_per_met : '',index,12);\r\n this.inWords(element.amount_received_bank_per_met != '' ? +element.amount_received_bank_per_met : '',index,13);\r\n\r\n });\r\n }\r\n }\r\n this.rentalForms.patchValue(rentalDetails);\r\n }\r\n else{\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n control.push(this.createUnitDetails(''));\r\n \r\n }\r\n \r\n \r\n });\r\n \r\n // this.qustCat.retiverForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // let rentalDetails = res['records'];\r\n // var rentalData = Object.keys(res['records'].rental_home\r\n // ).map(function(key) {\r\n // return res['records'].rental_home\r\n // [key];\r\n\r\n // });\r\n // var tanantsData = [];\r\n // var control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n // var tanantscontrol; \r\n // rentalData.forEach((val,index)=>\r\n // {\r\n \r\n // // this.addrentalHome();\r\n // // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\r\n // // {\r\n \r\n \r\n // // return val.details_tenants[key];\r\n // // }));\r\n // rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\r\n // {\r\n \r\n \r\n // return val.details_tenants[key];\r\n // });\r\n // // control.push(this.createrentalHome()); \r\n // tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \r\n \r\n // rentalData[index].details_tenants.forEach((val,key)=>\r\n // {\r\n // //rentalData[index].details_tenants = val;\r\n \r\n // // rentalData[index].details_tenants = [key];\r\n // // tanantscontrol.push(this.createTenantsDetails());\r\n // });\r\n \r\n // // control[index].details_tenants =tanantscontrol; \r\n // });\r\n // this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\r\n // this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\r\n // this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\r\n // if(rentalDetails.nature_property=='others'){\r\n // this.rentalForms.controls['nature_others'].\r\n // setValue(rentalDetails.nature_others);\r\n // }\r\n \r\n // this.rentalForms.controls['rental_home'].setValue(rentalData); \r\n // }else\r\n // {\r\n // // this.addrentalHome();\r\n // // this.addTenantsDetails(0);\r\n // }\r\n // })\r\n }\r\n // createTenantsDetailswithData(index,data)\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // name:[data.name],\r\n // mobile_no:[data.mobile_no],\r\n // tenants_seen:[data.tenants_seen],\r\n // tenants_con_owner:[data.tenants_con_owner],\r\n // rent_paid:[data.rent_paid],\r\n // staying_since:[data.staying_since]\r\n // });\r\n // }\r\n\r\n inWords(e,i,flag){\r\n // console.log(e,i,flag);\r\n switch(flag){\r\n case 1 : \r\n this.rent_per_unit_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 2 :\r\n this.amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 3 :\r\n // this.rent_per_unit_2_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 4 :\r\n this.floor_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 5 : \r\n this.monthly_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 6 :\r\n this.amount_received_cash_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 7 :\r\n this.amount_received_bank_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 8 :\r\n this.securtity_deposit_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 9 : \r\n this.agreement_monthly_rent_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 10:\r\n this.agreement_security_deposit_amount_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 11 :\r\n this.paid_monthly_rent_per_met_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 12 :\r\n this.amount_received_cash_per_met_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n case 13 :\r\n this.amount_received_bank_per_met_Inwords[i] = this.constprovider.convertNumberToWords(e);\r\n break;\r\n }\r\n }\r\n\r\n inWordsmultiple(e,i,j,flag){\r\n // console.log(e,i,j,flag); \r\n return this.constprovider.convertNumberToWords(e);\r\n }\r\n validateAllFormFields(formGroup: any) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n \r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control);\r\n } else if (control instanceof FormArray) { \r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n\r\n // generate payment dynamic fields\r\n\r\nValidatedRentAmount(value:any,index:number,type: number){\r\n let control: any = this.rentalForms.controls['property_unit_details'];\r\n console.log(\"validated\",value);\r\n if(type==1){\r\n if(value && value.payment_mode.id==3){\r\n let ChildCtrl : any = control.controls[index]; \r\n ChildCtrl.controls['amount_received_bank'].clearValidators();\r\n ChildCtrl.controls['amount_received_bank'].updateValueAndValidity();\r\n ChildCtrl.controls['amount_received_cash'].clearValidators();; \r\n ChildCtrl.controls['amount_received_cash'].updateValueAndValidity();\r\n let monthlyrentamt : any = value.monthly_rent_amount ; \r\n \r\n\r\n if(monthlyrentamt != ''){\r\n \r\n let bank_amount = value.amount_received_bank;\r\n\r\n ChildCtrl.controls['amount_received_bank'].setValidators([Validators.required,Validators.max(monthlyrentamt),Validators.min(0)]); \r\n ChildCtrl.controls['amount_received_bank'].updateValueAndValidity();\r\n let maxamt = monthlyrentamt-bank_amount\r\n if(maxamt >= 0 ){\r\n ChildCtrl.controls['amount_received_cash'].setValue();\r\n ChildCtrl.controls['amount_received_cash'].setValidators([Validators.required,Validators.max(monthlyrentamt-bank_amount),Validators.min(monthlyrentamt-bank_amount)]); \r\n this.inWords(maxamt,index,8)\r\n }\r\n else{\r\n ChildCtrl.controls['amount_received_cash'].setValue(0);\r\n ChildCtrl.controls['amount_received_cash'].setValidators([Validators.max(0),Validators.min(0)]); \r\n }\r\n ChildCtrl.controls['amount_received_cash'].updateValueAndValidity();\r\n \r\n }\r\n }\r\n }\r\n if(type==2){\r\n \r\n if(value && value.payment_mode_per_met.id==3){\r\n let ChildCtrl : any = control.controls[index]; \r\n ChildCtrl.controls['amount_received_bank_per_met'].clearValidators();\r\n ChildCtrl.controls['amount_received_bank_per_met'].updateValueAndValidity();\r\n ChildCtrl.controls['amount_received_cash_per_met'].clearValidators();; \r\n ChildCtrl.controls['amount_received_cash_per_met'].updateValueAndValidity();\r\n let paidmonthlyrentamt : any = value.paid_monthly_rent_per_met; \r\n \r\n\r\n if(paidmonthlyrentamt != ''){\r\n \r\n let bank_amount = value.amount_received_bank_per_met;\r\n ChildCtrl.controls['amount_received_bank_per_met'].setValidators([Validators.required,Validators.max(paidmonthlyrentamt),Validators.min(0)]); \r\n ChildCtrl.controls['amount_received_bank_per_met'].updateValueAndValidity();\r\n let remainingAmt = paidmonthlyrentamt-bank_amount\r\n console.log(\"paid monthly\",paidmonthlyrentamt);\r\n console.log(\"remaining\",remainingAmt)\r\n if(remainingAmt >= 0 ){\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValue(remainingAmt);\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValidators([Validators.required,Validators.max(paidmonthlyrentamt-bank_amount),Validators.min(paidmonthlyrentamt-bank_amount)]); \r\n this.inWords(remainingAmt,index,12)\r\n }\r\n else{\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValue(0);\r\n ChildCtrl.controls['amount_received_cash_per_met'].setValidators([Validators.max(0),Validators.min(0)]); \r\n }\r\n ChildCtrl.controls['amount_received_cash_per_met'].updateValueAndValidity();\r\n }\r\n }\r\n \r\n }\r\n}\r\n\r\nforSearchableDropdown(val:any,Flag:any){\r\n // val=val.controls['relationSearch'].value\r\n console.log(\"val\",val,'Flag',Flag);\r\n switch(Flag){\r\n case 'state' : \r\n console.log(\"val\",val.controls['stateSearch'].value,'Flag',Flag,'1');\r\n val.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.stateList=this.constprovider.searchData(this.stateData,val.controls['stateSearch'].value,Flag)\r\n }); break;\r\n case 'city' : \r\n console.log(\"val\",val.controls['citySearch'].value,'Flag',Flag,'2');\r\n val.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.cityList =this.constprovider.searchData(this.cityData,val.controls['citySearch'].value,Flag)\r\n }); break;\r\n case 'pin' : \r\n console.log(\"val\",val.controls['pincodeSearch'].value,'Flag',Flag,'3');\r\n val.controls['pincodeSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.pincodeList =this.constprovider.searchData(this.pincodeData,val.controls['pincodeSearch'].value,Flag)\r\n }); break;\r\n }\r\n}\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\n\r\nchangeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\nthis.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n},error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n})\r\nthis.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","import { Component, OnInit } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionPersonalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-personal-info',\r\n templateUrl: 'pd-question-personal-info.html',\r\n})\r\nexport class PdQuestionPersonalInfoPage implements OnInit{\r\n\r\n questionDetails: any;\r\n pdDetails: any;\r\n users: any;\r\n _personalForm: FormGroup;\r\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\r\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\r\n relationShipList:any=[];\r\n \r\n form_id:number;\r\n \r\n\r\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\r\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\r\n \r\n public mainApplicantDetails :any=[];\r\n public coApplicantDetails :any=[];\r\n \r\n errorMessage:any;\r\n //coItem:any;\r\n //mainItem:any;\r\n\r\n repeat:number=3;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n // this.getRelationMaster();\r\n \r\n \r\n \r\n }\r\n ngOnInit() {\r\n \r\n this.loadPDDetails();\r\n this.getRelationMaster();\r\n this.mainApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 1);\r\n this.coApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 0);\r\n }\r\n\r\n // load form pd details\r\n loadPDDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\r\n \r\n this.qustCat.retiverForm(records).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.loadFormWithIDData(data['records']);\r\n \r\n }\r\n else{\r\n let defaultMainApp=[];\r\n let defaultCoApp=[];\r\n // generate default main applicant form details\r\n if(this.mainApplicantDetails.length>0){ \r\n for(let j=0;j this.errorMessage = error);\r\n}\r\n\r\nloadDataStatus: boolean = false;\r\n\r\nloadFormWithIDData(data) {\r\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\r\n return data.main_applicant_details[key];\r\n});\r\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\r\n return data.co_applicant_details[key];\r\n});\r\n\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n relation_ans:new FormControl(item.relation_ans, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark: [data.personal_info_form_remark]\r\n });\r\n this.loadDataStatus = true;\r\n}\r\n\r\n loadFormData(mainApp,coApp){\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n \r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.coApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.coApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\r\n relation_id:new FormControl(5),\r\n relation_ans:new FormControl(null, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark:null\r\n });\r\nthis.loadDataStatus = true;\r\n }\r\n\r\n //get pd main applicant array values \r\n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\r\n\r\n // get pd co applicant array values\r\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\r\n\r\n // get relation master details\r\n getRelationMaster(){\r\n let relation =\"RELATIONSHIPS\";\r\n this.qustCat.getcommondrop(relation).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.relationShipList=data['records'];\r\n \r\n }\r\n}, error => this.errorMessage = error);\r\n}\r\n\r\n// submit forms details\r\nsubmitPersonalForm(formData:any) {\r\n if(this._personalForm.valid){\r\n let main_applicantDetails:any=[];\r\n let co_applicantDetails:any=[];\r\n\r\n formData.mainItem.forEach((element,key) => {\r\n if(key==0){\r\n main_applicantDetails.push({\r\n \"name_ans\":element.name_ans,\r\n \"age_ans\":element.age_ans,\r\n \"entity_ans\":element.entity_ans,\r\n \"qualification_ans\":element.qualification_ans,\r\n \"earning_ans\":element.earning_ans, \r\n })\r\n }\r\n \r\n });\r\n formData.coItem.forEach((Coelement,Cokey) => {\r\n co_applicantDetails.push({\r\n\r\n \"name_ans\":Coelement.name_ans,\r\n \"age_ans\":Coelement.age_ans,\r\n \"qualification_ans\":Coelement.qualification_ans,\r\n \"entity_ans\":Coelement.entity_ans,\r\n \"earning_ans\":Coelement.earning_ans, \r\n \"relation_ans\":Coelement.relation_ans, \r\n })\r\n \r\n });\r\n\r\n let save_details:any={\r\n \"pdid\" : this.pdDetails.pd_id,\r\n \"formid\" : '341',\r\n \"fk_createdby\":this.users,\r\n \"main_applicant_details\":main_applicantDetails,\r\n \"co_applicant_details\":co_applicantDetails,\r\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\r\n };\r\n this.qustCat.saveForm(save_details).subscribe(result => {\r\n if (result['dataStatus']==true) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n // this.notifier.notify('success', 'Success.');\r\n }\r\n else {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n }\r\n }, error => {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n });\r\n }\r\n}\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { FormatWidth } from '@angular/common';\r\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\r\n\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport {PdQuestionAssessedDailyPurchasePage} from '../pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase'\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-info',\r\n templateUrl: 'pd-question-assessed-info.html',\r\n})\r\nexport class PdQuestionAssessedInfoPage {\r\n\r\n grossProfitForm:FormGroup\r\n check__purchse_type:any=[{'id':'1','name':'Yes'},{'id':'2','name':'No'}]\r\n busissnessIncome: any;\r\n mode: any;\r\n grossprofitCalc: any;\r\n houseHold_details: any;\r\n grandHouseExpenseTotal: any;\r\n houseannual: any=[];\r\n businessExpenses_details: any;\r\n grandExpenseTotal: any;\r\n expenseannual: any=[];\r\n businessExpenses: any;\r\n purchse_details: any;\r\n sales_item_month_value: any=[];\r\n sales_wise_month_headers:any = [];\r\n sales_month_wise_data:any = [];\r\n sales_item_value: any;\r\n grandpurchaseTotal: any=null;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n users: any;\r\n pageId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n FormName:any;\r\n annual:any = [];\r\n rawMaterialForm:FormGroup;\r\n BuissnessForm:FormGroup;\r\n houseHoldForm:FormGroup;\r\n activateMarginCalculation:boolean=false\r\n SaleAmtInwords: any=[];\r\n marginAmtInwords: any=[];\r\n purchase_bill_wise: any=[];\r\n purchase_bill_wise_data:any=[]\r\n purchase_type:any;\r\n totalAnnualSale_Item_wise;\r\n totalAnnualpurchase_Item_wise: any;\r\n totalAnnualBusiness_details: any;\r\n totalAnnual_House_hold_details: any;\r\n sales_type: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pageId = this.navParams.get('pageId');\r\n // this.getAssessedDetails(); \r\n switch(this.pageId)\r\n {\r\n case 1:\r\n this.FormName = \"Sales Page\";\r\n break;\r\n case 2:\r\n this.FormName = \"Purchase Page\";\r\n break;\r\n case 3:\r\n this.FormName = \"Business Expense Page\";\r\n break;\r\n case 4:\r\n this.FormName = \"House Hold Page\";\r\n break;\r\n default:\r\n this.FormName = \"Question Page\";\r\n break;\r\n }\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n sdc_id:[null],\r\n sales_declared_by_customer:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n margin_per:[null],\r\n margin_value:[null],\r\n comments:[null],\r\n isactive:[1],\r\n fk_createdby:[this.users],\r\n \r\n });\r\n this.grossProfitForm=this.fb.group({\r\n calc_type_id:[''],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n mode:['',Validators.compose([Validators.required])],\r\n margin:[''],\r\n })\r\n \r\n \r\n \r\n \r\n // this.getdropList();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\r\n }\r\n\r\n\r\n \r\n \r\n\r\n ionViewDidEnter() {\r\n \r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getAssessedDetails()\r\n }\r\n\r\n\r\n \r\n \r\n changeOptions(values: any){\r\n // console.log('values',values);\r\n this.grossProfitForm.controls['margin'].setValue('');\r\n /** if Mode Value is 'No' -> margin value is setted as netmargin and its id - 2\r\n * Refer => check_sales_type **/\r\n if(values.mode == 2){\r\n // console.log('2');\r\n this.grossProfitForm.controls['margin'].setValue('2');\r\n }\r\n }\r\n\r\n //PURCHASE DETAILS SUBMIT\r\n // submitDetails(records: any){\r\n // if (this.grossProfitForm.invalid) {\r\n \r\n // this.toast.pdTriggerappmessage(\"Please Check All Manatory Fields..\");\r\n // return;\r\n // }\r\n // // let datas:any;\r\n // // datas=records;\r\n\r\n // this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(data => {\r\n // this.toast.pdTriggerappmessage('Saved Successfully.');\r\n // //this.loadAssessedForms.next('1');\r\n // }, error => {\r\n // this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n // // this.loadAssessedForms.next('1');\r\n // });\r\n // } \r\n \r\n\r\n getMarginCalc()\r\n {\r\n \r\n let margin_per = this.assessedForm.controls['margin_per'].value;\r\n console.log(\"Margin Per\",margin_per)\r\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\r\n if(margin_per !=null && sales_declared_by_customer !=null)\r\n {\r\n let value = sales_declared_by_customer * (margin_per/100);\r\n this.assessedForm.controls['margin_value'].setValue(value);\r\n }\r\n }\r\n\r\n saveData(answerData)\r\n {\r\n let records:any = {};\r\n answerData.company_id=this.pdDetails.company_id\r\n \r\n records ={'records':answerData};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\r\n {\r\n // console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n \r\n }\r\n })\r\n setTimeout(()=>{\r\n this.getAssessedDetails();\r\n },1500)\r\n }\r\n salesCalculation(values): void {\r\n if(values.sales_declared_by_customer !=''){this.SaleAmtInwords = this.cons.convertNumberToWords(values.sales_declared_by_customer);}\r\n if(values.margin_per !='' && values.sales_declared_by_customer !='')\r\n {\r\n \r\n this.assessedForm.controls['margin_value'].setValue((values.sales_declared_by_customer * (values.margin_per/100)).toFixed(2));\r\n this.marginAmtInwords = this.cons.convertNumberToWords(values.sales_declared_by_customer * (values.margin_per/100));\r\n }\r\n }\r\n \r\n getAssessedDetails()\r\n {\r\n this.sales_item_month_value = [];\r\n this.sales_month_wise_data = [];\r\n this.sales_item_value= [];\r\n this.purchase_bill_wise_data=[];\r\n let records = {'pd_id':this.pdDetails.pd_id,'company_id':this.pdDetails.company_id};\r\n console.log(\"company\",this.pdDetails.company_id)\r\n console.log(\"getAssesed\",records)\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let sales_value = res['records'].sales_declared_by_customer[0];\r\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\r\n //SALE ANNUAL TOTAL\r\n this.totalAnnualSale_Item_wise=this.sales_item_value.map(val=>val.annual_sale_value).reduce((original,value)=>original + Number(value),0)\r\n console.log(\"this.sales_item\",this.totalAnnualSale_Item_wise);\r\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\r\n this.purchse_details = res['records'].purchase_details; \r\n //PURCHASE ANNUAL TOTAL\r\n this.totalAnnualpurchase_Item_wise=this.purchse_details.map(val=>val.annual_purchase_value).reduce((original,value)=>original+Number(value),0)\r\n this.purchase_bill_wise=res['records'].purchase_billwise\r\n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0]\r\n this.purchase_type=this.grossprofitCalc.purchase_type;\r\n console.log(\"gross\",this.grossprofitCalc);\r\n this.mode = this.grossprofitCalc.mode;\r\n\r\n var lenOfGrossProfit=res['records'].gross_profit_calculation_type.length\r\n console.log(\"len\",lenOfGrossProfit)\r\n this.activateMarginCalculation=res['records'].gross_profit_calculation_type[lenOfGrossProfit-1].margin==2 && res['records'].gross_profit_calculation_type[lenOfGrossProfit-1].mode ==2 ?true : false\r\n console.log(this.activateMarginCalculation);\r\n var result = this.purchse_details.reduce(function(p, c) {\r\n \r\n return p;\r\n },[]);\r\n console.log(result);\r\n\r\n\r\n this.businessExpenses_details = res['records'].business_expenses;\r\n //BUSINESS ANNUAL TOTAL\r\n this.totalAnnualBusiness_details=this.businessExpenses_details.map(val=>val.annual_expenses_value).reduce((original,value)=>original + Number(value),0);\r\n this.houseHold_details = res['records'].house_hold_expenses;\r\n //HOUSEHOLD ANNUAL TOTAL\r\n this.totalAnnual_House_hold_details=this.houseHold_details.map(val=>val.annual_expense_value).reduce((original,value)=>original+Number(value),0)\r\n this.busissnessIncome = res['records'].othre_business_income;\r\n // console.log(this.sales_item_month_value);\r\n // this.getpurchaseDetails(this.purchse_details);\r\n \r\n \r\n // this.grossProfitForm.controls['mode'].setValue(res['records'].gross)\r\n\r\n // const control=this.grossProfitForm['controls']\r\n // this.grossProfitForm.controls['mode'].setValue(res['records'].gross_profit_calculation_type.mode);\r\n // this.grossProfitForm.controls['margin'].setValue(res['records'].gross_profit_calculation_type.margin)\r\n // this.grossProfitForm.controls['calc_type_id'].setValue(res['records'].gross_profit_calculation_type.calc_type_id)\r\n \r\n \r\n \r\n \r\n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\r\n this.sales_type[itemIndex]=itemElement.sales_type\r\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\r\n let listItems: any=[];\r\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\r\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\r\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\r\n \r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id,otherSaleItem:itemElement.other_sales_item});\r\n });\r\n this.purchase_bill_wise.forEach((itemElement,itemIndex)=>{\r\n console.log(\"0index\",itemElement.items[0]);\r\n let result=Object.assign({},...itemElement.items);\r\n console.log(\"result\",result)\r\n let expandBodyContent=Object.keys(result).map(key=>({header:key,value:result[key]}));\r\n console.log(\"expanBody\",expandBodyContent);\r\n let listItems:any=[];\r\n expandBodyContent.forEach((expandElement,expandIndex)=>{\r\n let calculateItems=expandElement.value.reduce((acc,calculate)=>acc + Number(calculate.purchase_value),0)\r\n listItems.push({items:expandElement,itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((va,rcalc)=>va+Number(rcalc.itemsTotal),0);\r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.purchase_bill_wise_data.push({purchaseItem:itemElement.purchase_item,expandElements:expandBodyContent,footerMessage:footerMessage,pbw_id:itemElement.pbw_id,otherPurchaseItem:itemElement.other_purchase_item});\r\n })\r\n console.log(\"val purchase0\",this.purchase_bill_wise_data)\r\n\r\n\r\n console.log(\"value\",this.sales_month_wise_data);\r\n if(sales_value!==undefined){\r\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\r\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\r\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\r\n this.assessedForm.controls['comments'].setValue(sales_value.comments)\r\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\r\n if(sales_value.sales_declared_by_customer != null){\r\n this.SaleAmtInwords=this.cons.convertNumberToWords(sales_value.sales_declared_by_customer)\r\n }\r\n if(sales_value.margin_value != null){\r\n this.marginAmtInwords=this.cons.convertNumberToWords(sales_value.margin_value)\r\n }\r\n \r\n }\r\n \r\n }\r\n })\r\n\r\n }\r\n grossProfitWithData(data:any){\r\n return this.fb.group({\r\n calc_type_id:[data.calc_type_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[data.company_id],\r\n mode:[data.mode],\r\n margin:[data.margin],\r\n})\r\n }\r\n /**\r\n * Add Assessed Forms\r\n */\r\n\r\n AddAssessedForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'margin_calculation_status':this.activateMarginCalculation}); \r\n \r\n }\r\n\r\n editDetails(salesCal)\r\n {\r\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\r\n console.log(salesData);\r\n // this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'margin_calculation_status':this.activateMarginCalculation}); \r\n \r\n }\r\n editAllDetails(AllsalesData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'margin_calculation_status':this.activateMarginCalculation}); \r\n }\r\n\r\n /**Assessed Daily Form Details */\r\n\r\n AddAssessedDailyForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'margin_calculation_status':this.activateMarginCalculation})\r\n }\r\n editAssessedDailyForm(simId)\r\n {\r\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\r\n console.log(dailySaleDetails);\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'margin_calculation_status':this.activateMarginCalculation})\r\n \r\n }\r\n allEditSalesDailyWise(values){\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':values,'margin_calculation_status':this.activateMarginCalculation})\r\n }\r\n\r\n /**purchase Details Forms */\r\n AddPurchaseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \r\n \r\n }\r\n\r\n editPurchaseDetails(purchaseCal)\r\n {\r\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \r\n \r\n }\r\n editPurchaseAllDetails(AllpurchaseData)\r\n {\r\n console.log('260',AllpurchaseData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \r\n }\r\n AddPurchaseBillWiseForm(){\r\n this.navCtrl.push(PdQuestionAssessedDailyPurchasePage,{'pdDetails':this.pdDetails,'purchaseDaily':null})\r\n }\r\n \r\n alleditPurchaseBillWise(all_purchase_daily){\r\n this.navCtrl.push(PdQuestionAssessedDailyPurchasePage,{'pdDetails':this.pdDetails,'purchaseDaily':all_purchase_daily})\r\n }\r\n editPurchaseBillWise(daily_purchase){\r\n let single_purchase=this.purchase_bill_wise.filter(val=>val.pbw_id==daily_purchase)\r\n this.navCtrl.push(PdQuestionAssessedDailyPurchasePage,{'pdDetails':this.pdDetails,'purchaseDaily':single_purchase})\r\n }\r\n\r\n /**Business Expense */\r\n AddExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editExpenseAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \r\n }\r\n \r\n\r\n /** Household Expenses Details */\r\n AddHouseExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editHouseExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editHouseExpenseAllDetails(AllExpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \r\n }\r\n\r\n /**\r\n * Income Details\r\n */\r\n AddIncomeForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \r\n \r\n }\r\n\r\n editIncomeDetails(expenseCal)\r\n {\r\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \r\n \r\n }\r\n editIncomeAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \r\n }\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedSalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-sales',\r\n templateUrl: 'pd-question-assessed-sales.html',\r\n})\r\nexport class PdQuestionAssessedSalesPage {\r\n\r\n grossprofitCalc: any;\r\n salesData: any =[];\r\n annual: any=[];\r\n grandTotal: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n assessedForm: FormGroup;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n annualSaleAmtInwords: any=[];\r\n marginAmtInwords: any=[];\r\n marginFinalAmtInwords:any =[];\r\n ratePerUnitAmtInwords: any=[];\r\n margin_calculation_status:any=[]\r\n check_type:any=[{'type_id':\"1\",'type_name':'Quantity and Rate Information'},{'type_id':\"2\",'type_name':'Value Information'}]\r\n product_and_services: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n //this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.margin_calculation_status=this.navParams.get('margin_calculation_status');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n \r\n salesCalItemwise:this.fb.array([]),\r\n });\r\n this.salesData = this.navParams.get('sales');\r\n if(this.salesData!=null)\r\n {\r\n this.getSalesItemData(this.salesData);\r\n }else\r\n {\r\n this.addSalesCal();\r\n }\r\n // this.addSalesCal();\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n let datas=res.records\r\n let api=Object.keys(datas.type_of_activity).map(function(key){\r\n return datas.type_of_activity[key];\r\n })\r\n if(api.length>0){\r\n api.forEach(val=>{\r\n if(val.type_of_activity_id == 2){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 3){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 4){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 5){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n })\r\n }\r\n console.log(\"before\",this.product_and_services)\r\n this.product_and_services = [].concat.apply([], this.product_and_services);\r\n console.log(\"After\",this.product_and_services)\r\n }\r\n })\r\n }\r\n\r\n createSalesCal()\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[null],\r\n \r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n sales_item:[null,Validators.compose([Validators.required])],\r\n other_sales_item:[null],\r\n sales_qty:[null,Validators.compose([Validators.required])],\r\n sales_type:[\"1\"],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n uom_other:[null],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_sale_value:[null],\r\n margin_per:[null],\r\n margin_per_uom:[null],\r\n margin_final_value:[null],\r\n comments:[null]\r\n });\r\n }\r\n\r\n addSalesCal()\r\n {\r\n if(this.assessedForm.valid){\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n control.push(this.createSalesCal());\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the all fields');\r\n }\r\n }\r\n \r\n removeSalesCal(i,item)\r\n {\r\n console.log(\"value\",item)\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n console.log(this.grandTotal);\r\n console.log(\"pd\",this.pdDetails);\r\n let deleteRecords:any;\r\n if(item.sci_id !=null && item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n sci_id:item.sci_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(i);\r\n this.addSalesCal(); \r\n } else{\r\n control.removeAt(i);\r\n }\r\n }\r\n /**\r\n * frequency Type \r\n * 1.Weekly no need\r\n * 2.Daily 250\r\n * 3.Yearly \r\n * 4.Hourly no need\r\n * 5.Monthly 12\r\n * 6.none\r\n * 7.none\r\n * 8.none\r\n */\r\n salecalculat(indexVal,values)\r\n {\r\n // console.log(\"Det\",details);\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let salesQty = details.value.sales_qty;\r\n // let UOM = details.value.rate_per_unit;\r\n // // console.log(frequencyId,salesQty,UOM,index);\r\n // // console.log(frequencyId);\r\n // let annual\r\n // if(salesQty!=null && UOM!=null){\r\n // if(frequencyId==1)\r\n // {\r\n\r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (salesQty*UOM*250);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_sale_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (salesQty*UOM);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_sale_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (salesQty*UOM*12);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_sale_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n\r\n // }else if(frequencyId==7)\r\n // {\r\n\r\n // }else if(frequencyId==8)\r\n // {\r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n // }else\r\n // {\r\n // // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\r\n // }\r\n \r\n \r\n \r\n \r\n // console.log(this.annual);\r\n\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n if(values.rate_per_unit!=''&& values.rate_per_unit != null ){\r\n console.log(\"Rate Per value\",values.rate_per_unit);\r\n this.inWords(values.rate_per_unit,indexVal,4)\r\n }\r\n \r\n if(values.sales_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) {\r\n console.log(\"Frequency\",values.fk_frequency_id);\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n let AnnualSalesValue = parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor)\r\n control.controls[indexVal].controls['annual_sale_value'].setValue(parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor));\r\n this.inWords(AnnualSalesValue,indexVal,1)\r\n \r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_sale_value'].setValue('');\r\n }\r\n if(this.margin_calculation_status===true) {\r\n values.margin_per_uom=='' && values.margin_per!='' ? this.salesMarginPerCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]): values.margin_per_uom!='' && values.margin_per=='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) : values.margin_per_uom!='' && values.margin_per!='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) :this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]);\r\n }\r\n }\r\n salesCalculation(indexVal: number,values: any): void {\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n if(values.sales_type==\"1\" && values.sales_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_sale_value'].setValue((parseFloat(values.sales_qty) * parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.sales_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,1)\r\n }\r\n else if(values.sales_type==\"2\" && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.fk_frequency_id != null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_sale_value'].setValue((parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,1)\r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_sale_value'].setValue('');\r\n }\r\n if(this.margin_calculation_status===true) {\r\n values.margin_per_uom=='' && values.margin_per!='' ? this.salesMarginPerCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]): values.margin_per_uom!='' && values.margin_per=='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) : values.margin_per_uom!='' && values.margin_per!='' ? this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]) :this.salesMarginAmtCalculation(indexVal,this.assessedForm.value.salesCalItemwise[indexVal]);\r\n }\r\n }\r\n \r\n salesMarginPerCalculation(indexVal: number,values: any): void {\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n control.controls[indexVal].controls['margin_per_uom'].setValue('');\r\n if(values.margin_per!='' && values.annual_sale_value!='' && values.margin_per!=null && values.annual_sale_value!=null) {\r\n control.controls[indexVal].controls['margin_final_value'].setValue((parseFloat(values.annual_sale_value) * (parseFloat(values.margin_per)/100)).toFixed(2));\r\n this.inWords(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100),indexVal,3)\r\n }\r\n else {\r\n control.controls[indexVal].controls['margin_final_value'].setValue('');\r\n }\r\n }\r\n salesMarginAmtCalculation(indexVal: number,values: any): void {\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n control.controls[indexVal].controls['margin_per'].setValue('');\r\n \r\n if(values.sales_type==\"1\" && values.margin_per_uom!='' && values.margin_per_uom !=null && values.sales_qty!='' && values.sales_qty!=null && values.fk_frequency_id!='' && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n let Type1CalculatedValue = parseFloat(values.sales_qty) * parseFloat(values.margin_per_uom) * parseFloat(filterFrequencyValue[0].mutiple_factor);\r\n control.controls[indexVal].controls['margin_final_value'].setValue(Type1CalculatedValue.toFixed(2));\r\n this.inWords(Type1CalculatedValue.toFixed(2),indexVal,3)\r\n }\r\n else if(values.sales_type==\"2\" && values.margin_per_uom!='' && values.margin_per_uom!=null && values.rate_per_unit!='' && values.rate_per_unit!=null) {\r\n let Type2CalculatedValue = parseFloat(values.rate_per_unit) * parseFloat(values.margin_per_uom);\r\n control.controls[indexVal].controls['margin_final_value'].setValue(Type2CalculatedValue.toFixed(2));\r\n this.inWords(Type2CalculatedValue.toFixed(2),indexVal,3)\r\n }\r\n else {\r\n control.controls[indexVal].controls['margin_final_value'].setValue('');\r\n }\r\n }\r\n /*OLD NOT USED CALCULATION*/\r\n getSalesCalc(indexVal,values)\r\n {\r\n // // console.log(details);\r\n // let margin_per = details.value.margin_per;\r\n // let margin_amount = details.value.margin_per_uom;\r\n // let annual_sale_value = details.value.annual_sale_value;\r\n // let sales_qty = details.value.sales_qty;\r\n // // console.log(sales_qty,margin_amount);\r\n // let value:any = '';\r\n // if(margin_per !=null || margin_amount !=null){\r\n // if(margin_per !=null)\r\n // {\r\n // value = +annual_sale_value * (+margin_per/100);\r\n // }else\r\n // {\r\n // console.log('else');\r\n // value = +sales_qty* +margin_amount;\r\n // }\r\n // console.log(value);\r\n // details.controls['margin_final_value'].setValue(value);\r\n // }\r\n let control:any = this.assessedForm.controls['salesCalItemwise'];\r\n control.controls[indexVal].controls['margin_per_uom'].setValue('');\r\n if(values.margin_per!='' && values.annual_sale_value!='' && values.margin_per!=null && values.annual_sale_value!=null) {\r\n control.controls[indexVal].controls['margin_final_value'].setValue(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100));\r\n this.inWords(parseInt(values.annual_sale_value) * (parseInt(values.margin_per)/100),indexVal,3)\r\n }\r\n else {\r\n control.controls[indexVal].controls['margin_final_value'].setValue('');\r\n }\r\n }\r\n \r\n inWords(value,inx,flag){\r\n switch(flag){\r\n case 1 : \r\n this.annualSaleAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n case 2 : \r\n this.marginAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n case 3 : \r\n this.marginFinalAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n case 4 : \r\n console.log(\"Rate\",value);\r\n this.ratePerUnitAmtInwords[inx] = this.cons.convertNumberToWords(value);\r\n break;\r\n default:break;}\r\n }\r\n saveData(answerData)\r\n {\r\n \r\n if(this.assessedForm.valid){\r\n let records = {'records':answerData.salesCalItemwise};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }\r\nelse{\r\n console.log(answerData);\r\n\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields\")\r\n}\r\n}\r\n getSalesItemData(salesData)\r\n {\r\n console.log(salesData);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n\r\n salesData.forEach((sale,index)=>{\r\n \r\n this.annual[index] = sale.annual_sale_value\r\n control.push(this.createSaleswithData(sale));\r\n if(sale.rate_per_unit != null){\r\n this.ratePerUnitAmtInwords[index]=this.cons.convertNumberToWords(sale.rate_per_unit)\r\n }\r\n if(sale.annual_sale_value != null){\r\n this.annualSaleAmtInwords[index]=this.cons.convertNumberToWords(sale.annual_sale_value)\r\n }\r\n if(sale.margin_per_uom != null){\r\n this.marginAmtInwords[index]=this.cons.convertNumberToWords(sale.margin_per_uom)\r\n }\r\n if(sale.margin_final_value != null){\r\n this.marginFinalAmtInwords[index]=this.cons.convertNumberToWords(sale.margin_final_value)\r\n }\r\n this.changeOptions(index,sale.sales_type)\r\n })\r\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\r\n // console.log(control);\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }\r\n changeOptions(indexVal: any,event: any): void{\r\n console.log(\"ai\")\r\n let control: any = this.assessedForm.controls['salesCalItemwise'];\r\n if(event.value==\"1\"){\r\n control.controls[indexVal].controls['fk_frequency_id'].setValue(\"\");\r\n control.controls[indexVal].controls['fk_frequency_id'].clearValidators();\r\n control.controls[indexVal].controls['fk_frequency_id'].updateValueAndValidity();\r\n\r\n control.controls[indexVal].controls['annual_sale_value'].setValue(\"\");\r\n control.controls[indexVal].controls['annual_sale_value'].clearValidators();\r\n control.controls[indexVal].controls['annual_sale_value'].updateValueAndValidity();\r\n\r\n control.controls[indexVal].controls['rate_per_unit'].setValue(\"\");\r\n control.controls[indexVal].controls['rate_per_unit'].clearValidators();\r\n control.controls[indexVal].controls['rate_per_unit'].updateValueAndValidity();\r\n\r\n control.controls[indexVal].controls['sales_qty'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['sales_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n this.salesCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n else if(event.value==\"2\"){\r\n control.controls[indexVal].controls['sales_qty'].setValue(\"\");\r\n control.controls[indexVal].controls['sales_qty'].clearValidators();\r\n control.controls[indexVal].controls['sales_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValue(\"\");\r\n control.controls[indexVal].controls['fk_uom_id'].clearValidators();\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['margin_per_uom'].setValue(\"\");\r\n \r\n this.salesCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n }\r\n \r\n\r\n createSaleswithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[data.sci_id],\r\n company_id:[this.pdDetails.company_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\r\n other_sales_item:[data.other_sales_item],\r\n sales_type:[data.sales_type,Validators.compose([Validators.required])],\r\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n uom_other:[data.uom_other],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_sale_value:[data.annual_sale_value],\r\n margin_per:[data.margin_per],\r\n margin_per_uom:[data.margin_per_uom],\r\n margin_final_value:[data.margin_final_value],\r\n comments:[data.comments]\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport {DatePipe} from '@angular/common'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDailySalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-daily-sales',\r\n templateUrl: 'pd-question-assessed-daily-sales.html',\r\n})\r\nexport class PdQuestionAssessedDailySalesPage {\r\n pipe = new DatePipe('en-US');\r\n\r\n currentDate: string;\r\n grossprofitCalc: any;\r\n salesDaily: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n salesDailyForm: FormGroup;\r\n margin_calculation_status:any\r\n Value: any=[];\r\n marginAmtInwords: any=[];\r\n frequencyData: any=[];\r\n freqAmtInwords: any=[];\r\n check_type:any=[{'type_id':\"1\",'type_name':'Date Information'},{'type_id':\"2\",'type_name':'Frequency Information'}]\r\n product_and_services: any=[];\r\n maxDate:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n // this.maxDate=new Date()\r\n var today=new Date\r\n console.log(\"today\",today)\r\n let date=today.getDate()< 10 ? (\"0\"+(today.getDate())) : today.getDate()\r\n let month=today.getMonth() < 10 ? (\"0\"+(today.getMonth()+1)) : (today.getMonth()+1)\r\n this.maxDate = today.getFullYear() + '-' + month + '-' + date;\r\n console.log(\"max\",this.maxDate)\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.salesDaily = this.navParams.get('salesDaily');\r\n // this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.margin_calculation_status=this.navParams.get('margin_calculation_status');\r\n this.users = this.aws.getlocale();\r\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\r\n \r\n this.salesDailyForm = this.fb.group(\r\n {\r\n sales_product: this.fb.array([]),\r\n })\r\n if (this.salesDaily != null) {\r\n this.getDailySalesData(this.salesDaily);\r\n } else {\r\n this.adddailySalaesProduct();\r\n\r\n }\r\n this.getDropDown()\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\r\n }\r\n\r\n getDropDown(){\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(data=>{\r\n this.frequencyData=data['records'].filter(val=>val.isactive == 1)\r\n })\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n let datas=res.records\r\n let api=Object.keys(datas.type_of_activity).map(function(key){\r\n return datas.type_of_activity[key];\r\n })\r\n if(api.length>0){\r\n api.forEach(val=>{\r\n if(val.type_of_activity_id == 2){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 3){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 4){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n if(val.type_of_activity_id == 5){\r\n if(val.prodcuts){\r\n this.product_and_services.push(val.prodcuts)\r\n }\r\n }\r\n })\r\n }\r\n console.log(\"before\",this.product_and_services)\r\n this.product_and_services = [].concat.apply([], this.product_and_services);\r\n console.log(\"After\",this.product_and_services)\r\n }\r\n })\r\n }\r\n // change options for either Date/Frequency Information\r\nchangeOptions(indexVal: any,event: any): void{\r\n console.log(\"event\",event)\r\n let control: any = this.salesDailyForm.controls['sales_product'];\r\n console.log(\"control\",control)\r\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\r\n if(event==\"1\"){\r\n for (let i = 0; i < innercontrol.value.length-1; i++) {\r\n innercontrol.removeAt(i);\r\n }\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].setValidators([Validators.required]);\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].clearValidators();\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].updateValueAndValidity();\r\n\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].clearValidators();\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].updateValueAndValidity();\r\n\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n\r\n // control.controls[indexVal].controls['comments'].setValue(\"\");\r\n // control.controls[indexVal].controls['comments'].clearValidators();\r\n //control.controls[indexVal].controls['comments'].updateValueAndValidity();\r\n }\r\n else if(event==\"2\"){\r\n for (let i = 0; i < innercontrol.value.length-1; i++) {\r\n innercontrol.removeAt(i);\r\n }\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].clearValidators();\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_date'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].setValidators([Validators.required]);\r\n innercontrol.controls[innercontrol.value.length-1].controls['fk_frequency_id'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].setValue(\"\");\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].setValidators([Validators.required]);\r\n innercontrol.controls[innercontrol.value.length-1].controls['frequency_value'].updateValueAndValidity();\r\n \r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n\r\n control.controls[indexVal].controls['comments'].setValue(\"\");\r\n // control.controls[indexVal].controls['comments'].setValidators([Validators.required]);\r\n // control.controls[indexVal].controls['comments'].updateValueAndValidity();\r\n\r\n }\r\n control.controls[indexVal].controls['margin_per'].setValue(\"\");\r\n control.controls[indexVal].controls['margin_value'].setValue(\"\");\r\n\r\n }\r\n createdailysalesProduct() {\r\n return this.fb.group(\r\n {\r\n sim_id: [null],\r\n sales_item: [null, Validators.compose([Validators.required])],\r\n other_sales_item:[null],\r\n sales_type:[\"1\"],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n margin_per: [null],\r\n margin_value: [null],\r\n comments:[null],\r\n fk_createdby: [this.users],\r\n isactive: [true],\r\n });\r\n }\r\n createdailyChildSaleProduct() {\r\n return this.fb.group({\r\n simc_id: [null],\r\n fk_sim_id: [null],\r\n sales_date: [null],\r\n sales_value: [null],\r\n fk_frequency_id:[null],\r\n frequency_value:[null],\r\n isactive: [true],\r\n })\r\n }\r\n temparr = [];\r\n tempdate = [];\r\n getSalesCalc(subchild,child,key) {\r\n \r\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\r\n let totalitemmargin = child.value.margin_per;\r\n \r\n if (totalitemmargin != null && subchild.value.sales_value !=null) {\r\n let loopAccess = false;\r\n let loopindex = 0;\r\n if (this.tempdate.length != 0) {\r\n for (var i = 0; i < this.tempdate.length; i++) {\r\n\r\n if (this.tempdate[i].month == saledate) {\r\n loopAccess = true;\r\n loopindex = i;\r\n }\r\n }\r\n\r\n if (loopAccess) {\r\n\r\n \r\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\r\n this.temparr.push(subchild.value.sales_value);\r\n loopAccess = false;\r\n loopindex = 0;\r\n \r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n\r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\r\n this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n let totalMonth = 12 / this.tempdate.length;\r\n \r\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\r\n \r\n // let value = tempgrandTotal * (totalitemmargin / 100);\r\n let value = tempgrandTotal*totalMonth ;\r\n \r\n let grandValue = value * (totalitemmargin / 100);\r\n child.controls['margin_value'].setValue(grandValue);\r\n \r\n }\r\n \r\n }\r\n salesCalculation(indexVal: number,values: any): void {\r\n console.log(indexVal,values)\r\n console.log(\"Margin\",this.margin_calculation_status);\r\n if(this.margin_calculation_status===true && values.sales_type==\"1\"){\r\n console.log(\"value == 1\")\r\n let control:any = this.salesDailyForm.controls['sales_product'];\r\n if(values.child.length>0 && values.margin_per!='' && values.margin_per!=null){\r\n // let transformData = values.child.filter(val=>val.sales_date!='' && val.sales_date!=null && val.sales_date!=undefined && val.sales_value!='' && val.isactive===true).map(mval=>{\r\n let transformData = values.child.filter(val=>val.sales_date!='' && val.sales_date!=null && val.sales_date!=undefined && val.sales_value!='' && val.isactive==true).map(mval=>{\r\n mval.custum_date = this.pipe.transform(mval.sales_date, 'yyyy-MM');\r\n return mval;\r\n });\r\n console.log(\"transform\",transformData)\r\n if(transformData.length>0) {\r\n let getUniqueMonthCounts = transformData.map(val=>val.custum_date)\r\n .filter((fVal,fIndex,fArray)=>{\r\n return fIndex === fArray.indexOf(fVal);\r\n });\r\n let getTotalValueCounts = transformData.map(val=>val.sales_value)\r\n .reduce((sum, curr) => parseFloat(sum) + parseFloat(curr));\r\n console.log(\"value\",(parseFloat(getTotalValueCounts) * (parseFloat(values.margin_per)/100) * (12 / parseFloat(getUniqueMonthCounts.length))).toFixed(2))\r\n console.log(control.controls[indexVal])\r\n control.controls[indexVal].controls['margin_value'].setValue((parseFloat(getTotalValueCounts) * (parseFloat(values.margin_per)/100) * (12 / parseFloat(getUniqueMonthCounts.length))).toFixed(2));\r\n this.inWords(parseInt(getTotalValueCounts) * (parseInt(values.margin_per)/100) * (12 / parseInt(getUniqueMonthCounts.length)),indexVal,2)\r\n }\r\n else{\r\n console.log(\"else 1\")\r\n control.controls[indexVal].controls['margin_value'].setValue(\"\");\r\n \r\n }\r\n console.log(\"else 1\")\r\n }\r\n else {\r\n console.log(\"else 2\")\r\n control.controls[indexVal].controls['margin_value'].setValue('');\r\n \r\n }\r\n }\r\n else if(this.margin_calculation_status===true && values.sales_type==\"2\"){\r\n let control:any = this.salesDailyForm.controls['sales_product'];\r\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\r\n \r\n if(values.child[values.child.length-1].fk_frequency_id!='' && values.child[values.child.length-1].frequency_value!='' && values.child[values.child.length-1].fk_frequency_id!=null && values.child[values.child.length-1].frequency_value!=null){\r\n let filterFrequencyValue: any = this.frequencyData.filter(val =>val.frequency_id==values.child[values.child.length-1].fk_frequency_id);\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue((parseFloat(filterFrequencyValue[0].mutiple_factor) * parseFloat(values.child[values.child.length-1].frequency_value)).toFixed(2));\r\n this.inWords(parseInt(filterFrequencyValue[0].mutiple_factor) * parseInt(values.child[values.child.length-1].frequency_value),innercontrol.value.length-1,1)\r\n \r\n let getTotalValueCounts =parseFloat(filterFrequencyValue[0].mutiple_factor) * parseFloat(values.child[values.child.length-1].frequency_value)\r\n values.margin_per!='' ? control.controls[indexVal].controls['margin_value'].setValue( (getTotalValueCounts * (parseFloat(values.margin_per)/100)).toFixed(2)) : '';\r\n values.margin_per!='' ? this.inWords(getTotalValueCounts * (parseInt(values.margin_per)/100),indexVal,2) : ''\r\n }\r\n else {\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n control.controls[indexVal].controls['margin_value'].setValue(\"\");\r\n \r\n }\r\n }\r\n else if(this.margin_calculation_status===false && values.sales_type==\"2\"){\r\n let control:any = this.salesDailyForm.controls['sales_product'];\r\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\r\n \r\n if(values.child[values.child.length-1].fk_frequency_id!='' && values.child[values.child.length-1].frequency_value!='' && values.child[values.child.length-1].fk_frequency_id!=null && values.child[values.child.length-1].frequency_value!=null){\r\n let filterFrequencyValue: any = this.frequencyData.filter(val =>val.frequency_id==values.child[values.child.length-1].fk_frequency_id);\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue((parseFloat(filterFrequencyValue[0].mutiple_factor) * parseFloat(values.child[values.child.length-1].frequency_value)).toFixed(2));\r\n this.inWords(parseInt(filterFrequencyValue[0].mutiple_factor) * parseInt(values.child[values.child.length-1].frequency_value),innercontrol.value.length-1,1)\r\n }\r\n else {\r\n innercontrol.controls[innercontrol.value.length-1].controls['sales_value'].setValue(\"\");\r\n }\r\n }\r\n \r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.marginAmtInwords[c] = this.constant.convertNumberToWords(e);\r\n break;\r\n case 3:\r\n this.freqAmtInwords[c]=this.constant.convertNumberToWords(e)\r\n default : break;\r\n }\r\n }\r\n adddailySalaesProduct() {\r\n this.tempdate = [];\r\n if (this.salesDailyForm.valid) {\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n control.push(this.createdailysalesProduct());\r\n \r\n this.adddailyChildSaleProduct(control.length - 1);\r\n }\r\n }\r\n adddailyChildSaleProduct(index) {\r\n // if(this.salesDailyForm.valid){\r\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\r\n\r\n control.push(this.createdailyChildSaleProduct());\r\n // }\r\n }\r\n\r\n deletedailySalesProduct(index,item) {\r\n console.log(\"fk_pd_id\",item);\r\n this.tempdate.slice(index,1);\r\n let deleteRecords:any;\r\n \r\n if(item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n sim_id:item.sim_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n \r\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\r\n if (control.length == 1) {\r\n this.salesDailyForm.controls['sales_product'].reset();\r\n } else {\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n deletedailyChildSaleProduct(saleIndex, saleChildIndex,childVal) {\r\n let control = this.salesDailyForm.controls['sales_product'];\r\n control=control.controls[saleIndex].get('child') as FormArray\r\n if(childVal == '' || childVal == null){\r\n control.removeAt(saleChildIndex)\r\n }\r\n else{\r\n console.log(\"control\",control.controls[saleChildIndex])\r\n control.controls[saleChildIndex].get('isactive').setValue(false);\r\n }\r\n\r\n // this.tempdate = [];\r\n // const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\r\n // if(control.length==1)\r\n // {\r\n // control.removeAt(saleChildIndex);\r\n // this.adddailyChildSaleProduct(saleIndex); \r\n // }else{\r\n // control.removeAt(saleChildIndex);\r\n // }\r\n }\r\n saveData(answerData) {\r\n answerData.sales_product.forEach(parVal=>{\r\n parVal.child.forEach(childVal=>{\r\n if(childVal['custum_date']){\r\n delete childVal['custum_date'];\r\n }\r\n if(childVal['sales_date'])\r\n childVal['sales_date']=this.pipe.transform(childVal['sales_date'], 'yyyy-MM-dd');\r\n });\r\n });\r\n if (this.salesDailyForm.valid) {\r\n let records = { 'records': answerData.sales_product };\r\n console.log(\"answer Data\",records)\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\r\n if (res['dataStatus'] == true) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n });\r\n }\r\n else{\r\n console.log(\"pd\",this.salesDailyForm);\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields\")\r\n }\r\n\r\n\r\n }\r\n getDailySalesData(dailySalesData) {\r\n console.log(\"daily sale\",dailySalesData);\r\n \r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n let control1: any = this.salesDailyForm.controls['sales_product'];\r\n let salesChildControl;\r\n let salesChildControlarr = [];\r\n dailySalesData.forEach((val, index) => {\r\n \r\n\r\n control.push(this.dailySalesWithData(val));\r\n if(val.margin_value != null){\r\n this.marginAmtInwords[index]=this.constant.convertNumberToWords(val.margin_value)\r\n }\r\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\r\n\r\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\r\n\r\n salesChildControlarr[index].forEach((vals, i) => {\r\n vals.forEach((item, key) => {\r\n console.log(\"item\",item,'key',key)\r\n if(val.sales_type != 2){\r\n let saleDate = new Date(item.sales_date);\r\n let date=saleDate.getDate()< 10 ? (\"0\"+(saleDate.getDate())) : saleDate.getDate()\r\n let month=saleDate.getMonth() < 10 ? (\"0\"+(saleDate.getMonth()+1)) : (saleDate.getMonth()+1)\r\n\r\n // item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay()+1 )).slice(-2);\r\n console.log(\"sale Day\",saleDate.getDay())\r\n item.sales_date = saleDate.getFullYear() + '-' + month+ '-' + date;\r\n }\r\n \r\n //console.log(\"sale data\",new Date(this.pipe.transform(item.sales_date, 'dd-MM-yyyy')))\r\n console.log(\"itme\",val)\r\n console.log(\"sale\",item.sales_date)\r\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id,val.sales_type));\r\n if(item.sales_value !=null){\r\n this.Value[i]=this.constant.convertNumberToWords(item.sales_value)\r\n }\r\n })\r\n \r\n\r\n\r\n });\r\n // this.changeOptions(index,val.sales_type)\r\n if(val.sales_type==\"2\"){\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['sales_date'].setValue(\"\");\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['sales_date'].clearValidators();\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['sales_date'].updateValueAndValidity();\r\n \r\n salesChildControl.controls[salesChildControl.value.length-1].controls['fk_frequency_id'].setValidators([Validators.required]);\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['fk_frequency_id'].updateValueAndValidity();\r\n \r\n salesChildControl.controls[salesChildControl.value.length-1].controls['frequency_value'].setValidators([Validators.required]);\r\n salesChildControl.controls[salesChildControl.value.length-1].controls['frequency_value'].updateValueAndValidity();\r\n \r\n // control1.controls[control.value.length-1].controls['comments'].setValidators([Validators.required]);\r\n // control1.controls[control.value.length-1].controls['comments'].updateValueAndValidity();\r\n\r\n }\r\n });\r\n \r\n console.log(\"aall\",this.salesDailyForm.value)\r\n }\r\n\r\n dailySalesWithData(data) {\r\n\r\n return this.fb.group(\r\n {\r\n sim_id: [data.sim_id],\r\n sales_item: [data.sales_item],\r\n other_sales_item:[data.other_sales_item],\r\n sales_type:[data.sales_type],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n fk_createdby: [this.users],\r\n isactive: [true],\r\n margin_per: [data.margin_per == null ? '' : (data.margin_per).toFixed(2)],\r\n margin_value: [data.margin_value == null ? '' :(data.margin_value).toFixed(2)],\r\n comments:[data.comments]\r\n })\r\n }\r\n dailySalesChildWithData(data, fk_id,salesType) {\r\n\r\nconsole.log(\"Sales type\",salesType)\r\n return this.fb.group(\r\n {\r\n simc_id: [data.simc_id],\r\n fk_sim_id: [fk_id],\r\n // sales_date: [data.sales_date, Validators.compose([Validators.required])],\r\n sales_date:[salesType==2 ? '' : data.sales_date],\r\n // sales_date: [new Date(this.pipe.transform(data.sales_date, 'dd-MM-yyyy')), Validators.compose([Validators.required])],\r\n sales_value: [data.sales_value],\r\n fk_frequency_id:[data.fk_frequency_id],\r\n frequency_value:[data.frequency_value],\r\n isactive: [true],\r\n })\r\n \r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedPurchasePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-purchase',\r\n templateUrl: 'pd-question-assessed-purchase.html',\r\n})\r\nexport class PdQuestionAssessedPurchasePage {\r\n purchaseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n businessExpenses: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n annual: any = [];\r\n grandpurchaseTotal: any;\r\n rawMaterialForm:FormGroup;\r\n RateOfPurchase: any=[];\r\n AnnualPurchase: any=[];\r\n productListData:any=[]\r\n check_type:any=[{'type_id':\"1\",'type_name':'Quantity and Rate Information'},{'type_id':\"2\",'type_name':'Value Information'}]\r\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.purchaseDetails = this.navParams.get('purchase');\r\n console.log(\"purchase\",this.purchaseDetails)\r\n console.log(\"pd\",this.pdDetails);\r\n this.users = this.aws.getlocale();\r\n this.rawMaterialForm = this.fb.group(\r\n {\r\n purchase:this.fb.array([]),\r\n });\r\n \r\n if(this.purchaseDetails!=null)\r\n {\r\n this.getpurchaseDetails(this.purchaseDetails);\r\n }else\r\n {\r\n this.addPurchaseDetails();\r\n }\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\r\n }\r\n\r\n\r\n createPurchaseDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n purchase_item:[null,Validators.compose([Validators.required])],\r\n other_purchase_item:[null],\r\n purchase_type:['1'],\r\n purchase_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n uom_other:[null],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_purchase_value:[null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n }\r\n })\r\n this.qustCat.stockFormAccess(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(data=>{\r\n if (data.dataStatus){\r\n let datas = data.record;\r\n \r\n let type2 = datas.from_business.filter(data => data.type_of_activity_id == 2); \r\n if(type2[0].hasOwnProperty(\"products\")){\r\n // this.productListData.push(type2[0].products);\r\n }\r\n let type3 = datas.from_business.filter(data => data.type_of_activity_id == 3);\r\n if(type3[0].hasOwnProperty(\"products\")){\r\n this.productListData.push(type3[0].products);\r\n }\r\n let type4 = datas.from_business.filter(data => data.type_of_activity_id == 4);\r\n if(type4[0].hasOwnProperty(\"products\")){\r\n this.productListData.push(type4[0].products);\r\n }\r\n if(datas.from_supplier.hasOwnProperty(\"raw_material\")){\r\n this.productListData.push(datas.from_supplier.raw_material);\r\n }\r\n this.productListData = [].concat.apply([], this.productListData);\r\n \r\n }\r\n })\r\n }\r\n addPurchaseDetails()\r\n {\r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.push(this.createPurchaseDetails());\r\n }\r\n\r\n deletePurchaseDetails(i,item)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n let deleteRecords:any; \r\n if(item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n purchase_id:item.purchase_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else{\r\n control.removeAt(i); \r\n } \r\n }\r\n\r\n\r\n purchaseCalculation(indexVal,values)\r\n {\r\nconsole.log(\"value\",values);\r\n let control:any = this.rawMaterialForm.controls['purchase'];\r\n if(values.purchase_type == \"1\" && values.purchase_qty!='' && values.rate_per_unit!='' && values.fk_frequency_id!='' && values.purchase_qty!=null && values.rate_per_unit!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_purchase_value'].setValue((parseFloat(values.purchase_qty) * parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.purchase_qty) * parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n\r\n }\r\n else if(values.purchase_type==\"2\" && values.rate_per_unit !='' && values.rate_per_unit !=null && values.fk_frequency_id != '' && values.fk_frequency_id != null ){\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_purchase_value'].setValue((parseFloat(values.rate_per_unit) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.rate_per_unit) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_purchase_value'].setValue(null);\r\n }\r\n // console.log(this.grandpurchaseTotal);\r\n // console.log(details,index);\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let purchaseQty = details.value.purchase_qty;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // // console.log(frequencyId);\r\n // let annual\r\n // if(purchaseQty!=null && UOM!=null){\r\n // if(frequencyId==1)\r\n // {\r\n\r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (purchaseQty*UOM*250);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_purchase_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (purchaseQty*UOM);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_purchase_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (purchaseQty*UOM*12);\r\n // this.annual[index] = annual;\r\n // details.controls['annual_purchase_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n\r\n // }else if(frequencyId==7)\r\n // {\r\n\r\n // }else if(frequencyId==8)\r\n // {\r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\r\n // }\r\n }\r\n savepurchaseData(answerData)\r\n {\r\n if(this.rawMaterialForm.valid){\r\n let records = {'records':answerData.purchase};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n // this.getAssessedDetails();\r\n \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getpurchaseDetails(purchaseDetails)\r\n {\r\n console.log('function in',purchaseDetails);\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \r\n console.log(control); \r\n if(purchaseDetails.length ==0)\r\n {\r\n console.log('if');\r\n this.addPurchaseDetails();\r\n }else{\r\n console.log('else');\r\n purchaseDetails.forEach((val,index)=>\r\n {\r\n // console.log(index);\r\n control.push(this.createPurchasewithData(val));\r\n this.annual[index] = val.annual_purchase_value;\r\n if(val.rate_per_unit != null){\r\n this.RateOfPurchase[index]=this.cons.convertNumberToWords(val.rate_per_unit)\r\n }\r\n if(val.annual_purchase_value != null){\r\n this.AnnualPurchase[index]=this.cons.convertNumberToWords(val.annual_purchase_value)\r\n }\r\n });\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\r\n }\r\n // console.log(control); \r\n \r\n }\r\n\r\n createPurchasewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[data.purchase_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n company_id:[this.pdDetails.company_id],\r\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\r\n other_purchase_item:[data.other_purchase_item],\r\n purchase_type:[data.purchase_type],\r\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n uom_other:[data.uom_other],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n changeOptions(indexVal: any,event: any): void{\r\n console.log('event',event)\r\n let control: any = this.rawMaterialForm.controls['purchase'];\r\n if(event.value==\"1\"){\r\n control.controls[indexVal].controls['purchase_qty'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['purchase_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValidators([Validators.required]);\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n this.purchaseCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n else if(event.value==\"2\"){\r\n control.controls[indexVal].controls['purchase_qty'].setValue(\"\");\r\n control.controls[indexVal].controls['purchase_qty'].clearValidators();\r\n control.controls[indexVal].controls['purchase_qty'].updateValueAndValidity();\r\n \r\n control.controls[indexVal].controls['fk_uom_id'].setValue(\"\");\r\n control.controls[indexVal].controls['fk_uom_id'].clearValidators();\r\n control.controls[indexVal].controls['fk_uom_id'].updateValueAndValidity();\r\n this.purchaseCalculation(indexVal,control.controls[indexVal].value);\r\n }\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.RateOfPurchase[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualPurchase[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business',\r\n templateUrl: 'pd-question-assessed-business.html',\r\n})\r\nexport class PdQuestionAssessedBusinessPage {\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n Value: any=[];\r\n AnnualExpenses: any=[];\r\n grandpurchaseTotal(arg0: any): any {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n grandExpenseTotal: any=[];\r\n expenseannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessExpenses:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busExpense:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\r\n }\r\n\r\n\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[null,Validators.compose([Validators.required])],\r\n expense_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_expenses_value:[null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n\r\n businessCalculation(indexVal: number,values: any): void {\r\n let control:any = this.BuissnessForm.controls['busExpense'];\r\n if(values.expense_value!='' && values.fk_frequency_id!='' && values.expense_value!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_expenses_value'].setValue((parseFloat(values.expense_value) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.expense_value) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n \r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_expenses_value'].setValue(null);\r\n }\r\n }\r\n \r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i,item)\r\n {\r\n console.log(\"item\",item);\r\n this.expenseannual.splice(i,1); \r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n \r\n let deleteRecords:any;\r\n if(item.fk_pd_id !=null){\r\n deleteRecords=[{\r\n pd_expense_id:item.pd_expense_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n \r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else{\r\n control.removeAt(i); \r\n } \r\n }\r\n\r\n busExpensecalculat(index,details)\r\n {\r\n \r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n let UOM = details.value.rate_per_unit;\r\n \r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual); \r\n this.inWords(annual,index,2) \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n this.inWords(annual,index,2)\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n this.inWords(annual,index,2)\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busExpense};\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.expenseannual[index] = val.annual_expenses_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n if(val.expense_value != null){\r\n this.Value[index]=this.cons.convertNumberToWords(val.expense_value)\r\n this.AnnualExpenses[index]=this.cons.convertNumberToWords(val.annual_expenses_value)\r\n }\r\n })\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[data.pd_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\r\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualExpenses[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedHouseholdPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-household',\r\n templateUrl: 'pd-question-assessed-household.html',\r\n})\r\nexport class PdQuestionAssessedHouseholdPage {\r\n\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n houseExpenseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n houseannual: any =[];\r\n grandHouseExpenseTotal: any=[];\r\n houseHoldForm:FormGroup;\r\n Value: any=[];\r\n AnnualExpenses: any=[];\r\n // nn:Object[][]=[]\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.houseExpenseDetails = this.navParams.get('FormId');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.houseHoldForm = this.fb.group(\r\n {\r\n houseExpense:this.fb.array([]),\r\n });\r\n if(this.expenseDetails !=null)\r\n {\r\n this.getHouseholdExpense(this.expenseDetails);\r\n }else\r\n {\r\n this.addHouseExpenses();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n createHouseExpense()\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id] ,\r\n company_id:[this.pdDetails.company_id],\r\n\t\t expense_item: [null,Validators.compose([Validators.required])],\r\n\t\t expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\r\n annual_expense_value: [null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n\r\n addHouseExpenses()\r\n {\r\n \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n\r\n control.push(this.createHouseExpense());\r\n }\r\n\r\n deleteHouseExpense(i,item)\r\n {\r\n this.houseannual.splice(i,1); \r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n let deleteRecords:any\r\n if(item.household_expense_id !=null){\r\n deleteRecords=[{\r\n household_expense_id:item.household_expense_id,\r\n fk_pd_id:item.fk_pd_id,\r\n company_id:this.pdDetails.company_id,\r\n isactive:false\r\n\r\n }]\r\n \r\n let records:any={'records':deleteRecords}\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Deleted Successfully\");\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Something Went Wrong\");\r\n }\r\n })\r\n }\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else{\r\n control.removeAt(i); \r\n } \r\n }\r\n houseExpensecalculat(indexVal,values)\r\n {\r\n\r\n let control:any = this.houseHoldForm.controls['houseExpense'];\r\n if(values.expense_value!='' && values.fk_frequency_id!='' && values.expense_value!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_expense_value'].setValue((parseFloat(values.expense_value) * parseFloat(filterFrequencyValue[0].mutiple_factor)).toFixed(2));\r\n this.inWords(parseInt(values.expense_value) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n \r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_expense_value'].setValue(null);\r\n }\r\n \r\n //OLD CALCULATION\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let expenseValue = details.value.expense_value;\r\n // // let UOM = details.value.rate_per_unit;\r\n // // console.log(frequencyId,purchaseQty,UOM,index);\r\n // // console.log(details);\r\n // let annual\r\n // if(expenseValue!=null){\r\n // if(frequencyId==1)\r\n // {\r\n\r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (expenseValue*250);\r\n // this.houseannual[index] = annual;\r\n // details.controls['annual_expense_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (expenseValue);\r\n // this.houseannual[index] = annual;\r\n // details.controls['annual_expense_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (expenseValue*12);\r\n // this.houseannual[index] = annual;\r\n // details.controls['annual_expense_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n\r\n // }else if(frequencyId==7)\r\n // {\r\n\r\n // }else if(frequencyId==8)\r\n // {\r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n // console.log(this.grandHouseExpenseTotal); \r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n // }\r\n }\r\n saveHouseExpenseData(answerData)\r\n {\r\n if(this.houseHoldForm.valid)\r\n {\r\n let records = {'records':answerData.houseExpense};\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n getHouseholdExpense(houseExpesneDetails)\r\n {\r\n if(houseExpesneDetails.length==0)\r\n {\r\n this.addHouseExpenses(); \r\n }else\r\n {\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \r\n houseExpesneDetails.forEach((val,index)=>\r\n {\r\n this.houseannual[index] = val.annual_expense_value;\r\n control.push(this.createHouseholdwithData(val));\r\n if(val.expense_value != null){\r\n this.Value[index]=this.cons.convertNumberToWords(val.expense_value)\r\n this.AnnualExpenses[index]=this.cons.convertNumberToWords(val.annual_expense_value)\r\n }\r\n \r\n });\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createHouseholdwithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[data.household_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id] ,\r\n company_id:[this.pdDetails.company_id],\r\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\r\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualExpenses[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business-income',\r\n templateUrl: 'pd-question-assessed-business-income.html',\r\n})\r\nexport class PdQuestionAssessedBusinessIncomePage {\r\n m_freqOfPurchase: any = [];\r\n expenseDetails: any;\r\n \r\n grandIncomeTotal: any=[];\r\n incomeannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessIncome:any;\r\n Value: any=[];\r\n AnnualExpenses: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('income');\r\n \r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busIncome:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\r\n }\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[null,Validators.compose([Validators.required])],\r\n income_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_income_value:[null,Validators.compose([Validators.required])],\r\n comments:[null],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[null],\r\n other_frequncy_item:[null],\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.incomeannual.splice(i,1); \r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busIncomecalculate(indexVal,values)\r\n {\r\n let control:any = this.BuissnessForm.controls['busIncome'];\r\n if(values.income_value!='' && values.fk_frequency_id!='' && values.income_value!=null && values.fk_frequency_id!=null) {\r\n let filterFrequencyValue: any = this.m_freqOfPurchase.filter(val =>val.frequency_id==values.fk_frequency_id);\r\n control.controls[indexVal].controls['annual_income_value'].setValue(parseInt(values.income_value) * parseInt(filterFrequencyValue[0].mutiple_factor));\r\n this.inWords(parseInt(values.income_value) * parseInt(filterFrequencyValue[0].mutiple_factor),indexVal,2)\r\n\r\n }\r\n else {\r\n control.controls[indexVal].controls['annual_income_value'].setValue('');\r\n }\r\n //OLD CALCULATION\r\n // let frequencyId = details.value.fk_frequency_id;\r\n // let incomeValue = details.value.income_value;\r\n // // let UOM = details.value.rate_per_unit;\r\n \r\n // let annual:any;\r\n // if(incomeValue!=null && incomeValue !=null){\r\n // let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \r\n // if(frequencyId==1)\r\n // {\r\n \r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==2)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==3)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual);\r\n // }else if(frequencyId==4)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual);\r\n // }else if(frequencyId==5)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual);\r\n // }else if(frequencyId==6)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==7)\r\n // {\r\n // annual = (incomeValue*frequency_factor.mutiple_factor);\r\n // this.incomeannual[index] = annual;\r\n // details.controls['annual_income_value'].setValue(annual); \r\n // }else if(frequencyId==8)\r\n // {\r\n // annual = (incomeValue);\r\n // this.incomeannual[index] = annual; \r\n // details.controls['annual_income_value'].setValue(annual); \r\n\r\n // }else\r\n // {\r\n\r\n // }\r\n // this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n // }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busIncome};\r\n \r\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },1500)\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.incomeannual[index] = val.annual_income_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n if(val.income_value != null){\r\n this.Value[index]=this.cons.convertNumberToWords(val.income_value)\r\n this.AnnualExpenses[index]=this.cons.convertNumberToWords(val.annual_income_value)\r\n }\r\n })\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[data.pd_business_income_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\r\n income_value:[data.income_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\r\n comments:[data.comments],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[data.other_income_item],\r\n other_frequncy_item:[data.other_frequncy_item],\r\n })\r\n }\r\n inWords(e,c,flag){\r\n switch(flag){\r\n case 1 : \r\n this.Value[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n case 2 : \r\n this.AnnualExpenses[c] = this.cons.convertNumberToWords(e);\r\n break;\r\n default : break;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Form } from 'ionic-angular';\nimport {AwsServiceProvider} from '../../../providers/aws-service/aws-service'\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\nimport {QuestionCategoryProvider} from '../../../providers/question-category/question-category'\nimport {ToastProvider} from '../../../providers/common-provider/toast'\nimport { DatePipe } from '@angular/common';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\nimport { max } from 'rxjs/operators';\n\n/**\n * Generated class for the PdQuestionAssessedDailyPurchasePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-daily-purchase',\n templateUrl: 'pd-question-assessed-daily-purchase.html',\n})\nexport class PdQuestionAssessedDailyPurchasePage {\n pipe = new DatePipe('en-US');\n pdDetails:any;\n formId:any;\n margin_calculation_status: any;\n users: any;\n purchaseItemForm:FormGroup\n dailyPurchase:any;\n productListData: any=[];\n purchaseData:any;\n purchaseAmtInWords: any=[];\n maxDate:any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\n private fb:FormBuilder,private quesCat:QuestionCategoryProvider,private toast:ToastProvider,private cons:ConstantsProvider) {\n var today=new Date\n console.log(\"today\",today)\n let date=today.getDate()< 10 ? (\"0\"+(today.getDate())) : today.getDate()\n let month=today.getMonth() < 10 ? (\"0\"+(today.getMonth()+1)) : (today.getMonth()+1)\n this.maxDate = today.getFullYear() + '-' + month + '-' + date;\n console.log(\"max\",this.maxDate)\n this.pdDetails=this.navParams.get('pdDetails')\n console.log(\"pd\",this.pdDetails)\n this.formId=this.navParams.get('FormId')\n this.purchaseData=this.navParams.get('purchaseDaily')\n console.log(\"data\",this.purchaseData);\n this.margin_calculation_status=this.navParams.get('margin_calculation_status');\n this.users = this.aws.getlocale();\n\n this.purchaseItemForm=this.fb.group({\n // purchase_item:[''],\n // other_purchase_item:[''],\n purchase_product:this.fb.array([])\n // child:this.fb.array([])\n })\n this.getDropDown()\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDailyPurchasePage');\n if(this.purchaseData != null){\n this.getDailyPurchase(this.purchaseData)\n }\n else{\n this.addPurchase();\n }\n \n }\n getDropDown(){\n this.quesCat.stockFormAccess(this.pdDetails.pd_id,this.pdDetails.company_id).subscribe(data=>{\n if (data.dataStatus){\n let datas = data.record;\n \n let type2 = datas.from_business.filter(data => data.type_of_activity_id == 2); \n if(type2[0].hasOwnProperty(\"products\")){\n // this.productListData.push(type2[0].products);\n }\n let type3 = datas.from_business.filter(data => data.type_of_activity_id == 3);\n if(type3[0].hasOwnProperty(\"products\")){\n this.productListData.push(type3[0].products);\n }\n let type4 = datas.from_business.filter(data => data.type_of_activity_id == 4);\n if(type4[0].hasOwnProperty(\"products\")){\n this.productListData.push(type4[0].products);\n }\n if(datas.from_supplier.hasOwnProperty(\"raw_material\")){\n this.productListData.push(datas.from_supplier.raw_material);\n }\n this.productListData = [].concat.apply([], this.productListData);\n \n }\n })\n }\n addPurchase(){\n const control=this.purchaseItemForm.get('purchase_product') as FormArray\n control.push(this.createDailyPurchase())\n this.addDailyPurchaseChild(control.length-1)\n }\n createDailyPurchase(){\n return this.fb.group({\n fk_pd_id: [this.pdDetails.pd_id],\n company_id:[this.pdDetails.company_id],\n pbw_id: [''],\n purchase_item: ['', Validators.compose([Validators.required])],\n other_purchase_item:[''],\n annual_purchase_value: [''],\n child: this.fb.array([]),\n comments: [''],\n isactive:[true],\n })\n }\n addDailyPurchaseChild(index)\n {\n const control=(this.purchaseItemForm.get('purchase_product')).at(index).get('child') as FormArray;\n control.push(this.createDailyPurchaseChild(''))\n }\n createDailyPurchaseChild(value){\n return this.fb.group({\n pbwc_id: [''],\n fk_pbw_id: [value],\n purchase_date: [''],\n purchase_value: ['', Validators.compose([Validators.required])],\n isactive:[true],\n })\n }\n createPurchaseItemWithData(values: any) {\n return this.fb.group({\n fk_pd_id: [this.pdDetails.pd_id],\n company_id:[this.pdDetails.company_id],\n pbw_id: [values.pbw_id],\n purchase_item: [values.purchase_item, Validators.compose([Validators.required])],\n other_purchase_item:[values.other_purchase_item === null ? '' : values.other_purchase_item ],\n annual_purchase_value: [values.annual_purchase_value],\n child: this.fb.array([]),\n comments: [values.comments],\n isactive:[true],\n });\n }\n \n // create daily purchase product with Data\n createDailyPurchaseWithData(values: any, parent: any) {\n console.log(\"dd\",new Date(this.pipe.transform(values.purchase_date, 'yyyy-MM-dd')))\n return this.fb.group({\n pbwc_id: [values.pbwc_id],\n fk_pbw_id: [parent.pbw_id],\n // purchase_date: [parent.purchase_date=='' ? '' :new Date(this.pipe.transform(values.purchase_date, 'yyyy-MM-dd')), Validators.compose([Validators.required])],\n purchase_date:[values.purchase_date],\n purchase_value: [values.purchase_value, Validators.compose([Validators.required])],\n isactive:[true]\n })\n }\ninWords(values,index){\n console.log(\"value\",values)\n if(values != ''){\n this.purchaseAmtInWords[index]=this.cons.convertNumberToWords(values)\n }\n}\n // this caculation for running total\npurchaseCalculation(indexVal: number,values: any): void {\n \n let control:any = this.purchaseItemForm.controls['purchase_product'];\n \n if(values.child.length>0){\n let transformData = values.child.filter(val=>val.purchase_date!='' && val.purchase_date!=null && val.purchase_date!=undefined && val.purchase_value!='' && val.isactive===true).map(mval=>{\n mval.custum_date = this.pipe.transform(mval.purchase_date, 'yyyy-MM');\n return mval;\n });\n\n if(transformData.length>0) {\n // let getUniqueMonthCounts = transformData.map(val=>val.custum_date)\n // .filter((fVal,fIndex,fArray)=>{\n // return fIndex === fArray.indexOf(fVal);\n // });\n\n let TotalAnnualValue = transformData.map(val=>val.purchase_value)\n .reduce((sum, curr) => parseInt(sum) + parseInt(curr));\n // let months:number=12/values.child.length;\n control.controls[indexVal].controls['annual_purchase_value'].setValue(TotalAnnualValue);\n }\n else{\n control.controls[indexVal].controls['annual_purchase_value'].setValue(\"\");\n }\n \n }\n else {\n let innercontrol: any = control.controls[indexVal].get('child') as FormArray;\n innercontrol.controls[innercontrol.value.length-1].controls['purchase_value'].setValue(\"\");\n control.controls[indexVal].controls['annual_purchase_value'].setValue(\"\");\n }\n}\naddDailyPurchase(len){\n const control=this.purchaseItemForm.get('purchase_product');\n control.push(this.createDailyPurchase())\n const innercontrol=control.at(len).get('child') as FormArray\n innercontrol.push(this.createDailyPurchaseChild(''))\n}\nremoveDailyPurchase(index){\n const control=this.purchaseItemForm.get('purchase_product');\n control.removeAt(index)\n}\naddChild(parentIndex,values){\n let control: any = this.purchaseItemForm.controls['purchase_product'];\n control=control.controls[parentIndex].get('child') as FormArray;\n control.push(this.createDailyPurchaseChild(values.pbw_id));\n}\nremoveChild(parentIndex,childIndex,childValue){\n let control: any = this.purchaseItemForm.controls['purchase_product'];\n control=control.controls[parentIndex].get('child') as FormArray;\n if(childValue.pbwc_id=='' || childValue.pbwc_id==null){\n control.removeAt(childIndex);\n let calculatControlValues: any = this.purchaseItemForm.controls['purchase_product'];\n calculatControlValues = calculatControlValues.controls[parentIndex];\n this.purchaseCalculation(parentIndex,calculatControlValues.value);\n }\n else {\n control.controls[childIndex].controls.isactive.setValue(false);\n let calculatControlValues: any = this.purchaseItemForm.controls['purchase_product'];\n calculatControlValues = calculatControlValues.controls[parentIndex];\n this.purchaseCalculation(parentIndex,calculatControlValues.value);\n }\n}\ngetDailyPurchase(records){\n const control=this.purchaseItemForm.get('purchase_product')\n // const innercontrol=control.at(0).get('child') as FormArray\n records.forEach((element,index)=>{\n let purchaseChildControlarr=[]\n let nexContro=[]\n control.push(this.createPurchaseItemWithData(element))\n console.log(\"records\",element)\n let result=Object.assign({},...element.items);\n console.log(\"result\",result);\n // let expandBodyContent= Object.keys(result).map(key => ({ header:key, value: result[key] }));\n // console.log(\"expandBody\",expandBodyContent);\n // let listItems: any=[];\n nexContro[index] = Object.keys(element['items']).map(key => element['items'][key]);\n console.log(\"purchasechildcontrol\",nexContro[index])\n purchaseChildControlarr[index]=Object.keys(result).map(key=>result[key])\n console.log(\"nexcontrol\",purchaseChildControlarr[index])\n // expandBodyContent.forEach((expnadElement, expnadIndex) => {\n // console.log(\"expand\",expnadElement)\n // let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.purchase_value), 0);\n // console.log(\"calculateItems\",calculateItems)\n // listItems.push({items:expnadElement, itemsTotal:calculateItems})\n const innercontrol=control.at(index).get('child') as FormArray\n purchaseChildControlarr[index].forEach((chilVal,childIndex)=>{\n chilVal.forEach((val,innerIndex)=>{\n if(val.purchase_date ){\n let saleDate = new Date(val.purchase_date);\n console.log(saleDate.getDay())\n console.log(saleDate.getDate());\n // val.purchase_date= saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() )).slice(-2);\n let date=saleDate.getDate()< 10 ? (\"0\"+(saleDate.getDate())) : saleDate.getDate()\n let month=saleDate.getMonth() < 10 ? (\"0\"+(saleDate.getMonth()+1)) : (saleDate.getMonth()+1)\n console.log(\"datamonth\")\n console.log(date,month)\n val.purchase_date= saleDate.getFullYear() + '-' + month + '-' + date;\n console.log( val.purchase_date)\n }\n if(val.purchase_value != ''){\n this.inWords(val.purchase_value,childIndex)\n }\n console.log(\"child\",val)\n innercontrol.push(this.createDailyPurchaseWithData(val,element))\n })\n })\n \n })\n // console.log(\"list_items\",listItems)\n // })\n // control.push(this.createPurchaseItemWithData(records))\n \n //console.log('innercontrol',innercontrol)\n // records.items.forEach((element,index)=>{\n // innercontrol.push(this.createDailyPurchaseWithData(element,records))\n // })\n \n}\n\n\nsubmitDetails(records){\n records.purchase_product.forEach(parVal=>{\n parVal.child.forEach(childVal=>{\n if(childVal['custum_date']){\n delete childVal['custum_date']\n }\n if(childVal['purchase_date']){\n childVal['purchase_date']=this.pipe.transform(childVal['purchase_date'], 'yyyy-MM-dd')\n }\n })\n })\n let recordVal:any={'records':records.purchase_product}\n this.quesCat.saveassessedForms('saveAssessedIncomePurchaseBillwise',recordVal).subscribe(res=>{\n if(res['dataStatus']== true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully..!\")\n setTimeout(()=>{\n this.navCtrl.pop()\n },1500)\n }\n else{\n this.toast.pdTriggerappmessage(\"Error\");\n }\n })\n}\n \n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {QuestionCategoryProvider} from '../../../providers/question-category/question-category'\nimport {RupeeCurrencyFormatPipe} from '../../../pipes/rupee-currency-format/rupee-currency-format'\n\n/**\n * Generated class for the PdQuestionAssessedSummaryPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-summary',\n templateUrl: 'pd-question-assessed-summary.html',\n providers:[RupeeCurrencyFormatPipe]\n})\nexport class PdQuestionAssessedSummaryPage {\n pdDetails:any;\n salesCustomer:any;\n salesMonthWise:any;\n salesItemWise:any;\n consolidatedReport:any;\n loadData:boolean=false;\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustCat: QuestionCategoryProvider) {\n this.pdDetails=this.navParams.get('pdDetails')\n // console.log(this.pdDetails)\n this.getAssessedDetails();\n }\n ionViewWillEnter(){\n //console.log(\"ionViewWillEnter\")\n //this.getAssessedDetails();\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedSummaryPage');\n \n }\n getAssessedDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'company_id':this.pdDetails.company_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>{\n if(res['dataStatus']== true){\n if(res['records'].final_data.length != 0){\n this.salesCustomer=res['records'].final_data[0].sales_declared_by_customer\n this.salesItemWise=res['records'].final_data[0].sales_calculated_by_itemwise\n this.salesMonthWise=res['records'].final_data[0].sales_calculated_by_monthwise\n this.consolidatedReport=res['records'].final_data[0].consolidated_report\n console.log(this.salesCustomer);\n }\n this.loadData=true\n \n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {CameraProvider} from '../../../providers/common-provider/camera'\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\nimport {ToastProvider} from '../../../providers/common-provider/toast'\nimport {QuestionCategoryProvider} from '../../../providers/question-category/question-category'\nimport { QueueScheduler } from 'rxjs/internal/scheduler/QueueScheduler';\n/**\n * Generated class for the PdQuestionAssessedImagesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-assessed-images',\n templateUrl: 'pd-question-assessed-images.html',\n})\nexport class PdQuestionAssessedImagesPage {\n imageDisplay: any=[];\n imageBucket: any=[];\n pdDetails:any;\n FormId:any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,private cameraProvider:CameraProvider,\n private loading:LoadingProvider,private toast:ToastProvider,public qustCat:QuestionCategoryProvider ) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.FormId=this.navParams.get('formdetails')\n console.log(\"pd\",this.pdDetails,\"form\",this.FormId)\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedImagesPage');\n this.getPDImages();\n }\n\n /*IMAGE SECTION*/\n getPDImages(){\n //FOR RETRIEVING PICTURES\n this.imageDisplay=[]\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':this.pdDetails.company_id}\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\n if(!val['msg']){\n console.log(val['records'])\n if(val['records'].length>0){\n val['records'].forEach(result=>{\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\n })\n console.log(\"imageBuck\",this.imageDisplay);\n }\n }\n })\n }\n\n changeName(value,index,img){\n console.log(value);\n this.imageDisplay[index]={'image':img,'Name':value}\n \n }\n changeNameForBucket(value,index,img){\n this.imageBucket[index]={'image':img,'Name':value}\n }\n removeImg(index){\n this.imageDisplay.splice(index,1);\n }\n removeImgForBucket(index){\n this.imageBucket.splice(index,1)\n }\n capture(){\n //FOR CAPTURING PICS\n this.cameraProvider.getpicture().then(res=>{\n console.log(\"Value\",res)\n if(res != 'error'){\n this.imageBucket.push({'image':res,'Name':''});\n //FOR GETTING THE DOC NAME FROM ALERT\n let alert =this.toast.setAlertForDocName()\n alert.present()\n alert.onDidDismiss(value=>{\n console.log(\"alert value\",value);\n if(value){\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\n }\n })\n }\n },error=>{\n console.log(\"Camera Error \",JSON.stringify(error));\n })\n \n\n \n }\n sendImage(){\n this.loading.loaderForSendImage()\n console.log(\"ll\",JSON.stringify(this.imageBucket));\n let records:any={\n 'pd_id':this.pdDetails.pd_id,\n 'formid':this.FormId.form_id,\n 'images':this.imageBucket,\n 'company_id':this.pdDetails.company_id\n }\n console.log(\"records\",JSON.stringify(records))\n \n this.qustCat.savePDImages(records).subscribe(res=>{\n console.log(\"res\",res);\n if(res['dataStatus']== true){\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\n this.imageBucket=[]\n this.getPDImages();\n }\n else{\n console.log(\"Fail\")\n this.toast.pdTriggerappmessage('Fail');\n }\n },ERR=>{\n console.log(JSON.stringify(ERR));\n this.toast.pdTriggerappmessage(JSON.stringify(ERR));\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-images/pd-question-assessed-images.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionLenderRepresentativePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-lender-representative',\r\n templateUrl: 'pd-question-lender-representative.html',\r\n})\r\nexport class PdQuestionLenderRepresentativePage {\r\n\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n representativeForm:FormGroup;\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public fb:FormBuilder,private cameraProvider:CameraProvider,\r\n private loading:LoadingProvider) \r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.representativeForm = this.fb.group({\r\n pdid:[this.pdDetails.pd_id],\r\n formid:[this.FormId.form_id],\r\n fk_createdby:[this.users],\r\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\r\n representative_remarks: ['', Validators.compose([Validators.required])],\r\n lender_representative_details: this.fb.array([]),\r\n });\r\n this.getLenderReDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\r\n this.getPDImages();\r\n }\r\n\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.representativeForm.dirty);\r\n if(this.representativeForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n createlenReDetails()\r\n {\r\n return this.fb.group({\r\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\r\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n selectedLoanChanges(e): void {\r\n if (e.value == 'Yes') {\r\n const control = this.representativeForm.controls['lender_representative_details'];\r\n control.push(this.createlenReDetails());\r\n } else if (e.value == 'No') {\r\n const arr = this.representativeForm.controls.lender_representative_details;\r\n arr.removeAt(0);\r\n }\r\n }\r\n\r\n sumbitData(answerData)\r\n { \r\n if(this.representativeForm.valid)\r\n {\r\n let records = this.representativeForm.value;\r\n \r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.representativeForm.reset(this.representativeForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n });\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getLenderReDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let lenderReDetails = res['records'];\r\n if(lenderReDetails.lender_representative_accompany=='Yes'){\r\n\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n\r\n\r\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\r\n {\r\n return res['records'].lender_representative_details[key];\r\n });\r\n \r\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \r\n lender_represent_details.forEach(val=>\r\n {\r\n control.push(this.createlenReDetails());\r\n })\r\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\r\n\r\n }else\r\n {\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n }\r\n }\r\n })\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component,ViewChild,ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle, Content } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\r\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { DatePipe} from '@angular/common';\r\nimport {PdPipe} from './../../../pipes/pd/pd';\r\nimport { removeSummaryDuplicates } from '@angular/compiler';\r\nimport { DataSource } from '@angular/cdk/table';\r\nimport { MatSelect } from '@angular/material';\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n//import {} from 'moment'\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-info',\r\n templateUrl: 'pd-question-general-info.html',\r\n providers:[PdPipe],\r\n})\r\nexport class PdQuestionGeneralInfoPage {\r\n pipe=new DatePipe('en-US');\r\n // person_name:any;\r\n qualification_name:any;\r\n individuals_order_id:any;\r\n is_new:any;\r\n pd_co_applicant_id:any;\r\n lengthv:any;\r\n qual_name:any;\r\n curr_qualification_name;\r\n curr_business_name;\r\n \r\n\r\n applicant_name: any;\r\n otherapp: any;\r\n fetch_related_details: any = [];\r\n checkApplicantExist: any;\r\n pd_applicants_details: any = [];\r\n companyRelationShipList: any;\r\n qualificationList:any;\r\n businessEntityTypeList:any;\r\n relationShipList: any;\r\n titleList:any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n generalForm:FormGroup;\r\n list_value:FormArray;\r\n fulldata:any\r\n public buttonClick:boolean;\r\n public h_companies:boolean\r\n \r\n datav:any;\r\n individualsListBothCase:any;\r\n individualsList:any;\r\n companyList:any;\r\n i:number;\r\n data_all:any;\r\n maxDate:any;\r\n OldData:any=[];\r\n OldData_indi:any=[];\r\n updateIndex_indi:any;\r\n public addComp:boolean\r\n public addIndi:boolean\r\n updateIndex_comp: any;\r\n@ViewChild('remark') nameField: ElementRef;\r\n@ViewChild('focusBusiness') focus_business_entity : MatSelect\r\n customer_segment_abbr: any;\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController,\r\n private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.maxDate = new Date();\r\n this.pd_applicants_details = []; \r\n this.pd_applicants_details.pop(); \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdDetails)\r\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\r\n //this.maxDate=new Date(get_max_date)\r\n this.FormId = this.navParams.get('FormId');\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n console.log('this.customer_segment_abbr',this.customer_segment_abbr)\r\n this.users = this.aws.getlocale();\r\n this.getdropdown();\r\n \r\n this.generalForm = this.fb.group({\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n applicant_list: this.fb.array([]),\r\n applicant_relation: this.fb.array([]),\r\n list_value:this.fb.array([]),\r\n company_value:this.fb.array([]),\r\n individuals:this.fb.array([]),\r\n companies:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n company_with_relationships:this.fb.array([]),\r\n rental_income_rcv_in_years:[''],\r\n rental_income_rcv_in_month:[''],\r\n \r\n general_remark:''\r\n });\r\n \r\n //this.initIndividuals();\r\n this.pd_applicants_details = this.pdDetails.applicat_details;\r\n \r\n \r\n \r\n // this.getcoapplicantDetails();\r\n this.buttonClick=false;\r\n this.h_companies=false;\r\n this.addIndi=false\r\n this.addComp=false\r\n // this.initCompanies()\r\n this.datav=[{\r\n name:\"fairoj\",\r\n id:1\r\n },\r\n {\r\n name:\"ff\",\r\n id:2\r\n }\r\n \r\n ]\r\n //this.fulldata=this.generalForm.value\r\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['list_value'];\r\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\r\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\r\n this.fulldata=control.value;\r\n //control.controls.length\r\n //control.push()\r\n });\r\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['company_value'];\r\n this.companyList=control.value.filter(element=>element.company_name )\r\n })\r\n this.i=0;\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n // this.pd_applicants_details.pop();\r\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\r\n this.getGeneralForm()\r\n this.getPDImages();\r\n \r\n }\r\n ionViewLoaded() {\r\n\r\n // setTimeout(() => {\r\n // this.generalForm.controls['general_remark']['controls'].setFocus();\r\n // },150);\r\n }\r\n\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.generalForm.dirty);\r\n if(this.generalForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n initlistv(data,purpose) :void\r\n {\r\n const control=this.generalForm.controls['list_value'];\r\n console.log(\"control\",control.length)\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[control.length+1],\r\n is_new:true,\r\n is_active:true,\r\n pd_co_applicant_id:[control.length+1], \r\n \r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n if(purpose=='get'){\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[val.individuals_order_id],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n pd_co_applicant_id:[val.pd_co_applicant_id] , \r\n \r\n \r\n \r\n \r\n\r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n}\r\n\r\n qualificationById(data):string{\r\n for(let i of this.qualificationList){\r\n if(data==i.qualification_id){\r\n this.qual_name=i.qualification_name\r\n return this.qual_name\r\n }\r\n }\r\n \r\n }\r\n initCompanyValue(data,purpose):void{\r\n const control=this.generalForm.controls['company_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n \r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n // company_order_id:[this.lengthv.companies.length+1],\r\n company_order_id:[control.length+1],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:true,\r\n is_active:true,\r\n company_messrs_name:['M/s'],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n if(purpose=='get')\r\n {\r\n for(let val of data)\r\n {\r\n \r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[val.company_order_id],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n company_messrs_name:[val.company_messrs_name],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n }\r\n businessEntityById(val):string{\r\n for(let v of this.businessEntityTypeList){\r\n if(val==v.business_entity_type_id){\r\n var name=v.business_entity_type_name\r\n return name\r\n }\r\n }\r\n \r\n }\r\n \r\n\r\n initIndividuals(data):void{\r\n \r\n const control=this.generalForm.controls['individuals'];\r\n control.controls=[]\r\n if(data==null){\r\n let formData : FormGroup=this.fb.group({\r\n applicant_name:['',Validators.required],\r\n is_person_met:false,\r\n is_applicant:false,\r\n age:[''],\r\n qualification:[''],\r\n course_name:[''],\r\n applicant_title_name:['']\r\n\r\n });\r\n control.push(formData);\r\n }\r\n else{\r\n let formData : FormGroup=this.fb.group({\r\n \r\n \r\n applicant_name:[data.applicant_name,Validators.required],\r\n is_person_met:data.is_person_met,\r\n is_applicant:data.is_applicant,\r\n age:[data.age],\r\n qualification:[data.qualification],\r\n course_name:[data.course_name],\r\n applicant_title_name:[data.applicant_title_name]\r\n \r\n \r\n });\r\n this.buttonClick=!this.buttonClick;\r\n control.push(formData);\r\n\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n initCompanies(data):void{\r\n const control=this.generalForm.controls['companies'];\r\n control.controls=[]\r\n if(data == null){\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[''],\r\n is_company_applicant:false,\r\n business_entity_type:[''],\r\n business_entity_type_other:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_date_object:['']\r\n });\r\n control.controls=[]\r\n control.push(formData)\r\n \r\n }\r\n else{\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[data.company_name],\r\n is_company_applicant:data.is_company_applicant,\r\n business_entity_type:[data.business_entity_type],\r\n business_entity_type_other:[data.business_entity_type_other],\r\n business_years:[data.business_years],\r\n business_month:[data.business_month],\r\n business_date_object:[data.business_date_object]\r\n })\r\n this.h_companies=!this.h_companies\r\n \r\n control.push(formData)\r\n }\r\n }\r\n initPersonRelationship(value):void{\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n if(value=='')\r\n {\r\n \r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[''],\r\n applicant_name:[''],\r\n relationship:[''],\r\n relation_to:[''],\r\n individuals_order_id:[control.length+1],\r\n \r\n });\r\n \r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value)\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[val.pd_co_applicant_id],\r\n applicant_name:[val.applicant_name],\r\n relationship:[val.relationship],\r\n relation_to:[val.relation_to],\r\n });\r\n \r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n initCompanyRelationShip(value):void{\r\n console.log(value)\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[''],\r\n company_relationship:[''],\r\n relation_to_company:[''],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n console.log(\"data\",value);\r\n for(let val of value){\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n company_relationship:[val.company_relationship],\r\n relation_to_company:[val.relation_to_company],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n add():void{\r\n \r\n this.initIndividuals(null);\r\n }\r\ndata:any;\r\ncart=[];\r\ndatajson:any;\r\ndataobj:any;\r\n\r\n addRec(v){\r\n if(v=='1')\r\n {\r\n this.addIndi=true;\r\n this.buttonClick=!this.buttonClick;\r\n this.initIndividuals(null);\r\n }\r\n if(v=='2')\r\n {\r\n console.log(\"companies\",this.h_companies);\r\n this.addComp=true\r\n // this.h_companies=true;\r\n this.h_companies=!this.h_companies;\r\n console.log(\"companies\",this.h_companies);\r\n this.initCompanies(null);\r\n }\r\n }\r\n editIndividuals(index){\r\n let values=this.generalForm.controls.list_value.value[index]\r\n console.log(values)\r\n this.addIndi=false\r\n this.updateIndex_indi=index;\r\n this.initIndividuals(values);\r\n // this.nameField.nativeElement.focus();\r\n\r\n }\r\n editCompanies(index){\r\n console.log(\"index\",index);\r\n let values=this.generalForm.controls.company_value.value[index]\r\n console.log(values)\r\n this.updateIndex_comp=index\r\n this.addComp=false\r\n //this.\r\n this.initCompanies(values)\r\n }\r\n update(v,controlVal){\r\n console.log(\"index\",v)\r\n if(v=='1'){\r\n\r\n let values=this.generalForm.controls['individuals'].value[0]\r\n // let control=(this.generalForm.controls['individuals']).at(0) as FormArray;\r\n // console.log(\"full\",this.generalForm)\r\n // console.log(control,values);\r\n if(values.is_person_met == true && values.is_applicant != true){\r\n controlVal.controls['age'].clearValidators();\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].clearValidators();\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met != true){\r\n console.log(\"1st\");\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met == true && values.is_applicant == true){\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory fields Marked with '*'\");\r\n }\r\n else{\r\n let val=this.generalForm.controls.individuals.value[0]\r\n let old=this.generalForm.controls.list_value.value[this.updateIndex_indi]\r\n // const control=this.generalForm.controls.list_value.at(this.updateIndex_indi)\r\n // const control=this.list_value\r\n var c_qualification_name=this.qualificationById(val.qualification) \r\n const control=this.generalForm.controls['list_value']['controls'][this.updateIndex_indi]\r\n control.patchValue({\r\n \r\n applicant_title_name:val.applicant_title_name,\r\n applicant_name:val.applicant_name,\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:val.age,\r\n qualification:val.qualification,\r\n course_name:val.course_name,\r\n \r\n individuals_order_id:old.individuals_order_id,\r\n is_new:old.is_new,\r\n is_active:old.is_active,\r\n pd_co_applicant_id:old.pd_co_applicant_id, \r\n \r\n qualification_name:c_qualification_name\r\n });\r\n this.buttonClick=false;\r\n console.log(this.generalForm.controls.list_value['controls'])\r\n // this.generalForm.controls.list_value.value.scrollToTop();\r\n // this.generalForm.controls['list_value']._scrollContent;\r\n //this.myinput._scrollContent();\r\n \r\n \r\n console.log(\"values\",val)\r\n console.log(\"old\",old);\r\n console.log(control);\r\n \r\n }\r\n }\r\n else if(v=='2'){\r\n if(!this.generalForm.controls['companies'].valid)\r\n {\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory Fields Marked with '*\")\r\n }\r\n else{\r\n let val=this.generalForm.controls.companies.value[0]\r\n var c_business_name=this.businessEntityById(val.business_entity_type)\r\n const control=this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]\r\n control.patchValue({\r\n company_name:val.company_name,\r\n // company_order_id:[control.length+1],\r\n is_company_applicant:val.is_company_applicant,\r\n business_entity_type:val.business_entity_type,\r\n business_entity_type_other:val.business_entity_type_other,\r\n // is_new:true,\r\n // is_active:true,\r\n //company_messrs_name:['M/s'],\r\n \r\n business_years:val.business_years,\r\n business_month:val.business_month,\r\n business_date_object:val.business_date_object,\r\n\r\n business_entity_type_name:c_business_name\r\n })\r\n this.h_companies=false\r\n console.log(this.generalForm.controls['company_value']['controls'][this.updateIndex_comp])\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n delete(v,controlVal):void{\r\n //console.log(\"controlVAl\",controlVal)\r\n // const control=this.generalForm.controls['individuals'];\r\n //control.removeAt(i);\r\n //this.data=this.generalForm.value.individuals;\r\n this.cart.push(this.generalForm.value.individuals);\r\n this.data=Object.assign(this.cart);\r\n // this.data=Object.assign(this.generalForm.value.individuals)\r\n this.datajson=JSON.stringify(this.cart)\r\n if(v=='1')\r\n {let values=this.generalForm.controls['individuals'].value[0]\r\n let control=(this.generalForm.controls['individuals']).at(0) as FormArray;\r\n // console.log(\"full\",this.generalForm)\r\n // console.log(control,values);\r\n if(values.is_person_met == true && values.is_applicant != true){\r\n controlVal.controls['age'].clearValidators();\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].clearValidators();\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met != true){\r\n // console.log(\"1st\");\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(values.is_person_met == true && values.is_applicant == true){\r\n controlVal.controls['age'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['age'].updateValueAndValidity()\r\n\r\n controlVal.controls['qualification'].setValidators(Validators.compose([Validators.required]));\r\n controlVal.controls['qualification'].updateValueAndValidity()\r\n }\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initlistv(this.generalForm.value.individuals,'ins')\r\n this.initPersonRelationship('');\r\n }\r\n }\r\n else if(v=='2')\r\n {\r\n if(!this.generalForm.controls['companies'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initCompanyValue(this.generalForm.value.companies,'ins')\r\n }\r\n }\r\n \r\n }\r\n removeList(i,index){\r\n if(index=='1')\r\n {\r\n //For List List_value(Individuals)\r\n const control=this.generalForm.controls['list_value'];\r\n control.value[i].is_active=false;\r\n this.OldData_indi.push(control.value[i])\r\n control.removeAt(i);\r\n //For Person RelationShip auto Delete\r\n const control1=this.generalForm.controls['persons_with_relationships'];\r\n control1.removeAt(i);\r\n \r\n }\r\n if(index==2){\r\n //For Company_values(Companies)\r\n const control=this.generalForm.controls['company_value']\r\n control.value[i].is_active=false\r\n var vla=control.value[i]\r\n this.OldData.push(vla);\r\n control.removeAt(i);\r\n \r\n\r\n // let control: any = this.generalForm.get('companies') as FormArray;\r\n //this.generalForm.controls['companies']\r\n //control.controls['is_active'].setValue(false);\r\n //control.controls[i].clearValidators();\r\n //control.controls[i].updateValueAndValidity();\r\n //control.clear\r\n // control.controls[i].is_active.setValue(false);\r\n /* control.controls[i].controls.company_name.clearValidators();\r\n control.controls[i].controls.company_name.updateValueAndValidity();\r\n control.controls[i].controls.business_years.clearValidators();\r\n control.controls[i].controls.business_years.updateValueAndValidity();\r\n control.controls[i].controls.business_entity_type.clearValidators();\r\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\r\n }\r\n if(index==\"companyrel\")\r\n {\r\n //For company_relationship\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.removeAt(i);\r\n }\r\n }\r\n \r\n \r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\r\n if(res['dataStatus']==true)\r\n {\r\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\r\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\r\n });\r\n\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.titleList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n }\r\n\r\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\r\n {\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n if(checkApplicantExist.length > 0)\r\n {\r\n checkApplicantExist.forEach(val => {\r\n applicantControl.push(this.createApplicant(val));\r\n });\r\n \r\n }\r\n if(exist_applicant_relation.length > 0){\r\n exist_applicant_relation.forEach(val => {\r\n relationControl.push(this.createApplicantRelation(val));\r\n //push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }\r\n }\r\n\r\n createApplicant(elementValue:any){\r\n return this.fb.group({\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name],\r\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\r\n });\r\n }\r\n\r\n coapplicantChange(event,index,item)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n if(item.exist_status.value)\r\n {\r\n if(item.pd_co_applicant_id.value==0){\r\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\r\n modal.onDidDismiss(data => {\r\n if(data!=1){\r\n data.otherName.forEach(val=>\r\n {\r\n\r\n let applicant_details: any= {'pd_co_applicant_id':val.pd_co_applicant_id,'applicant_name':val.applicant_name,'applicant_relation_to':'','relation':'','company_name':'','company_relation':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n \r\n }\r\n });\r\n modal.present();\r\n }else\r\n {\r\n \r\n let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(item.applicant_name.value);\r\n }\r\n }\r\n else\r\n {\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let pos_id = relationControl.value.map(e=> \r\n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\r\n if(item.pd_co_applicant_id.value !=0){\r\n relationControl.removeAt(pos_id);\r\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\r\n this.fetch_related_details.splice(pos_name, 1); \r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n }\r\n // remove related to details\r\n \r\n }\r\n\r\n }\r\n\r\n createApplicantRelation(elementValue: any) {\r\n return this.fb.group({\r\n \r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\r\n company_relationship: [elementValue.company_relationship],\r\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\r\n relationship: [elementValue.relationship],\r\n });\r\n }\r\n // temparr=[];\r\n removereferance(index)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n \r\n \r\n relationControl.removeAt(index);\r\n // this.temparr = [];\r\n \r\n }\r\n // createApplicateOthers()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // Name:\r\n // })\r\n // }\r\n ConvertMonthintoYearforBusiness(e,controlIndex,flag){\r\n \r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\nif(flag==1){\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control = control.controls[controlIndex];\r\n let business_year = control.controls.business_years.value;\r\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n control.controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag==2){\r\n let ri_year = this.generalForm.controls.rental_income_rcv_in_years.value;\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(+ri_year + +Math.floor(converted_year));\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(Math.floor(converted_month));\r\n }\r\n}\r\ngetDateObjects(values: any, controlIndex) {\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control.controls['business_years']=''\r\n control.controls['business_month']=''\r\n control = control.controls[controlIndex];\r\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\r\n let date=new Date()\r\n\r\n let curr_date=date.getFullYear()+'/'+('0'+(date.getMonth()+1))+'/'+('0'+date.getDate())\r\n console.log(\"current date\",curr_date);\r\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\r\n console.log(\"pd date\",pd_initiation_date);\r\n console.log(\"selected date\",selected_date)\r\n /*WORKING STATEMENT*/\r\n let months = date.getMonth() - values.getMonth() + (12 * (date.getFullYear() - values.getFullYear()));\r\n\r\nif (months >= 12) {\r\n console.log('years:', (months - (months %12))/12 );\r\n console.log(\"moth\",months%12);\r\n} else {\r\n console.log('only months',months);\r\n}\r\ncontrol.controls['business_years'].setValue((months - (months %12))/12);\r\n control.controls['business_month'].setValue(months%12);\r\n/*END OF WORKING STATEMENT*/\r\n //let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\r\n// function monthDiff(d1, d2) {\r\n// var months;\r\n// months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n// months -= d1.getMonth() + 1;\r\n// months += d2.getMonth();\r\n// return months <= 0 ? 0 : months;\r\n \r\n// }\r\n// console.log(\"new\",monthDiff( new Date(2008, 10, 4), new Date(2010, 2, 12) )) // March 12th, 2010);\r\n //var start_date=moment(start_date)\r\n /* old working statement*/\r\n // let diffInMs: number = Date.parse(selected_date) - Date.parse(curr_date);\r\n // let diff: number = Math.floor(diffInMs / 1000);\r\n // console.log(\"diff\",diff)\r\n // diff /= (60 * 60 * 24 * 30);\r\n // console.log(\"diff /\",diff)\r\n // diff=Math.abs(Math.round(diff));\r\n // control.controls['business_years'].setValue(0);\r\n // control.controls['business_month'].setValue(0);\r\n \r\n // if(diff){\r\n // control.controls['business_years'].setValue(Math.floor(diff / 12));\r\n // control.controls['business_month'].setValue(Math.floor(diff % 12));\r\n // }\r\n\r\n}\r\ntemp: number = 0;\r\n\r\n submitData(answerData)\r\n {\r\nconsole.log('1)',this.temp);\r\n let saveRecords:any={}\r\n var valuesData_indi:any=[]\r\n\r\n var valuesData:any=[]\r\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\r\n return answerData.list_value[key]\r\n })\r\n existData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n if(this.OldData_indi.length>0){\r\n this.OldData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n }\r\n\r\n var existData=Object.keys(answerData.company_value).map(function(key){\r\n return answerData.company_value[key]\r\n })\r\n existData.forEach((element,index)=>{\r\n console.log(\"company value\",element)\r\n if(element.business_entity_type=='' || element.business_entity_type == null){\r\n this.toast.pdTriggerappmessage(\"Please choose business entity type for each companies\");\r\n this.editCompanies(index);\r\n // this.focus_business_entity.focused=true;\r\n return;\r\n }\r\n valuesData.push(element)\r\n })\r\n if(this.OldData.length>0){\r\n this.OldData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n }\r\n \r\n if (valuesData_indi.length > 0) {\r\n console.log('2)',this.temp);\r\n valuesData_indi.forEach((val, index) => {\r\n if (val.is_person_met == false) {\r\n this.temp++;\r\n }\r\n console.log('3)',this.temp);\r\n });\r\n console.log('4)',this.temp,'length',valuesData_indi.length);\r\n if (this.temp == valuesData_indi.length) {\r\n console.log('5)',this.temp);\r\n this.toast.pdTriggerappmessage('Please Choose Name of Person Met.!');\r\n this.temp = 0;\r\n console.log('6)',this.temp);\r\n return;\r\n }\r\n }\r\n\r\n if (this.customer_segment_abbr != 'SE-RI') {\r\n saveRecords.companies=valuesData\r\n saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.rental_income_rcv_in_years = null;\r\n saveRecords.rental_income_rcv_in_month = null;\r\n //saveRecords.applicant_relation=answerData.applicant_relation; \r\n }\r\n else if (this.customer_segment_abbr == 'SE-RI') {\r\n saveRecords.companies = [];\r\n saveRecords.company_with_relationships = [];\r\n saveRecords.rental_income_rcv_in_years = answerData.rental_income_rcv_in_years;\r\n saveRecords.rental_income_rcv_in_month = answerData.rental_income_rcv_in_month;\r\n //saveRecords.applicant_relation=answerData.applicant_relation;\r\n }\r\n\r\n saveRecords.individuals=valuesData_indi;\r\n // saveRecords.companies=valuesData\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.fk_createdby=this.users; \r\n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\r\n // saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.general_remark=answerData.general_remark;\r\n \r\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\r\n if(dataResult['dataStatus']==true){\r\n //TO CHANGE THE FORM STATE \r\n this.generalForm.reset(this.generalForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },3000);\r\n \r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n })\r\n \r\n /* Old Data\r\n if(this.generalForm.valid)\r\n {\r\n let saveRecords:any = {}\r\n let applicantList:any=[];\r\n let applicantRelationList:any=[];\r\n // this for applicant list for selected\r\n answerData.applicant_list.forEach((element,key) => {\r\n if(element.exist_status==1){\r\n applicantList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n }) \r\n }\r\n });\r\n // this is for selected applicant relation \r\n answerData.applicant_relation.forEach((element,key) => {\r\n applicantRelationList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n \"company_name\":element.company_name,\r\n \"company_relationship\":element.company_relationship,\r\n \"applicant_relation_to\":element.applicant_relation_to,\r\n \"relationship\":element.relationship,\r\n }) \r\n });\r\n \r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.general_remark=answerData.general_remark;\r\n saveRecords.selected_applicant=applicantList;\r\n saveRecords.applicant_relation=applicantRelationList;\r\n saveRecords.fk_createdby = this.users;\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n } \r\n })\r\n }*/\r\n }\r\n\r\n getGeneralForm()\r\n {\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n this.data_all=res['records'];\r\n let exist_companies:any;\r\n let exist_company_with_relationship:any;\r\n let companyControl = this.generalForm.get('company_value') as FormArray;\r\n companyControl.controls=[]\r\n this.lengthv=this.data_all;\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n \r\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\r\n //\r\n\r\n var arrlist_indi:any=[] \r\n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\r\n return res['records'].individuals[key];\r\n }) \r\n if(exist_individuals.length>0){\r\n exist_individuals.forEach((element)=>{\r\n if(element.is_active != false){\r\n arrlist_indi.push(element);\r\n }\r\n else{\r\n this.OldData_indi.push(element)\r\n }\r\n })\r\n }\r\n this.initlistv(arrlist_indi,'get')\r\n \r\n \r\n if(this.data_all.persons_with_relationships != ''){\r\n this.initPersonRelationship(this.data_all.persons_with_relationships);\r\n }\r\n //Create Company with Relationship\r\n exist_company_with_relationship=Object.keys(res['records'].company_with_relationships).map(function(key){\r\n return res['records'].company_with_relationships[key];\r\n })\r\n console.log(\"Customer Segment\",this.customer_segment_abbr)\r\n if(this.customer_segment_abbr !='SE-RI')\r\n {\r\n if(exist_company_with_relationship.length>0){\r\n // exist_company_with_relationship.forEach(key=>{\r\n // console.log(\"company relation\",key)\r\n // this.initCompanyRelationShip(key)\r\n // })\r\n this.initCompanyRelationShip(exist_company_with_relationship);\r\n }\r\n else if(exist_company_with_relationship.length==0){\r\n this.initCompanyRelationShip('');\r\n }\r\n //create Companies\r\n exist_companies=Object.keys(res['records'].companies).map(function(key){\r\n return res['records'].companies[key];\r\n })\r\n var arraylis:any=[]\r\n if(exist_companies.length>0){\r\n exist_companies.forEach((element,cindex)=>{\r\n if(element.is_active!=false){\r\n arraylis.push(element);\r\n }\r\n else{\r\n this.OldData.push(element);\r\n }\r\n })\r\n \r\n }\r\n this.initCompanyValue(arraylis,'get');\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(null);\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(null);\r\n }\r\n else if(this.customer_segment_abbr == 'SE-RI'){\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(res['records'].rental_income_rcv_in_years ? res['records'].rental_income_rcv_in_years:'');\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(res['records'].rental_income_rcv_in_month ? res['records'].rental_income_rcv_in_month:'');\r\n\r\n }\r\n\r\n // var arraylis:any=[]\r\n \r\n \r\n // if(exist_companies.length>0){\r\n // exist_companies.forEach((element,cindex)=>{\r\n // if(element.is_active!=false){\r\n // arraylis.push(element);\r\n // }\r\n // else{\r\n // this.OldData.push(element);\r\n // }\r\n // })\r\n \r\n // }\r\n // this.initCompanyValue(arraylis,'get');\r\n \r\n \r\n\r\n // if(this.data_all.company_with_relationships != ''){\r\n // this.initCompanyRelationShip(this.data_all.company_with_relationships);\r\n // }\r\n \r\n }\r\n else{\r\n console.log(\"Else data\",this.pd_applicants_details)\r\n this.pd_applicants_details.forEach((datas,index)=>{\r\n datas.is_applicant=true,\r\n datas.is_person_met = false;\r\n datas.is_new = false;\r\n datas.is_main_applicant = datas.applicant_type == '1' ? true : false;\r\n datas.is_active = true;\r\n datas.individuals_order_id = index + 1;\r\n // company_order_id = index+1,\r\n datas.age = '',\r\n datas.qualification = '',\r\n datas.course_name = ''\r\n if (datas.company_name != '' && datas.company_name != null) {\r\n console.log(\"company\");\r\n let setCompanyValues: any = { company_order_id: companyControl.controls.length + 1, company_name: datas.company_name, is_company_applicant: datas.is_company_applicant, business_entity_type: datas.business_entity_type, business_entity_type_other: datas.business_entity_type_other, business_years: datas.business_years, business_month: datas.business_month, business_date_object: datas.business_date_object, is_new: datas.is_new, is_active: true }\r\n companyControl.push(this.createCompanies(setCompanyValues))\r\n }\r\n });\r\n \r\n // this.lengthv.push(\"individuals\")\r\n // this.lengthv.push(\"companies\")\r\n // this.lengthv.push('persons_with_relationships')\r\n //this.lengthv.push(\"\")\r\n console.log(\"applicant\",this.lengthv)\r\n this.initlistv(this.pd_applicants_details,'get');\r\n this.initPersonRelationship(this.pd_applicants_details)\r\n // this.initCompanyValue(this.pd_applicants_details,'get');\r\n this.initCompanyRelationShip('')\r\n\r\n }\r\n })\r\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n let generalDetails = res['records'];\r\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\r\n\r\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\r\n {\r\n return res['records'].applicant_relation[key];\r\n });\r\n\r\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\r\n {\r\n return res['records'].selected_applicant[key].pd_co_applicant_id;\r\n });\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\r\n let checkApplicantExist =actual_applicant.map((id, index) => {\r\n if (selected_applicant.indexOf(id) < 0) {\r\n this.pd_applicants_details[index].exist_status=0;\r\n return this.pd_applicants_details[index];\r\n }\r\n else{\r\n this.pd_applicants_details[index].exist_status=1;\r\n this.pd_applicants_details[index].applicant_relation_to='';\r\n this.pd_applicants_details[index].relation='';\r\n return this.pd_applicants_details[index];\r\n }\r\n }).filter(item => item != undefined);\r\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\r\n }else\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n }\r\n })*/\r\n }\r\n createCompanies(elementValue:any) {\r\n var name=this.businessEntityById(elementValue.business_entity_type)\r\n return this.fb.group({\r\n company_order_id: [elementValue.company_order_id],\r\n company_name: [elementValue.company_name,],\r\n company_messrs_name: ['M/s'],\r\n is_company_applicant:[elementValue.is_company_applicant],\r\n business_entity_type :[elementValue.business_entity_type,Validators.required],\r\n business_years: [elementValue.business_years, Validators.required],\r\n business_month: [elementValue.business_month],\r\n business_date_object: [elementValue.business_date_object],\r\n is_active: [elementValue.is_active],\r\n is_new:[elementValue.is_new],\r\n business_entity_type_name:[name]\r\n \r\n });\r\n }\r\n\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n \r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-other-applicant',\r\n templateUrl: 'pd-question-general-other-applicant.html',\r\n})\r\nexport class PdQuestionGeneralOtherApplicantPage {\r\n otherForm:FormGroup;\r\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\r\n this.otherForm = this.fb.group(\r\n {\r\n otherName:this.fb.array([]),\r\n })\r\n this.addmore();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\r\n }\r\n\r\n createName(elementValue:any)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name, Validators.required],\r\n })\r\n }\r\n\r\n addmore()\r\n {\r\n if(this.otherForm.valid)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n control.push(this.createName(this.applicantInfo));\r\n }\r\n }\r\n\r\n deleteappdata(index)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n if(control.length==1){\r\n control.reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.viewCtrl.dismiss(1); \r\n }\r\n submitData(answerData)\r\n {\r\n if(this.otherForm.valid){\r\n this.viewCtrl.dismiss(this.otherForm.value);\r\n }\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Generated class for the PdPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'pdPipe',\r\n})\r\nexport class PdPipe implements PipeTransform {\r\n /**\r\n * Takes a value and makes it lowercase.\r\n */\r\n transform(value: any, searchItem:any):any {\r\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\r\n if(findExistIndex.length>0){\r\n let check = value.filter(function(fVal){\r\n return !findExistIndex.some(function(sVal){\r\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\r\n }\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\nimport {CameraProvider} from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionNeighbourHoodPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-neighbour-hood',\r\n templateUrl: 'pd-question-neighbour-hood.html',\r\n})\r\nexport class PdQuestionNeighbourHoodPage {\r\n\r\n frequency: any;\r\n relationBusiness: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n neighbourhoodForm:FormGroup;\r\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\r\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\r\n {'id': 2,'name': \"Negative\"},\r\n {'id': 3,'name': \"Insufficient information provided\"}];\r\n\r\n // amtInWords:any=[];\r\n applicants:any;\r\n isDisplay:any = [];\r\n isDisplay2:any = [];\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n isOrganisationOwner: any=[];\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,\r\n public toast:ToastProvider,public fb:FormBuilder, \r\n public constant: ConstantsProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider)\r\n {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2 && appt.pd_co_applicant_id != 0);\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.neighbourhoodForm = this.fb.group(\r\n {\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n check_type:0,\r\n neighbourhood_list: this.fb.array([]),\r\n neighbourhood_status:[''],\r\n referencecheck_list: this.fb.array([]),\r\n neighbour_reference_remark:'' \r\n })\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionNeighbourHoodPage');\r\n this.getneighbourhood();\r\n this.getPDImages();\r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this.neighbourhoodForm.dirty);\r\n if(this.neighbourhoodForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Data will be Lost\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus==true){\r\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\r\n console.log(this.existCompanyList)\r\n }\r\n let modifyCompanyList:any=[]\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList=this.existCompanyList.map(element=>{\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\r\n \r\n }\r\n let modifyApplicantList:any=[]\r\n if(this.applicants.length>0){\r\n modifyApplicantList=this.applicants.map(element=>{\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n })\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\r\n })\r\n }\r\n inWords(val,i)\r\n {\r\n // this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n }\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e,flag){\r\n if(flag == 2){\r\n\r\n let year = itemrow.controls.year_relation_applicant.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag == 1){\r\n \r\n let year = itemrow.controls.how_long_do_know_in_year.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\r\n }\r\n}\r\n\r\ntoggleVisibility(e,index,flag){ \r\n let val\r\n \r\n if(flag == 1){\r\n this.isDisplay[index] = e;\r\n }\r\n else if(flag==2){\r\n this.isDisplay2[index] = e;\r\n }\r\n}\r\n\r\ncheckOthers(values){\r\n if(values!=null) {\r\n return values==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\n\r\n\r\ngetOtherOrganisationOwner(value,i) {\r\n //console.log('value',value,'I',i);\r\nlet Ctrls = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n //console.log('ParCtrls',Ctrls);\r\nlet ChdCtrls:any = Ctrls.controls[i];\r\n // console.log('ChdCtrls',ChdCtrls);\r\n // return;\r\n\r\n\r\nlet Avaliablity = 1;\r\nconsole.log('val',value);\r\nif(value.length>0){\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n}\r\nif(Avaliablity == 0){\r\n// console.log('if Avaliablity',Avaliablity);\r\n\r\n ChdCtrls.controls.other_organisation_owner.setValidators([Validators.required]);\r\n this.isOrganisationOwner[i] = true;\r\n}else if(Avaliablity == 1){\r\n// console.log('else Avaliablity',Avaliablity);\r\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n ChdCtrls.controls.other_organisation_owner.setValue('');\r\n ChdCtrls.controls.other_organisation_owner.clearValidators();\r\n this.isOrganisationOwner[i] = false;\r\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n}\r\n \r\nChdCtrls.controls.other_organisation_owner.updateValueAndValidity(); \r\n}\r\n createreferance()\r\n {\r\n return this.fb.group({\r\n reference_name: [null],\r\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n statecode:[null],\r\n landline: [null],\r\n location:[null],\r\n relationship_with:[null],\r\n others:[null],\r\n year_relation_applicant:[null],\r\n months_relation_applicant:[null],\r\n business_volume_amount:[null],\r\n business_volume_unit:[null],\r\n others_unit:[null],\r\n reference_final_remarks:[null],\r\n specify_final_remark:[null]\r\n });\r\n }\r\n addreferance()\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n control.push(this.createreferance());\r\n }\r\n\r\n removereferance(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n createNeighbourhood(){\r\n return this.fb.group({\r\n neighbourhood_name: [null],\r\n do_know: [''],\r\n \r\n how_long_do_know_in_year: [''],\r\n how_long_do_know_in_month:[''],\r\n organisation_owner: [''],\r\n is_applicant_owner:[''],\r\n other_organisation_owner:[''],\r\n did_not_know_the_business_operation:[''],\r\n did_not_know_the_owner:[''],\r\n });\r\n }\r\n\r\n addneighbourhood()\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n control.push(this.createNeighbourhood());\r\n }\r\n\r\n removeneighbourhood(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n submitData(answerData)\r\n {\r\n \r\n const neighbourhoodControl : FormGroup = this.neighbourhoodForm.controls['neighbourhood_list'] as FormGroup;\r\n let NbhdCtrlLength: any = neighbourhoodControl.controls.length;\r\n // this.neighbourhoodForm.controls['neighbourhood_status'].setValidators([Validators.required]);\r\n // this.neighbourhoodForm.controls['neighbourhood_status'].updateValueAndValidity();\r\n\r\n // this.neighbourhoodForm.controls['neighbour_reference_remark'].setValidators([Validators.required])\r\n // this.neighbourhoodForm.controls['neighbour_reference_remark'].updateValueAndValidity();\r\n if (NbhdCtrlLength > 0) {\r\n let Ncnt = 0;\r\n while(Ncnt < NbhdCtrlLength){\r\n\r\n let nbhdChildCtrl : any = neighbourhoodControl.controls[Ncnt]; \r\n\r\n // nbhdChildCtrl.controls['neighbourhood_name'].setValidators([Validators.required]);\r\n // nbhdChildCtrl.controls['neighbourhood_name'].updateValueAndValidity();\r\n\r\n // nbhdChildCtrl.controls['do_know'].setValidators([Validators.required]);\r\n // nbhdChildCtrl.controls['do_know'].updateValueAndValidity();\r\n \r\n\r\n if(nbhdChildCtrl.controls.do_know.value != ''){\r\n // console.log('nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\r\n if(nbhdChildCtrl.controls.did_not_know_the_business_operation.value == '' || nbhdChildCtrl.controls.did_not_know_the_business_operation.value == false){\r\n // console.log('IF nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\r\n // nbhdChildCtrl.controls['how_long_do_know_in_month'].setValidators([Validators.required]);\r\n // nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity();\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].setValidators([Validators.required]);\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); \r\n }\r\n else if(nbhdChildCtrl.controls.did_not_know_the_business_operation.value == true){\r\n // console.log('ELSE nbhdChildCtrl.controls.did_not_know_the_business_operation.value',nbhdChildCtrl.controls.did_not_know_the_business_operation.value)\r\n nbhdChildCtrl.controls['how_long_do_know_in_month'].setValue('');\r\n // nbhdChildCtrl.controls['how_long_do_know_in_month'].clearValidators();\r\n nbhdChildCtrl.controls['how_long_do_know_in_month'].updateValueAndValidity();\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].setValue('');\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].clearValidators();\r\n nbhdChildCtrl.controls['how_long_do_know_in_year'].updateValueAndValidity(); \r\n }\r\n\r\n if(nbhdChildCtrl.controls.did_not_know_the_owner.value == '' || nbhdChildCtrl.controls.did_not_know_the_owner.value == false){\r\n nbhdChildCtrl.controls['organisation_owner'].setValidators([Validators.required]);\r\n nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity();\r\n }\r\n else if(nbhdChildCtrl.controls.did_not_know_the_owner.value == true){\r\n nbhdChildCtrl.controls['organisation_owner'].setValue('');\r\n nbhdChildCtrl.controls['organisation_owner'].clearValidators();\r\n nbhdChildCtrl.controls['organisation_owner'].updateValueAndValidity();\r\n }\r\n }\r\n Ncnt++;\r\n }\r\n this.neighbourhoodForm.controls.neighbourhood_status.setValidators([Validators.required]);\r\n this.neighbourhoodForm.controls.neighbourhood_status.updateValueAndValidity();\r\n }\r\n\r\n\r\n if (this.neighbourhoodForm.invalid) {\r\n // this.validateAllFormFields(this._neighbourhoodForm);\r\n this.toast.pdTriggerappmessage('Please Fill All Mandatory Fields.!');\r\n return;\r\n }\r\n \r\n let saveRecords:any = {}\r\n let referencecheck_list:any=[];\r\n let neighbourhood_list:any=[];\r\n // if(answerData.check_type==0){\r\n answerData.neighbourhood_list.forEach((element,key) => {\r\n neighbourhood_list.push({\r\n \"neighbourhood_name\":element.neighbourhood_name,\r\n \"do_know\":element.do_know,\r\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\r\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\r\n \"is_applicant_owner\":element.is_applicant_owner,\r\n \"organisation_owner\":element.organisation_owner,\r\n \"other_organisation_owner\":element.other_organisation_owner,\r\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\r\n \"did_not_know_the_owner\":element.did_not_know_the_owner\r\n }) \r\n });\r\n saveRecords.neighbourhood_list=neighbourhood_list;\r\n \r\n // }\r\n // else{\r\n // this for referencecheck_list for selected\r\n answerData.referencecheck_list.forEach((element,key) => {\r\n referencecheck_list.push({\r\n \"reference_name\":element.reference_name,\r\n \"mobile\":element.mobile,\r\n \"landline\":element.statecode+'-'+element.landline,\r\n \"location\":element.location,\r\n \"relationship_with\":element.relationship_with,\r\n \"others\":element.others,\r\n \"year_relation_applicant\":element.year_relation_applicant,\r\n \"months_relation_applicant\":element.months_relation_applicant,\r\n \"business_volume_amount\":element.business_volume_amount,\r\n \"business_volume_unit\":element.business_volume_unit,\r\n \"others_unit\":element.others_unit,\r\n \"reference_final_remarks\":element.reference_final_remarks,\r\n \"specify_final_remark\":element.specify_final_remark\r\n }) \r\n });\r\n saveRecords.referencecheck_list=referencecheck_list;\r\n \r\n // }\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n // saveRecords.check_type=answerData.check_type;\r\n saveRecords.fk_createdby = this.users;\r\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\r\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\r\n\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n //TO CHANGE THE FORM STATE \r\n this.neighbourhoodForm.reset(this.neighbourhoodForm.value);\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n \r\n }\r\n\r\n getneighbourhood()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \r\n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let neighbourDetails = res['records'];\r\n // neighbourDetails.neighbourhood_list.=''\r\n \r\n // if(neighbourDetails.check_type==0)\r\n // {\r\n \r\n this.neighbourhoodForm.controls['check_type'].setValue(0);//this one for mobile only\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\r\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\r\n {\r\n return res['records'].neighbourhood_list[key];\r\n });\r\n console.log('neighbourhood_list',neighbourhood_list);\r\n console.log('length',neighbourhood_list.length);\r\n if(neighbourhood_list.length > 0){\r\n\r\n \r\n neighbourhood_list.forEach((element,index)=>\r\n {\r\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\r\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\r\n neicontrol.push(this.createNeighbourhood());\r\n this.getOtherOrganisationOwner(element.organisation_owner,index)\r\n });\r\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\r\n \r\n\r\n }else\r\n {\r\n this.addneighbourhood();\r\n }\r\n // if(neighbourDetails.check_type==1)\r\n // {\r\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\r\n {\r\n return res['records'].referencecheck_list[key];\r\n });\r\n console.log('referencecheck_list',referencecheck_list);\r\n console.log('length',referencecheck_list.length);\r\n if(referencecheck_list.length > 0){\r\n // this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n referencecheck_list.forEach((val,index)=>\r\n {\r\n let statecodesearch = val.landline.search(\"-\");\r\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\r\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\r\n control.push(this.createreferance());\r\n // this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\r\n });\r\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\r\n \r\n }else\r\n {\r\n this.addreferance();\r\n }\r\n }else\r\n {\r\n this.addneighbourhood();\r\n this.addreferance();\r\n }\r\n })\r\n }\r\n\r\n /*Image SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n // this.imageDisplay.push(this.imageBucket)\r\n // console.log(\"length\",this.imageDisplay.length)\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n \r\n }\r\n\r\n\r\n\r\n}\r\n \n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,Validators,FormArray} from '@angular/forms';\r\n// import { t } from '@angular/core/src/render3';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { CameraProvider } from '../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionFinalRemarkPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-final-remark',\r\n templateUrl: 'pd-question-final-remark.html',\r\n})\r\nexport class PdQuestionFinalRemarkPage {\r\n\r\n m_remarkTypeCustomerBehaviour:any=[];\r\n\r\n users:any;\r\n pdDetails:any;\r\n pdid:any;\r\n FormId:any;\r\n _finalRemarkForm:FormGroup;\r\n m_recommendationList: any=[];\r\n imageDisplay: any=[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder,\r\n public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,\r\n public toast:ToastProvider,private cameraProvider:CameraProvider,private loading:LoadingProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=aws.getlocale()\r\n \r\n this._finalRemarkForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId.form_id],\r\n final_custormer_remark_type:[null,Validators.compose([Validators.required])],\r\n final_other_customer_behaviour:[null],\r\n is_service_provided:[null],\r\n final_form_remarks:[null],\r\n pd_officers_recommendation:[null],\r\n others_pd_officers_recommendation:[''],\r\n // reason_for_positive:[''],\r\n // reason_for_negative:[''],\r\n // reason_for_refer_to_credit:[''],\r\n recommendation_positive:this.fb.array([]),\r\n recommendation_negative:this.fb.array([]),\r\n recommendation_refer_to_credit:this.fb.array([])\r\n \r\n })\r\n this.getDropDown();\r\n \r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\r\n this.getFinalRemark();\r\n this.getPDImages();\r\n \r\n }\r\n ionViewCanLeave(){\r\n console.log(\"dirty\",this._finalRemarkForm.dirty);\r\n if(this._finalRemarkForm.dirty){\r\n \r\n return new Promise((resolve,reject)=>{\r\n let alert=this.toast.setAlert(\"Form is Modified\",\"Are you sure want to Go Back\")\r\n alert.present();\r\n alert.onDidDismiss((data)=>{\r\n console.log(\"d\",data);\r\n if(data== false){\r\n reject();\r\n return true;\r\n }\r\n else{\r\n //AFTER FORM DIRTY CHECK\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve1, reject1) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the Save Image button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n //reject1();\r\n reject();\r\n }\r\n else {\r\n resolve1();\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n resolve();\r\n }\r\n })\r\n })\r\n \r\n }\r\n else{\r\n //REGULAR CHECK FOR IMAGE IS CAPTURED\r\n if (this.imageBucket.length > 0) {\r\n return new Promise((resolve, reject) => {\r\n let alert = this.toast.setAlert(\"Captured Images are not Saved\", \"Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?\")\r\n alert.present();\r\n alert.onDidDismiss((data) => {\r\n console.log(\"d\", data);\r\n if (data == false) {\r\n reject();\r\n }\r\n else {\r\n resolve();\r\n }\r\n })\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\ngetDropDown(){\r\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\r\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\r\n })\r\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\r\n this.m_recommendationList=res['records']\r\n })\r\n}\r\ncreateRecomendationPositive(data){\r\n console.log(\"val\",data)\r\n return this.fb.group({\r\n reason_for_positive: data != null ? [data.reason_for_positive] : ['']\r\n })\r\n}\r\naddRecomendationPositive(){\r\n const control= this._finalRemarkForm.controls['recommendation_positive'];\r\n control.push(this.createRecomendationPositive(null))\r\n}\r\nremoveRecomendationPositive(index){\r\n const control= this._finalRemarkForm.controls['recommendation_positive'];\r\n control.removeAt(index);\r\n}\r\ncreateRecomendationNegative(data){\r\n return this.fb.group({\r\n reason_for_negative:data !=null ? [data.reason_for_negative] : ['']\r\n })\r\n}\r\naddRecomendationNegative(){\r\n const control= this._finalRemarkForm.controls['recommendation_negative']\r\n control.push(this.createRecomendationNegative(null))\r\n}\r\nremoveRecomendationNegative(index){\r\n const control= this._finalRemarkForm.controls['recommendation_negative']\r\n control.removeAt(index)\r\n}\r\ncreateRecomendationCreditRefer(data){\r\n return this.fb.group({\r\n reason_for_refer_to_credit:data!=null ? [data.reason_for_refer_to_credit] : ['']\r\n })\r\n}\r\naddRecomendationCreditRefer(){\r\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\r\n control.push(this.createRecomendationCreditRefer(null));\r\n}\r\nremoveRecomendationCreditRefer(index){\r\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\r\n control.removeAt(index)\r\n}\r\n\r\nRecommendationChange(e) {\r\n // console.log('Event',e);\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n\r\n if (e == 1) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n }\r\n }\r\n \r\n\r\n }\r\n if (e == 2) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n // this._finalRemarkForm.controls['reason_for_positive'].setValidators([Validators.required]);\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[i];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValidators([Validators.required]);\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n if (e == 3) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[i];\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValidators([Validators.required]);\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n }\r\n }\r\n // this._finalRemarkForm.controls['reason_for_negative'].setValidators([Validators.required]);\r\n\r\n }\r\n if (e == 4) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[i];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValidators([Validators.required]);\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n }\r\n}\r\n getFinalRemark(){\r\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\r\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\r\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\r\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\r\n this._finalRemarkForm.controls.pd_officers_recommendation.setValue(data['records'].pd_officers_recommendation);\r\n this._finalRemarkForm.controls.others_pd_officers_recommendation.setValue(data['records'].others_pd_officers_recommendation)\r\n // this._finalRemarkForm.controls.reason_for_positive.setValue(data['records'].reason_for_positive)\r\n // this._finalRemarkForm.controls.reason_for_refer_to_credit.setValue(data['records'].reason_for_refer_to_credit);\r\n // this._finalRemarkForm.controls.reason_for_negative.setValue(data['records'].reason_for_negative);\r\n if(data['records'].recommendation_positive.length>0){\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n data['records'].recommendation_positive.forEach((val,index)=>{\r\n console.log(\"for\",val);\r\n if(val.reason_for_positive != null){\r\n let obj={'reason_for_positive':val.reason_for_positive};\r\n recommendationPositiveCtrl.push(this.createRecomendationPositive(obj));\r\n }\r\n })\r\n }\r\n if(data['records'].recommendation_negative.length>0){\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n data['records'].recommendation_negative.forEach((val,index)=>{\r\n console.log(\"for\",val);\r\n let obj={'reason_for_negative':val.reason_for_negative};\r\n recommendationNegativeCtrl.push(this.createRecomendationNegative(obj))\r\n })\r\n }\r\n if(data['records'].recommendation_refer_to_credit.length>0){\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n data['records'].recommendation_refer_to_credit.forEach(val=>{\r\n let obj={'reason_for_refer_to_credit':val.reason_for_refer_to_credit};\r\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(obj))\r\n })\r\n }\r\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\r\n }\r\n else{\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n recommendationPositiveCtrl.push(this.createRecomendationPositive(null));\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n recommendationNegativeCtrl.push(this.createRecomendationNegative(null));\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(null));\r\n }\r\n })\r\n \r\n }\r\n saveFinalRemark(){\r\n if(this._finalRemarkForm.invalid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields marked with '*' \")\r\n }\r\n else{\r\n var answerData=this._finalRemarkForm.value\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n this.qustcat.saveForm(answerData).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n //TO CHANGE THE FORM STATE \r\n this._finalRemarkForm.reset(this._finalRemarkForm.value);\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId.form_id,'company_id':null}\r\n this.qustcat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\n\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':''\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustcat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\r\nimport {PdQuestionAssessedDashPage} from '../../../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessGroupPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-group',\r\n templateUrl: 'pd-question-business-group.html',\r\n})\r\nexport class PdQuestionBusinessGroupPage {\r\n \r\n FormId: any;\r\n pdDetails: any = [];\r\n existCompanyList: any = [];\r\n waitLoading:boolean;\r\n count:number;\r\n forms_order:any=[]\r\n\r\n constructor(public navCtrl: NavController, \r\n public navParams: NavParams,\r\n public qustCat:QuestionCategoryProvider){\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n // this.getCompanyListForBusiness(); \r\n \r\n\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getCompanyListForBusiness(); \r\n //this.colorChange();\r\n\r\n }\r\n \r\n /** To Get General Form's Company List */\r\n getCompanyListForBusiness(): void{\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList = data.records.filter(val =>val.is_active);\r\n // let forms=Object.keys(this.existCompanyList.form_status).map(function (key){\r\n // return this.existCompanyList.form_status[key]\r\n // })\r\n //console.log(forms)\r\n // console.log(this.existCompanyList)\r\n this.existCompanyList.forEach((key,ele)=>{\r\n this.forms_order.push(key.form_status)\r\n })\r\n console.log(this.forms_order)\r\n this.forms_order=this.forms_order.filter(val=>val.isAnswerable == true)\r\n console.log(this.forms_order)\r\n // this.existCompanyList.forEach(element=>{\r\n // console.log(element);\r\n // })\r\n \r\n \r\n // this.existCompanyList.array.forEach(element => {\r\n // console.log(element)\r\n // });\r\n \r\n \r\n // this.forms_order=this.existCompanyList.form_status.filter(val=>val.isAnswerable==true)\r\n if(this.existCompanyList.length==1){\r\n this.count=0\r\n }\r\n this.waitLoading = true;\r\n }\r\n else {\r\n this.waitLoading = false;\r\n }\r\n })\r\n }\r\n \r\n\r\n /** To Get Related Form Details */\r\n OnSelectBusinessGroupForms(details: any, company: any) {\r\n \r\n this.pdDetails.company_id = company.company_order_id;\r\n this.pdDetails.company_name = company.company_name;\r\n this.pdDetails.business_entity_type = company.business_entity_type;\r\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\r\n this.pdDetails.business_years = company.business_years;\r\n this.pdDetails.business_month = company.business_month;\r\n console.log(details.form_id);\r\n \r\n if(details.form_id==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n }\r\n if(details.form_id==2){\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==11){\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==13){\r\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==14){\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==15){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==21){\r\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==22){\r\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==16){\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { createPipe } from '@angular/compiler/src/core';\r\nimport { elementAt, takeUntil } from 'rxjs/operators';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { Subject, ReplaySubject } from 'rxjs';\r\nimport {searchValue} from '../../search'\r\nimport { CameraProvider } from '../../../../providers/common-provider/camera'\r\nimport { LoadingProvider } from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionBusinessInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-info',\r\n templateUrl: 'pd-question-business-info.html',\r\n})\r\nexport class PdQuestionBusinessInfoPage {\r\n stateList:any=[];\r\n users: any;formdetails:any;\r\n FormId: any;\r\n pdDetails: any;\r\n businessForm:FormGroup;\r\n applicants:any=[];\r\n businessEntityTypeList: any ={\r\n business_entity_type_id:String,\r\n business_entity_type_name:String,\r\n sourcsection_labeleName:String\r\n }; \r\n generalExistEntityType:string\r\n generalExistEntityType_other:string;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n pdid:any;\r\n step:number\r\n\r\n relationData: any = [];\r\n industryData: any = [];\r\n activityData: any = [];\r\n relativeNames: any;\r\n companyRelationShipList:any=[]\r\n countryDataList:any=[]\r\n exist_status:any;\r\n \r\n filterCityList : any = [];\r\n errorMessage:any=[];\r\n appxSalaryAmtInwords:any;\r\n titleData:any=[]\r\n personsList:any=[]\r\n \r\n ManufacturingChecked: boolean;\r\n RetailedChecked: boolean;\r\n WholeSalesChecked: boolean;\r\n ServiceChecked: boolean;\r\n ExportFlag: boolean=false;\r\n bankList: any=[];\r\n bankListValue:any=[];\r\n temp_additiondetailofposmachine:any=[]\r\n isreadonlyyear: any=[];\r\n isreadonlymonth: any=[];\r\n EntityTypeFlag:boolean=false\r\n\r\n yearErrorMessage: any = [];\r\n monthErrorMessage: any = [];\r\n errorMessageForExistTotalWorkExperience : any = [];\r\n @ViewChild('shareholding') share_focus:ElementRef\r\n private search:searchValue[]\r\n protected _onDestroy = new Subject();\r\n public filteredCity: ReplaySubject = new ReplaySubject(1);\r\n //public filterCity=new Rx.Subject()\r\n public filteredState:ReplaySubject=new ReplaySubject(1)\r\n cityData:any=[]\r\n cityDataValue:any=[]\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public toast:ToastProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider,\r\n private loading:LoadingProvider,private cameraProvider:CameraProvider) {\r\n this.getStateCityDet();\r\n // console.log(typeof this.filteredCity)\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n \r\n this.formdetails = this.navParams.get('formDetails');\r\n \r\n this.FormId = this.formdetails.form_id;\r\n this.users = this.aws.getlocale();\r\n \r\n this.applicants=this.pdDetails.applicat_details;\r\n \r\n this.generalExistEntityType=this.pdDetails.business_entity_type\r\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\r\n this.generalExistBusinessYear=this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.step=0\r\n \r\n \r\n \r\n // this.initBusinessForm();\r\n // this.getBuisnessDetails();\r\n \r\n this.businessForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId],\r\n company_id: this.pdDetails.company_id,\r\n partners:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n select_business_activity_type:this.fb.array([]),\r\n manufacturing_activity_details:this.fb.array([]),\r\n retail_trading_activity_details:this.fb.array([]),\r\n wholesale_trading_activity_details:this.fb.array([]),\r\n service_provider_activity_details:this.fb.array([]),\r\n // others_activity_details:this.fb.array([]),\r\n export_sale_of_total_sales:[''],\r\n // applicant_use_mobile_wallets:[''],\r\n // applicant_use_pos_machines:[''],\r\n // no_of_pos_machines:[''],\r\n seasonality:[''],\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n employees_appx_salary:[''],\r\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n shop_eat_act_cert: [''],\r\n gst_Regn_cert: [''],\r\n //export_import_cert: [''],\r\n // factory_cert: [''],\r\n //practice_cert: [''],\r\n pf_regn: [''],\r\n esic_regn: [''],\r\n other_documents: [''],\r\n documents: this.fb.array([]),\r\n business_remarks:['']\r\n\r\n\r\n\r\n \r\n })\r\n this.getdropdown();\r\n \r\n// this.initBusinessForm();\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\r\n this.getPDImages();\r\n \r\n \r\n }\r\n getdropdown() {\r\n \r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.relationData.push(val);\r\n }\r\n })\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n let filterList = data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\r\n console.log(\"Filter\",filterList)\r\n if(filterList.length>0){\r\n this.businessEntityTypeList.business_entity_type_id = filterList[0].business_entity_type_id==1;\r\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\r\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\r\n \r\n if(this.businessEntityTypeList.business_entity_type_name == 'OPC (One Person Company)' || this.businessEntityTypeList.business_entity_type_name == 'Sole proprietorship'){ \r\n this.EntityTypeFlag = true;\r\n }\r\n }\r\n }\r\n\r\n });\r\n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.industryData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1 && val.type_of_activity_id != 1) {\r\n this.activityData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\r\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n \r\n \r\n \r\n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\r\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\r\n this.titleData=data['records'].filter(val=>val.isactive==1);\r\n })\r\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\r\n if(data.dataStatus){\r\n \r\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\r\n \r\n }\r\n })\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(data=>{\r\n this.bankList=data['records'].filter(val=>val.isactive ==1 && val.lender_type == 1);\r\n this.bankListValue=this.bankList.slice();\r\n })\r\n \r\n}\r\ngetStateCityDet(){\r\nthis.qustCat.getStateCityDetails().subscribe(data=>{\r\n \r\n\r\n this.stateList=data.records\r\n this.filteredState.next(this.stateList.slice())\r\n \r\n this.getDetails();\r\n });\r\n \r\n \r\n}\r\nchangeOfStartedBusiness(members,i,e){\r\n if(e == 'yes'){\r\n members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\r\n this.isreadonlyyear[i] = this.generalExistBusinessYear != undefined ? true : false;\r\n members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\r\n this.isreadonlymonth[i] = this.generalExistBusinessMonth != undefined ? true : false;\r\n }\r\n else{\r\n this.isreadonlyyear[i] =false;\r\n this.isreadonlymonth[i] = false;\r\n }\r\n }\r\n getDetails(){\r\n \r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = 13\r\n params.company_id = this.pdDetails.company_id;\r\n this.qustCat.retiverForm(params).subscribe(data=>{\r\n console.log('data[records]',data['records']);\r\n let businessVal=data['records']\r\n let constVal: any;\r\n \r\n \r\n const Partnr:any = this.businessForm.controls['partners'];\r\n \r\n const control1:any = this.businessForm.controls['persons_with_relationships'];\r\n \r\n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\r\n \r\n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\r\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\r\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\r\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\r\n // const othersControl:any=this.businessForm.controls['others_activity_details'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n //retailControl.push(this.manufactureDetails());\r\n //manufacture_details.push(this.manufactureDetails())\r\n \r\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\r\n //india_sales.push(this.indiaSalesDone())\r\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\r\n // country_sale.push(this.createCountrySale());\r\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\r\n //max_sale_state.push(this.maxSaleState())\r\n\r\n if(data['status']==200){\r\n let DocArray: any;\r\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\r\n return data['records'].partners[key];\r\n })\r\n \r\n if(PartnrArray.length==0){\r\n Partnr.push(this.createPartners())\r\n }\r\n else{\r\n PartnrArray.forEach((datas,key) => {\r\n Partnr.push(this.createPartners());\r\n if(datas.partner_name=='Others') {\r\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\r\n }\r\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\r\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else {\r\n Partnr.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n });\r\n }\r\n if(data['records'].persons_with_relationships){\r\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\r\n return data['records'].persons_with_relationships[key];\r\n })\r\n if(PartnrArray1.length>0){\r\n PartnrArray1.forEach((datas,key)=>{\r\n control1.push(this.createRelationShip());\r\n })\r\n businessVal.persons_with_relationships=PartnrArray1\r\n \r\n }\r\n else{\r\n //control1.push(this.createRelationShip());\r\n businessVal.persons_with_relationships=[]\r\n }\r\n }\r\n else{\r\n businessVal.persons_with_relationships=[]\r\n \r\n }\r\n \r\n\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n businessVal.pdid = this.pdid;\r\n businessVal.formid = 13;\r\n businessVal.company_id = this.pdDetails.company_id;\r\n businessVal.fk_createdby = this.users;\r\n //businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n // businessVal.persons_with_relationships=PartnrArray1\r\n businessVal.documents=DocArray\r\n \r\n if(businessVal.employees_appx_salary){\r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\r\n }\r\n \r\n \r\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\r\n // this.businessForm.setValue(businessVal);\r\n //this.businessForm.value.seasonality\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\r\n let exist_activity_data: any=[];\r\n if(data['records'].select_business_activity_type){\r\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\r\n return data['records'].select_business_activity_type[key].type_of_activity_id;\r\n });\r\n }\r\n \r\n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\r\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\r\n if (exist_activity_data.indexOf(id) < 0) {\r\n activityData[index].exist_status=0;\r\n return activityData[index];\r\n }\r\n else{\r\n activityData[index].exist_status=1;\r\n return activityData[index];\r\n }\r\n }).filter(item => item != undefined);\r\n \r\n if(check_exist_businees_activity.length > 0)\r\n {\r\n check_exist_businees_activity.forEach((val,index) => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\r\n \r\n });\r\n \r\n businessVal.select_business_activity_type=check_exist_businees_activity;\r\n }\r\n // business_activity.push(this.createBusinessActivity())\r\n \r\n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\r\n \r\n if(data['records'].manufacturing_activity_details){\r\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\r\n return data['records'].manufacturing_activity_details[key];\r\n });\r\n if(selectedManufacturing.length>0){\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n \r\n selectedManufacturing.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'MActivity',index)\r\n manufacture_details.push(this.manufactureDetails())\r\n if(element.area_of_sale=='Within India'){\r\n \r\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n })\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n \r\n }\r\n });\r\n businessVal.manufacturing_activity_details=selectedManufacturing;\r\n \r\n \r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n \r\n if(data['records'].retail_trading_activity_details){ \r\n\r\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\r\n return data['records'].retail_trading_activity_details[key];\r\n });\r\n if(selectedRetail.length > 0) {\r\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n selectedRetail.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'RActivity',index)\r\n retailControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n });\r\n businessVal.retail_trading_activity_details=selectedRetail;\r\n }\r\n else{\r\n businessVal.retail_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.retail_trading_activity_details=[];\r\n }\r\n \r\n\r\n // update whole sale details\r\n if(data['records'].wholesale_trading_activity_details){ \r\n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\r\n return data['records'].wholesale_trading_activity_details[key];\r\n });\r\n if(selectedWholesale.length > 0) {\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n selectedWholesale.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'WActivity',index)\r\n wholesaleControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n \r\n });\r\n businessVal.wholesale_trading_activity_details=selectedWholesale;\r\n }\r\n else{\r\n businessVal.wholesale_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.wholesale_trading_activity_details=[];\r\n\r\n } \r\n \r\n \r\n if(data['records'].service_provider_activity_details){\r\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\r\n return data['records'].service_provider_activity_details[key];\r\n })\r\n if(selectedService.length > 0) {\r\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n \r\n selectedService.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'SPActivity',index)\r\n serviceProviderControl.push(this.manufactureDetails());\r\n \r\n if(element.area_of_sale=='Within India'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n \r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n \r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n this.filterCityData(this.stateList,innerElement.state_name,innerIndex);\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n\r\n \r\n }\r\n });\r\n \r\n \r\n businessVal.service_provider_activity_details=selectedService;\r\n \r\n }\r\n else{\r\n businessVal.service_provider_activity_details=[];\r\n \r\n } \r\n }\r\n else {\r\n businessVal.service_provider_activity_details=[];\r\n\r\n }\r\n \r\n // if(data['records'].others_activity_details){ \r\n\r\n // // update others activity details\r\n // let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\r\n // return data['records'].others_activity_details[key];\r\n // });\r\n // if(selectedOthers.length > 0) {\r\n // selectedOthers.forEach((element,index)=>{\r\n // othersControl.push(this.createOthersActivity());\r\n // });\r\n // businessVal.others_activity_details=selectedOthers;\r\n // }\r\n // else{\r\n // businessVal.others_activity_details=[];\r\n // } \r\n // }\r\n // else {\r\n // businessVal.others_activity_details=[];\r\n\r\n // } \r\n \r\n // dynamically add form group control\r\n if(data['dataStatus']){\r\n \r\n if(data['records'].seasonality.toUpperCase()=='YES'){\r\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\r\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\r\n\r\n } \r\n\r\n // this.businessForm.controls['partners'].setValue(PartnrArray);\r\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\r\n \r\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\r\n if(businessVal.applicant_use_pos_machines == 'yes'){\r\n //For Adding the bank search in data\r\n businessVal.pos_machines_details.forEach(value=>{\r\n value.bankSearch=''\r\n })\r\n //-----------------------\r\n this.businessForm.controls.no_of_pos_machines.setValue(businessVal.no_of_pos_machines);\r\n const posControl: any = this.businessForm.controls['pos_machines_details'];\r\n for(let i = 1; i<= businessVal.no_of_pos_machines; i++ ){\r\n \r\n posControl.push(this.createPOSMachinesDetails(businessVal.pos_machines_details));\r\n }\r\n }\r\n \r\n this.businessForm.setValue(businessVal);\r\n \r\n \r\n }\r\n else{\r\n Partnr.push(this.createPartners());\r\n control1.push(this.createRelationShip())\r\n \r\n //otherDoc.push(this.createDocument());\r\n\r\n // find business activity type businees activity type list\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\r\n if(activityData.length > 0)\r\n {\r\n activityData.forEach(val => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n });\r\n }\r\n\r\n }\r\n})\r\n // change business sessional\r\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\r\n });\r\n \r\n \r\n }\r\n\r\n filterCity(datasource: any,filterid:number) {\r\n // if(val){\r\n // console.log(\"val\",val)\r\n // return val\r\n // }\r\n \r\n \r\n if(filterid){\r\n console.log(\"val filter\",filterid)\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n return filter.length > 0 ? filter[0].cities : [];\r\n }\r\n}\r\nfilterCityData(datasource: any,filterid:number,index) {\r\n console.log(\"test\")\r\n console.log(filterid,index)\r\n \r\n if(filterid){\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n this.cityData[index] = filter.length > 0 ? filter[0].cities : [];\r\n // this.filteredCity.next(this.cityData[index].slice())\r\n this.cityDataValue[index]=this.cityData[index].slice()\r\n console.log(\"filter \",this.cityDataValue[index])\r\n }\r\n // console.log(\"City value\",this.cityData[index])\r\n}\r\n\r\n // filter max sale options\r\n filterMaxSaleState(datasource: any,filterValues:any){\r\n this.filterCityList = filterValues;\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\r\n let setStateFilter: any=[];\r\n setStateFilter = getStateValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n return datasource[findIndex];\r\n });\r\n return setStateFilter.length > 0 ? setStateFilter : [];\r\n }\r\n }\r\n filterMaxSaleCities(datasource: any, filterValues: any, selectedCites: any) {\r\n if (filterValues) {\r\n let setCityValues: any=[];\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n filterValues.forEach((stateElement,statePos) => {\r\n selectedCites.forEach((existElement,existPos) => {\r\n if(stateElement==existElement.state_name && existElement.city_name.length>0){\r\n let findIndex = getOriginalStateList.indexOf(stateElement);\r\n findIndex = datasource[findIndex].cities;\r\n\r\n let getAllCities: any = existElement.city_name.filter(cVal=>cVal==\"1\");\r\n // this is for throuh out states city\r\n if(getAllCities.length>0){\r\n setCityValues= setCityValues.concat.apply(setCityValues, findIndex);\r\n // console.log(\"First\",setCityValues)\r\n }\r\n // this is for seleted states city\r\n else{\r\n let check: any = findIndex.filter(function (fVal) {\r\n return existElement.city_name.some(function (sVal) {\r\n return fVal.city_id == sVal;\r\n });\r\n });\r\n setCityValues= setCityValues.concat.apply(setCityValues, check); \r\n // console.log(\"second\",setCityValues) \r\n\r\n }\r\n }\r\n \r\n });\r\n });\r\n return setCityValues.length>0 ? setCityValues.filter(fVal=>fVal.city_id!=\"1\") : [];\r\n \r\n }\r\n else {\r\n return [];\r\n }\r\n}\r\n// filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \r\n// console.log(selectedCites)\r\n// let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\r\n// console.log(\"selectd\",existCities)\r\n// existCities = [].concat.apply([], existCities);\r\n// existCities.forEach(element=>{\r\n// if(element== 1){\r\n\r\n// }\r\n// })\r\n// console.log(\"concat\",existCities)\r\n// if(filterValues){\r\n// let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n// console.log(\"Original map\",getOriginalStateList)\r\n// let setCityFilter = filterValues.map(x => {\r\n// let findIndex = getOriginalStateList.indexOf(x);\r\n// findIndex = datasource[findIndex].cities;\r\n// return findIndex;\r\n// });\r\n// console.log(\"findindex\",setCityFilter)\r\n \r\n// let merged = [].concat.apply([], setCityFilter);\r\n// console.log(\"merge\",merged)\r\n \r\n// if(merged.length>0){\r\n// let check: any = merged.filter(function(fVal){\r\n// return existCities.some(function(sVal){\r\n// return fVal.city_id==sVal;\r\n// });\r\n// })\r\n// console.log(check);\r\n// return check;\r\n \r\n// }\r\n// else {\r\n// return [];\r\n// }\r\n// }\r\n// else {\r\n// return [];\r\n// }\r\n// }\r\n\r\n\r\ncheckTotalEmployee(FormData){\r\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\r\n }\r\n// checkWithExistBusinessYear(e,i){\r\n// if(e > this.generalExistBusinessYear){\r\n// this.errorMessage[i] = \"Higher than Business Vintage\";\r\n// }\r\n// else{\r\n// this.errorMessage[i] = '';\r\n// }\r\n// }\r\n\r\ncheckWithExistBusinessYear(e, i, members) {\r\n\r\n if (+e > this.generalExistBusinessYear) {\r\n this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n members.controls.current_business_experiance_year.setValue('');\r\n }\r\n else {\r\n this.yearErrorMessage[i] = '';\r\n }\r\n}\r\n\r\ncheckWithExistTotalWorkExperience(e, i, members) {\r\n\r\n if (+members.value.current_business_experiance_year > +e) {\r\n this.errorMessageForExistTotalWorkExperience[i] = \"Total Experience is Lower Than Experience in The Current Company\";\r\n members.controls.total_business_experiance.setValue('');\r\n }\r\n else {\r\n this.errorMessageForExistTotalWorkExperience[i] = '';\r\n }\r\n}\r\n\r\n// businees activity type change event\r\nchangeBusinessActivity(event: any){\r\n \r\n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.controls = [];\r\n manufacturingControl.setValue([]); \r\n \r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n \r\n \r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.controls = [];\r\n retailControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.controls = [];\r\n wholesaleControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.controls = [];\r\n serviceControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n\r\n // if(event.value.exist_status==true && event.value.type_of_activity_id==1){\r\n // let othersControl = this.businessForm.controls['others_activity_details'];\r\n // othersControl.controls = [];\r\n // othersControl.setValue([]);\r\n // }\r\n // else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\r\n // let othersControl = this.businessForm.controls['others_activity_details'];\r\n // othersControl.push(this.createOthersActivity());\r\n // }\r\n // check activity type for make dosument sighted filed dynamically\r\n this.businessForm.value.manufacturing_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl(this.businessForm.value.export_import_cert, Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n this.businessForm.value.manufacturing_activity_details.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl(this.businessForm.value.factory_cert, Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl(this.businessForm.value.practice_cert, Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n // check activity for extra question make dynamic\r\n \r\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl(this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl(this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n \r\n\r\n if(this.ManufacturingChecked || this.ManufacturingChecked==undefined && this.RetailedChecked || this.RetailedChecked==undefined && this.WholeSalesChecked ||this.WholeSalesChecked==undefined && this.ServiceChecked || this.ServiceChecked==undefined){\r\n this.ExportFlag = false;\r\n }\r\n}\r\n\r\n\r\nchangeManufacturingAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n // change retail options\r\n changeRetailAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n// change whole options\r\nchangeWholesaleAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n// change service provider \r\nchangeServiceArea(getDetails: any, getIndex) {\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n\r\nchangePanIndiaOptions(type,selectedIndex,value) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n \r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==3){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==4){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n}\r\n\r\n // update partner group other form control\r\n changePartnerGroup(value,key) {\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\r\n }\r\n\r\n createDesignation(): FormGroup {\r\n return this.fb.group({\r\n sec_name: ['', Validators.compose([Validators.required])],\r\n sec_designation: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n getWorkExperience(event, key) {\r\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\r\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n if(total_experience > current_experience) {\r\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else if(total_experience < current_experience) {\r\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n\r\n else {\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n // let total ;\r\n // if(control.length > 0){\r\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\r\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\r\n // this.businessForm.controls.business_years.updateValueAndValidity();\r\n // }\r\n}\r\n // Out of Total Export Sales what % of Sales is done in Albania?\r\n getPlaceHolderName(id) {\r\n let name = this.countryDataList.filter(value => value.country_id == id);\r\n\r\n return 'Out of Total Export Sales what % of Sales is done in ' + name[0].country_name + ' ?';\r\n // return name[0].country_name +'?';\r\n}\r\nConvertMonthintoYear(itemrow,e,i){\r\n\r\nconsole.log('datas',e,i);\r\n let year = itemrow.controls.current_business_experiance_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n\r\n // if (year > this.generalExistBusinessYear) {\r\n // console.log('data')\r\n // this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n // itemrow.controls.current_business_experiance_year.setValue('');\r\n // itemrow.controls.current_business_experiance_month.setValue('');\r\n\r\n // }\r\n // else {\r\n // if (year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {\r\n // this.monthErrorMessage[i] = \"Higher than Business Vintage\";\r\n // itemrow.controls.current_business_experiance_year.setValue('');\r\n // itemrow.controls.current_business_experiance_month.setValue('');\r\n\r\n // } else {\r\n // this.monthErrorMessage[i] = '';\r\n // this.yearErrorMessage[i] = '';\r\n // itemrow.controls.current_business_experiance_year.setValue(year);\r\n // itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n // }\r\n // }\r\n \r\n}\r\n\r\n\r\n\r\ncreatePartners(): FormGroup {\r\n return this.fb.group({\r\n partner_name: ['', Validators.compose([Validators.required])],\r\n // partner_other_name:[''],\r\n shareholding:[''],\r\n started_business:[''],\r\n current_business_experiance_year:[''],\r\n current_business_experiance_month:[''],\r\n total_business_experiance:[''],\r\n total_business_previous_experience:['']\r\n /* shareholding: ['', Validators.compose([Validators.required])],\r\n current_business_experiance: ['', Validators.compose([Validators.required])],\r\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\r\n });\r\n}\r\ncreateRelationShip(): FormGroup {\r\n return this.fb.group({\r\n family_member_salutation:[''],\r\n family_member_name:[''],\r\n other_family_relationship_id:[''],\r\n relation_to_id:[''],\r\n relationship_with_company_id:[''],\r\n started_business:['']\r\n });\r\n}\r\ncreateBusinessActivity(details):FormGroup {\r\n return this.fb.group({\r\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\r\n name: [details.name, Validators.compose([Validators.required])],\r\n exist_status:[details.exist_status==1 ? true : false]\r\n });\r\n}\r\ncreateServiceActivity(): FormGroup {\r\n return this.fb.group({\r\n main_products: ['', Validators.compose([Validators.required])],\r\n area_of_sale: ['', Validators.compose([Validators.required])],\r\n description: ['']\r\n });\r\n}\r\ncreateOthersActivity(): FormGroup {\r\n return this.fb.group({\r\n others_details: ['', Validators.compose([Validators.required])]\r\n });\r\n}\r\nmanufactureDetails():FormGroup{\r\n return this.fb.group({\r\n main_products:[''],\r\n area_of_sale:[''],\r\n description:['']\r\n // pan_india_options:[''],\r\n // india_where_sale_done:this.fb.array([]),\r\n //max_sale_state_name:this.fb.array([]),\r\n //countries_where_export_done:this.fb.array([])\r\n })\r\n}\r\nindiaSalesDone():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:[''],\r\n stateSearch:[''],\r\n citySearch:['']\r\n })\r\n}\r\nmaxSaleState():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:[''],\r\n stateSearch:[''],\r\n citySearch:['']\r\n })\r\n}\r\ncreateDocument() {\r\n return this.fb.group({\r\n document: ['']\r\n });\r\n}\r\naddDesignation() {\r\n const control = this.businessForm.controls['designation'];\r\n control.push(this.createDesignation());\r\n}\r\ndeleteDesignation(index) {\r\n const control = this.businessForm.controls['designation'];\r\n if(control.length==1){\r\n this.businessForm.controls['designation'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddPartnerDetails(event) {\r\n const control = this.businessForm.controls['partners'];\r\n event.stopPropagation()\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createPartners());\r\n}\r\naddPersonRelationship(event){\r\n event.stopPropagation()\r\n const control=this.businessForm.controls['persons_with_relationships']\r\n let length=control.length\r\n this.step=length\r\n control.push(this.createRelationShip());\r\n}\r\ndeletePersonRelationship(index){\r\n const control=this.businessForm.controls['persons_with_relationships'];\r\n control.removeAt(index)\r\n}\r\ndeletePartnerDetails(index) {\r\n const control = this.businessForm.controls['partners'];\r\n if(control.length==1){\r\n this.businessForm.controls['partners'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddMoreManufacturing() {\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n}\r\nremoveManufacturing(index){\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n if(manufacturingControl.length>1){\r\n manufacturingControl.removeAt(index)\r\n }\r\n else{\r\n manufacturingControl.reset();\r\n }\r\n}\r\naddMoreRetail(){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n}\r\nremoveRetail(index){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n if(retailControl.length>1){\r\n retailControl.removeAt(index)\r\n }\r\n else{\r\n retailControl.reset();\r\n }\r\n}\r\naddMoreWholesale() {\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n}\r\nremoveWholesale(index){\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n if(wholesaleControl.length>1){\r\n wholesaleControl.removeAt(index)\r\n }\r\n else{\r\n wholesaleControl.reset();\r\n }\r\n}\r\naddMoreServiceprovider() {\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n}\r\nremoveServiceProvider(index){\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n if(serviceControl.length>1){\r\n serviceControl.removeAt(index)\r\n }\r\n else{\r\n serviceControl.reset();\r\n }\r\n}\r\n// addMoreOthersActivity(){\r\n// let othersControl = this.businessForm.controls['others_activity_details'];\r\n// othersControl.push(this.createOthersActivity());\r\n// }\r\ncreateCountrySale() {\r\n return this.fb.group({\r\n country_name: ['',Validators.compose([Validators.required])],\r\n approx_sale: ['', Validators.compose([Validators.required])]\r\n }); \r\n}\r\n\r\naddMoreState(mindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n \r\n\r\n}\r\nremoveState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n\r\naddRetailMoreState(rindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n}\r\nremoveRetailState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n// add more whole sale state\r\naddWholesaleMoreState(windex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n\r\n}\r\n// remove for whole sale\r\nremoveWholesaleState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n // add more service provider\r\n addServiceMoreState(sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n }\r\n \r\n // remove service provider\r\n\r\nremoveServiceState(mindex,sindex,type){\r\n if(type==1){\r\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\r\n control1.removeAt(sindex)\r\n }\r\n}\r\naddDocuments() {\r\n const control = this.businessForm.controls['documents'];\r\n control.push(this.createDocument());\r\n}\r\ndeleteDocuments(index) {\r\n const control = this.businessForm.controls['documents'];\r\n if(control.length==1){\r\n this.businessForm.controls['documents'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\n\r\nrelationChanged(event) {\r\n this.relativeNames = [];\r\n event.value.forEach(option => {\r\n this.relativeNames.push({member: option});\r\n });\r\n}\r\ncreatePOSMachinesDetails(data){\r\n if(data==null){\r\n return this.fb.group({\r\n pos_machines_financial_institution_name: [''],\r\n bankSearch:[''],\r\n tid_no_of_pos_machine: [''],\r\n })\r\n }\r\n else{\r\n return this.fb.group({\r\n pos_machines_financial_institution_name: [data.pos_machines_financial_institution_name],\r\n bankSearch:[''],\r\n tid_no_of_pos_machine: [data.tid_no_of_pos_machine],\r\n })\r\n }\r\n}\r\n\r\n public initBusinessForm(): void {\r\n this.businessForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n fk_createdby: this.users,\r\n profession_name: ['', Validators.compose([Validators.required])],\r\n business_years: ['', Validators.compose([Validators.required])],\r\n industry: ['', Validators.compose([Validators.required])],\r\n type_of_activity: ['', Validators.compose([Validators.required])],\r\n seasonality: ['', Validators.compose([Validators.required])],\r\n designation: this.fb.array([]),\r\n partners: this.fb.array([]),\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n officer_permanent: ['', Validators.compose([Validators.required])],\r\n officer_temporary: ['', Validators.compose([Validators.required])],\r\n invested_amount: ['', Validators.compose([Validators.required])],\r\n working_capital: ['', Validators.compose([Validators.required])],\r\n is_service_provided: ['', Validators.compose([Validators.required])],\r\n ownership_setup: ['', Validators.compose([Validators.required])],\r\n ownership_others: [''],\r\n rent_paid: [''],\r\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\r\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\r\n export_import_cert: ['', Validators.compose([Validators.required])],\r\n factory_cert: ['', Validators.compose([Validators.required])],\r\n practice_cert: ['', Validators.compose([Validators.required])],\r\n pf_regn: ['', Validators.compose([Validators.required])],\r\n esic_regn: ['', Validators.compose([Validators.required])],\r\n other_documents: ['', Validators.compose([Validators.required])],\r\n documents: this.fb.array([]),\r\n business_remarks: ['', Validators.compose([Validators.required])],\r\n who_started: ['', Validators.compose([Validators.required])],\r\n main_person: ['', Validators.compose([Validators.required])],\r\n other_main_person: [''],\r\n family_members_involved: ['', Validators.compose([Validators.required])],\r\n before_business: ['', Validators.compose([Validators.required])],\r\n any_delays: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\n\r\nsubmitDetails() {\r\n\r\n if(this.EntityTypeFlag == true){\r\n let control: any = this.businessForm.controls['partners'];\r\n let control2:any = control.controls[0];\r\n\r\n control2.controls['shareholding'].clearValidators();\r\n control2.controls['shareholding'].updateValueAndValidity();\r\n control2.controls['shareholding'].setValue('100');\r\n\r\n \r\n // control.controls[0].removeControl('shareholding');\r\n // control.controls[0].removeControl('started_business');\r\n // control.controls[0].removeControl('current_business_experiance_year');\r\n // control.controls[0].removeControl('current_business_experiance_month');\r\n // control.controls[0].removeControl('total_business_experiance');\r\n \r\n control2.controls['started_business'].setValue('');\r\n\r\n control2.controls['current_business_experiance_year'].clearValidators();\r\n control2.controls['current_business_experiance_year'].updateValueAndValidity();\r\n control2.controls['current_business_experiance_year'].setValue('');\r\n\r\n control2.controls['current_business_experiance_month'].setValue('');\r\n\r\n control2.controls['total_business_experiance'].clearValidators();\r\n control2.controls['total_business_experiance'].updateValueAndValidity();\r\n control2.controls['total_business_experiance'].setValue('');\r\n // if(control2.controls['total_business_previous_experience'].value !=undefined){\r\n // control2.controls['total_business_previous_experience'].clearValidators();\r\n // control2.controls['total_business_previous_experience'].updateValueAndValidity();\r\n // control2.controls['total_business_previous_experience'].setValue('0');\r\n // }\r\n\r\n }\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n console.log(\"manufacture\",control);\r\n // control.controls.forEach(element=>{\r\n // if(element.controls['india_where_sale_done']){\r\n // element.controls\r\n // }\r\n // })\r\n \r\n let family: any = [];\r\n \r\n let design: any;\r\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\r\n let records:any;\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId;\r\n // records.fk_createdby = this.users;\r\n records=this.businessForm.value;\r\n\r\n //if(records.persons_with_relationships=='')\r\n if (records.other_documents == 'no') {\r\n delete records.documents;\r\n }\r\n if (records.rent_paid == '') {\r\n delete records.rent_paid;\r\n }\r\n if (records.ownership_others == '') {\r\n delete records.ownership_others;\r\n }\r\n // records.family_members_involved = this.relativeNames;\r\nif(!this.EntityTypeFlag) {\r\nlet count:number=0;\r\nif(records.partners.length>0){\r\n records.partners.forEach(element=>{\r\n console.log(element)\r\n count+=element.shareholding\r\n })\r\n}\r\nif(count>=101){\r\n this.toast.pdTriggerappmessage(\"Share Holding is Greater than 100 %\");\r\n // this.businessForm.get('shareholding').value.setFocus()\r\n //this.businessForm.controls['partners']\r\n console.log(this.businessForm.controls)\r\n // const control=this.businessForm.controls['partners'] as FormArray\r\n this.share_focus.nativeElement.focus();\r\n //control.get('shareholding').Focus()\r\n // this.businessForm.get('business_remarks').value.setFocus()\r\n return\r\n}\r\n}\r\n let validationFlag : number = 0;\r\n\r\n //type 1: Checking manufacturing_activity_details \r\n if(records.manufacturing_activity_details.length > 0){\r\n\r\n records.manufacturing_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale!= \"Within India\"){ \r\n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n //type 3 checking wholesale_trading_activity_details\r\n if(records.wholesale_trading_activity_details.length > 0){\r\n\r\n records.wholesale_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //type 2 checking retail_trading_activity_details\r\n if(records.retail_trading_activity_details.length > 0){\r\n\r\n records.retail_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n //type 4 checking service_provider_activity_details\r\n if(records.service_provider_activity_details.length > 0){\r\n\r\n records.service_provider_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){\r\n \r\n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //validationFlag is greater then 0 means its display the notifer as warning\r\n if(validationFlag > 0){\r\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\r\n return;\r\n }\r\n\r\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\r\nif(records.pos_machines_details){\r\n records.pos_machines_details.forEach(value=>{\r\n delete value.bankSearch\r\n })\r\n}\r\n \r\n// if(records.manufacturing_activity_details.length > 0){\r\n// records.manufacturing_activity_details.forEach((val,index) => {\r\n// let manufacturingControl: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n// let childCtrl1 : any = manufacturingControl.controls[index].get('india_where_sale_done') as FormArray;\r\n// let childCtrl2 : any = manufacturingControl.controls[index].get('max_sale_state_name') as FormArray;\r\n// if(val.area_of_sale != \"Export\"){ \r\n// if(val.india_where_sale_done.length > 0){\r\n// val.india_where_sale_done.forEach((vals,inx) => {\r\n// childCtrl1.controls[inx].removeControl('citySearch');\r\n// delete vals.citySearch;\r\n// childCtrl1.controls[inx].removeControl('stateSearch');\r\n// delete vals.stateSearch;\r\n// });\r\n// }\r\n// if(val.max_sale_state_name.length > 0){\r\n// val.max_sale_state_name.forEach((vals,inx) => {\r\n// childCtrl2.controls[inx].removeControl('citySearch');\r\n// childCtrl2.controls[inx].removeControl('stateSearch');\r\n// });\r\n// }\r\n// }\r\n// });\r\n// }\r\n// console.log('records',records);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.businessForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },3000);\r\n }\r\n });\r\n}\r\n getBuisnessDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId}; \r\n this.qustCat.retiverForm(records).subscribe(data => {\r\n let businessVal = data['records'];\r\n \r\n let constVal: any;\r\n const Desgn = this.businessForm.controls['designation'];\r\n const Partnr = this.businessForm.controls['partners'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n\r\n if (data['status'] == 200) {\r\n let DocArray: any;\r\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\r\n return data['records'].designation[key];\r\n });\r\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\r\n return data['records'].partners[key];\r\n });\r\n\r\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\r\n return data['records'].family_members_involved[key];\r\n });\r\n let enduse: any = [];\r\n let existRelative: any =[];\r\n selectedMembers.forEach(val => {\r\n enduse.push(val.member);\r\n existRelative.push(val);\r\n });\r\n this.relativeNames = existRelative;\r\n if (DesgnArray.length == 0) {\r\n Desgn.push(this.createDesignation());\r\n } else {\r\n DesgnArray.forEach(datas => {\r\n Desgn.push(this.createDesignation());\r\n });\r\n \r\n }\r\n if (PartnrArray.length == 0) {\r\n Partnr.push(this.createPartners());\r\n } else {\r\n PartnrArray.forEach(datas => {\r\n Partnr.push(this.createPartners());\r\n });\r\n }\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n if (data['records'].ownership_setup != 'others') {\r\n businessVal.ownership_others = '';\r\n }\r\n if (data['records'].ownership_setup != 'rented') {\r\n businessVal.rent_paid = '';\r\n }\r\n businessVal.family_members_involved = enduse;\r\n businessVal.pdid = this.pdDetails.pd_id;\r\n businessVal.formid = this.FormId;\r\n businessVal.fk_createdby = this.users;\r\n businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n businessVal.documents = DocArray;\r\n\r\n this.businessForm.setValue(businessVal);\r\n } else {\r\n Desgn.push(this.createDesignation());\r\n Partnr.push(this.createPartners());\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n });\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n}\r\ninWords(e,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n }\r\n }\r\n ManufacturingCounterArray: any = [];\r\nRetailCounterArray: any = [];\r\nWholeSaleCounterArray: any = [];\r\nServiceCounterArray: any = [];\r\n\r\n CheckExport(value,stringFlag,index){\r\n //this.ExportFlag=false\r\n const parentControl = this.businessForm.controls['select_business_activity_type'];\r\n const childControl = parentControl.controls[0];\r\n\r\n\r\n // childControl.forEach((datas,index) => {\r\n \r\n \r\n // // exist_status==true && event.value.type_of_activity_id\r\n\r\n // });\r\n\r\n \r\n\r\n \r\n \r\n if(!this.ManufacturingChecked){\r\n // console.log(\"Manu\")\r\n if(stringFlag == 'MActivity' && value == \"Both\"){\r\n this.ManufacturingCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'MActivity' && value != \"Both\"){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\r\n // console.log(\"manu\");\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.RetailedChecked){ \r\n if(stringFlag == 'RActivity' && value == \"Both\"){\r\n this.RetailCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'RActivity' && value != \"Both\"){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.WholeSalesChecked){\r\n if(stringFlag == 'WActivity' && value == \"Both\"){\r\n this.WholeSaleCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'WActivity' && value != \"Both\"){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n \r\n if(!this.ServiceChecked){\r\n \r\n if(stringFlag == 'SPActivity' && value == \"Both\")\r\n { \r\n this.ServiceCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'SPActivity' && value != \"Both\"){\r\n this.ServiceCounterArray[index] = 0;\r\n }\r\n\r\n }else if(stringFlag == 'SPActivity'){\r\n this.ServiceCounterArray[index] = 0;\r\n } \r\n\r\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n\r\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\r\n \r\n\r\n this.ExportFlag = overallCounter > 0 ? true : false ;\r\n // console.log(this.ExportFlag);\r\n //console.log(overallCounter)\r\n\r\n}\r\nchangePOSMachinesAvailablity(e, flag) {\r\n\r\n e == 'yes'\r\n ? this.businessForm.addControl('no_of_pos_machines', new FormControl(''))\r\n : this.businessForm.removeControl('no_of_pos_machines');\r\n\r\n if (flag == 2) {\r\n e == 'yes'\r\n ? this.businessForm.controls.no_of_pos_machines.setValue('')\r\n : this.businessForm.removeControl('no_of_pos_machines');\r\n }\r\n\r\n}\r\ntoGetPOSMachinesDetails(e,flag){\r\n\r\n if(flag == 1){ this.businessForm.addControl('pos_machines_details', this.fb.array([])); }\r\n const control = this.businessForm.controls['pos_machines_details'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n if(flag == 1){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n control.push(this.createPOSMachinesDetails(null));\r\n }\r\n }\r\n else if(flag == 2){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n control.push(this.createPOSMachinesDetails(this.temp_additiondetailofposmachine));\r\n }\r\n }\r\n }\r\n }\r\n searchFun(control:any,i:number,option){\r\n \r\n if (option == 'city') {\r\n // this.cityData[i]=this.filterCity(this.stateList,control.value.state_name)\r\n control.controls['citySearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.SearchCity(control.controls['citySearch'].value, i);\r\n })\r\n }\r\n if (option == 'state') {\r\n // console.log(\"state\")\r\n control.controls['stateSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.searchState(control.controls['stateSearch'].value)\r\n \r\n })\r\n }\r\n //For Pos bank search using constant provider\r\n if(option == 'bank'){\r\n console.log(\"bank\", control.controls['bankSearch'].value)\r\n control.controls['bankSearch'].valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(()=>{\r\n this.bankListValue=this.cons.searchData(this.bankList,control.controls['bankSearch'].value,option)\r\n })\r\n }\r\n }\r\n SearchCity(val: any, i: number) {\r\n // let cityData=\r\n // console.log(this.cityData[i])\r\n if (!this.cityData[i]) {\r\n return\r\n }\r\n let searchValue = val\r\n if (!searchValue) {\r\n this.cityDataValue[i]=this.cityData[i].slice()\r\n return\r\n } else {\r\n searchValue = searchValue.toLowerCase()\r\n }\r\n this.cityDataValue[i]=\r\n this.cityData[i].filter(val=>val.city_name.toLowerCase().indexOf(searchValue)> -1)\r\n \r\n // console.log(\"City Data value\",this.cityDataValue[i])\r\n // this.filterCity('',1,this.cityData[i])\r\n // this.filteredCity.next(\r\n // this.cityData[i].filter(value => value.city_name.toLowerCase().indexOf(searchValue) > -1)\r\n // )\r\n \r\n }\r\n searchState(val: any) {\r\n console.log(\"statedata\")\r\n if (!this.stateList) {\r\n return\r\n }\r\n let searchVal = val\r\n if (!searchVal) {\r\n this.filteredState.next(this.stateList.slice())\r\n return\r\n }\r\n else {\r\n searchVal = searchVal.toLowerCase()\r\n }\r\n this.filteredState.next(\r\n this.stateList.filter(res => res.state_name.toLowerCase().indexOf(searchVal) > -1)\r\n )\r\n }\r\n \r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.FormId,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.FormId,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n \r\n \r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\r\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n/**\r\n * Generated class for the PdQuestionBusinessAssetsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-assets',\r\n templateUrl: 'pd-question-business-assets.html',\r\n})\r\nexport class PdQuestionBusinessAssetsPage {\r\n currentYear:any=new Date().getFullYear();\r\n\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n\r\n company_id:any;\r\n pdDetails:any;\r\n formDetails : any;\r\n users:any;\r\n _businessAssetsQuesFrom:FormGroup;\r\n m_assets_type:any;\r\n m_propertyType:any;\r\n AssetValueInwords:any=[];\r\n appxMarketAmtInwords:any=[];\r\n RentAmtInwords:any=[]\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any=[]\r\n applicants:any;\r\n data_all:any;\r\n CustSegAbbr: any;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n yearErrorMessage: any=[];\r\n monthErrorMessage: any=[];\r\n addressLabel: any=[];\r\n placeholderName : any = []\r\n m_address_type:any=[]\r\n pageTitle: string;\r\n main_applicant: any;\r\n lender_applicant_id: any;\r\n subproduct_abbr: any;\r\n customer_segment_abbr: any;\r\n RentAmtInwordsForAddress: any =[];\r\n appxMarketAmtInwordsForAddress: any =[];\r\n isOtherOwnerForAddress : boolean = false;\r\n isOtherOwner: boolean = false;\r\n public m_vehicle_type = [];\r\n cityArr: any=[];\r\n pinArr: any=[];\r\n m_state_for_address: any=[];\r\n @ViewChild('remarksFocus') focusRemark:ElementRef\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: any='0';\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,\r\n public cons:ConstantsProvider,public toast:ToastProvider,private loading:LoadingProvider,\r\n private cameraProvider:CameraProvider) {\r\n \r\n \r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users=this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n this.generalExistBusinessYear = this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\r\n this.main_applicant = this.pdDetails.applicant_name;\r\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\r\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n this.getDropDown()\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\r\n this.getDetails()\r\n //this.getAddress()\r\n this.getPDImages();\r\n }\r\n getAddress(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id;\r\n params.pd_form_id='5'\r\n\r\n this.qustcat.retiverForm(params).subscribe(data => {\r\n const control= this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n if(data['status'] == 200) {\r\n \r\n \r\n if(data['records'].addresses.length > 0){\r\n data['records'].addresses.forEach((data,inx)=>{\r\n this.addressLabel[inx] = '';\r\n console.log(\"address\",data)\r\n this.qustcat.getStateWiseCities(data.state).subscribe(res=>{\r\n if(res.dataStatus== true){\r\n console.log(\"state\",res)\r\n this.cityArr=res.records.cities\r\n this.pinArr = res.records.pincode;\r\n let selectedAddressType = this.m_address_type.filter(element => element.address_type_id == data.address_type)[0];\r\n let selectedState = this.m_state_for_address.filter(element => element.state_id == data.state)[0];\r\n let selectedCity = this.cityArr.filter(element => element.city_id == data.city)[0]; \r\n let selectedPincode = this.pinArr.filter(element => element.pincode_id == data.pincode)[0];\r\n \r\n console.log(selectedCity)\r\n let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\r\n let address = data.address + ' , ' + selectedCity.city_name + ','+selectedState.name +'-' + (data.pincode == 1 ? data.pincode_others : selectedPincode.pincode);\r\n \r\n \r\n // let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];\r\n // let address = data.address;\r\n // let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\r\n \r\n this.placeholderName[inx] = 'Was any business activity seen at the '+addressType+' during PD visit?';\r\n //console.log(this.placeholderName)\r\n let addressLabel = \" : \"+address+' / '+addressType ;\r\n console.log(\"dd\",addressLabel)\r\n let values={\r\n address_label:addressLabel,\r\n business_years: '',\r\n business_month: '',\r\n business_address_availability: '',\r\n business_is_pd_visited: '',\r\n business_pd_visited_remark: '', \r\n business_approximate_market_value: '',\r\n business_ownership_type: '',\r\n business_monthly_rented_amt: '',\r\n business_name_of_the_owner: '',\r\n business_name_of_the_other_owner: '',\r\n business_vintage: '',\r\n business_purchase_year: '',\r\n business_emi: ''\r\n }\r\n control.push(this.initBusinessDetailsWithdata(values));\r\n }\r\n })\r\n\r\n })\r\n \r\n }\r\n else{\r\n control.push(this.initBusinessDetails())\r\n }\r\n }\r\n else{\r\n control.push(this.initBusinessDetails());\r\n }\r\n });\r\n }\r\n getDropDown(){\r\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\r\n data => {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n })\r\n \r\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\r\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\r\n \r\n })\r\n\r\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\r\n })\r\n\r\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\r\n \r\n }\r\n \r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n })\r\n this.qustcat.getcommondrop('STATE').subscribe(data=>{\r\n this.m_state_for_address = data['records'].filter(val=>val.isactive ==1 )\r\n })\r\n\r\n \r\n \r\n }\r\n apiLoadFinish:boolean=false\r\n getDetails(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id\r\n params.company_id=this.company_id\r\n params.pd_form_id=22\r\n this.qustcat.retiverForm(params).subscribe(res=>{\r\n \r\n if(res['dataStatus']==true){\r\n \r\n //this.data_all=res['records']\r\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\r\n return res['records'].business_assets_details[key]\r\n });\r\n \r\n //this.formLoadData(assestArray)\r\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\r\n if(assestArray.length>0){\r\n for(let val of assestArray){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\r\n }\r\n }*/\r\n this.formLoadData(res['records'])\r\n }\r\n\r\n \r\n else{\r\n this.formLoadData(null);\r\n }\r\n this.apiLoadFinish=true\r\n \r\n \r\n })\r\n //this.formLoadData(null);\r\n \r\n }\r\n \r\n formLoadData(data){\r\n if(data==null){\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n \r\n business_assets_for_address: this.fb.array([]),\r\n //this.createBusinessAssetsForAddress(),\r\n business_assets_details : this.fb.array([\r\n this.initBusinessDetails(),\r\n ]),\r\n business_assets_form_remark:['']\r\n });\r\n this.getAddress();\r\n this.loadDetails=true;\r\n }\r\n else{\r\n \r\n let value=data;\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n // business_years:[value.business_years],\r\n // business_month:[value.business_month],\r\n // business_address_availability:[value.business_address_availability],\r\n // business_is_pd_visited:[value.business_is_pd_visited],\r\n // business_pd_visited_remark:[value.business_pd_visited_remark],\r\n business_assets_for_address: this.fb.array([]),\r\n business_assets_details : this.fb.array([]),\r\n business_assets_form_remark:[value.business_assets_form_remark || '']\r\n });\r\n // if (value.business_assets_for_address.business_address_availability == 'yes') {\r\n \r\n // this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n // }\r\n // else {\r\n // const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n // control.push(this.createBusinessAssetsForAddress());\r\n // } \r\n // this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n }\r\n\r\n this.loadDetails=true\r\n }\r\n\r\n initBusinessDetails(){\r\n return this.fb.group({\r\n address_label:[''],\r\n business_assets_mode:[''],\r\n business_details: this.fb.array([]),\r\n \r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n \r\n business_approximate_market_value: [''],\r\n business_ownership_type:[''],\r\n business_monthly_rented_amt:[''],\r\n business_name_of_the_owner: [],\r\n business_name_of_the_other_owner: [],\r\n business_vintage: [''],\r\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [''],\r\n \r\n })\r\n }\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: ['']\r\n });\r\n }\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n\r\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n addAssetDetails(e) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetails());\r\n \r\n }\r\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n removeAssetsDetails(i: number) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.removeAt(i);\r\n\r\n}\r\n\r\ncreateBusinessAssetsForAddress(): FormGroup {\r\n return this.fb.group({\r\n address_label:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n\r\n business_approximate_market_value: [''],\r\n business_ownership_type: [''],\r\n business_monthly_rented_amt: [''],\r\n business_name_of_the_owner: [''],\r\n business_name_of_the_other_owner: [''],\r\n business_vintage: [''],\r\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: ['']\r\n });\r\n}\r\n\r\n selectedAssetsType(e: any, i: any): void {\r\n let val = i;\r\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n arr.controls.splice(0);\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n let val = i;\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n \r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadPropertyWithData(data) { \r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n });\r\n }\r\n load_Four_WeelerWithData(data){\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n })\r\n }\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadDetails:boolean\r\n addBusinessAssetsForAddress(data) {\r\n console.log(\"add business\")\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n });\r\n if (result.length > 0) {\r\n result.forEach((datas, index) => {\r\n //this.placeholderName[index]=datas.address_label.split('/')\r\n // console.log(datas.address_label.split('/'))\r\n // console.log(datas.address_label.split('/')[0])\r\n if(datas.address_label != null && datas.address_label !=''){\r\n let splitted=datas.address_label.split('/')[1]\r\n this.placeholderName[index]='Was any business activity seen at the '+splitted+' during PD visit?';\r\n }\r\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\r\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\r\n let Avaliablity = 1;\r\n \r\n if(datas.business_name_of_the_owner.length > 0){\r\n datas.business_name_of_the_owner.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\r\n });\r\n\r\n for (let val of result) {\r\n \r\n let vals = {\r\n address_label:val.address_label,\r\n business_years:val.business_years,\r\n business_month:val.business_month,\r\n business_address_availability:val.business_address_availability,\r\n business_is_pd_visited:val.business_is_pd_visited,\r\n business_pd_visited_remark:val.business_pd_visited_remark,\r\n\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type: val.business_ownership_type,\r\n business_monthly_rented_amt: val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_vintage: val.business_vintage,\r\n business_purchase_year: val.business_purchase_year,\r\n business_emi: val.business_emi\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddressWithData(vals));\r\n }\r\n } else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n }\r\n }\r\n addBusinessAssetsDetailsWithData(supp_data){\r\n var result=Object.keys(supp_data).map(function(key){\r\n return supp_data[key];\r\n })\r\n \r\n if(result.length>0){\r\n console.log(\"length >0\")\r\n result.forEach((datas,index)=>{\r\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\r\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\r\n });\r\n for(let val of result){\r\n let formData={\r\n address_label:val.address_label,\r\n business_assets_mode: val.business_assets_mode,\r\n\r\n business_years:val.business_year,\r\n business_month:val.business_month,\r\n business_address_availability:val.business_address_availability,\r\n business_is_pd_visited:val.business_is_pd_visited,\r\n business_pd_visited_remark:val.business_pd_visited_remark,\r\n\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type:val.business_ownership_type,\r\n business_monthly_rented_amt:val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\r\n }\r\n \r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n createBusinessAssetsForAddressWithData(data): FormGroup {\r\n return this.fb.group({\r\n address_label:[data.address_label],\r\n business_years:[data.business_years],\r\n business_month:[data.business_month],\r\n business_address_availability:[data.business_address_availability],\r\n business_is_pd_visited:[data.business_is_pd_visited],\r\n business_pd_visited_remark:[data.business_pd_visited_remark],\r\n\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type: [data.business_ownership_type],\r\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\r\n business_vintage: [data.business_vintage],\r\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [data.business_emi]\r\n });\r\n }\r\n\r\n initBusinessDetailsWithdata(data) {\r\n \r\n\r\n let formGroup= this.fb.group({\r\n address_label:[data.address_label],\r\n business_assets_mode: [data.business_assets_mode],\r\n \r\n business_years:[data.business_year],\r\n business_month:[data.business_month],\r\n business_address_availability:[data.business_address_availability],\r\n business_is_pd_visited:[data.business_is_pd_visited],\r\n business_pd_visited_remark:[data.business_pd_visited_remark],\r\n\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type : [data.business_ownership_type],\r\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\r\n // relation: [data.relation || ''],\r\n business_vintage: [data. business_vintage],\r\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n // purchase_month: [data.purchase_month],\r\n business_emi: [data.business_emi || ''],\r\n });\r\n return formGroup;\r\n }\r\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\r\n \r\n let val = i;\r\n let data = datas;\r\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n control.controls.splice(0);\r\n\r\n switch (assets_details_mode) {\r\n case '2': {\r\n let business_property_datas : any;\r\n data.forEach((datas,i) => {\r\n business_property_datas = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, 'address_of_the_property': datas.address_of_the_property };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadPropertyWithData(business_property_datas));\r\n break;\r\n }\r\n case '3': {\r\n let business_Four_Weeler_datas : any;\r\n data.forEach((datas,i) => {\r\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\r\n break;\r\n }\r\n case '4': {\r\n let equipment_manufacturing_description_datas : any;\r\n data.forEach((datas,i) => {\r\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\r\n break;\r\n }\r\n \r\n case '1': {\r\n let array_datas : any;\r\n data.forEach((datas,i) => {\r\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\r\n array_datas = {\r\n 'any_other_assets': datas.any_other_assets,\r\n // 'any_other_asset_value': datas.any_other_asset_value,\r\n 'any_other_asset_loan': datas.any_other_asset_loan,\r\n };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public paymentModeTextBox: number;\r\n selectedPM(e) {\r\n this.paymentModeTextBox = e.value;\r\n // this.f.supplier_details.controls.get('payment_mode_value');\r\n }\r\n\r\n public freqPurchaseTextBox: number;\r\n selectedFreqPurchase(e) {\r\n this.freqPurchaseTextBox = e.value;\r\n }\r\n \r\n\r\n onSubmit(){\r\n if(!this._businessAssetsQuesFrom.valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill the Required Field\")\r\n this.focusRemark.nativeElement.focus();\r\n return;\r\n }\r\n \r\n var answerData=this._businessAssetsQuesFrom.value;\r\n \r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n\r\n this.qustcat.saveForm(answerData).subscribe(result=>{\r\n if(result['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\r\n }\r\n })\r\n \r\n }\r\n // calculate vintage and purchase {}\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 2) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n if (type == 3) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n\r\n // // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n\r\n setRequiredValidation(value, item, flag,i) {\r\nif(flag== 11){\r\n if(value == 'yes'){\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\r\n }\r\n else if(value == 'no'){\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n }\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\r\n}\r\n if (flag == 1) {\r\n if (value == 'yes') {\r\n console.log(\"bu\",this._businessAssetsQuesFrom.controls);\r\n // this._businessAssetsQuesFrom.controls.business_assets_for_address.value[i].business_years.setValidators([Validators.required]);\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.setValidators([Validators.required]);\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n }\r\n else {\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.clearValidators();\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.clearValidators();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n }\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.updateValueAndValidity();\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n\r\n\r\n }\r\n // if(flag == 2){\r\n // value==1\r\n // ? item.controls.premises_type_others.setValidators([Validators.required])\r\n // : item.controls.premises_type_others.clearValidators();\r\n // item.controls.premises_type_others.updateValueAndValidity();\r\n // }\r\n if (flag == 3) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwner = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwner = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n\r\n // value == 0\r\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\r\n // : item.controls.business_name_of_the_other_owner.clearValidators();\r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n }\r\n if (flag == 5) {\r\n value == 1\r\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\r\n : item.controls.other_vehicle_type.clearValidators();\r\n item.controls.other_vehicle_type.updateValueAndValidity();\r\n }\r\n if (flag == 6) {\r\n value == 1\r\n ? item.controls.other_property_type.setValidators([Validators.required])\r\n : item.controls.other_property_type.clearValidators();\r\n item.controls.other_property_type.updateValueAndValidity();\r\n\r\n value != ''\r\n ? item.controls.address_of_the_property.setValidators([Validators.required])\r\n : item.controls.address_of_the_property.clearValidators();\r\n item.controls.address_of_the_property.updateValueAndValidity();\r\n }\r\n if (flag == 7) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n // if(flag == 8){\r\n // let Avaliablity = 1;\r\n // value.forEach(option => {\r\n // if(option.id == 0 && option.group_id == 2){\r\n \r\n // Avaliablity = option.id;\r\n // }\r\n // });\r\n // this.isOtherOwner = false;\r\n // if(Avaliablity == 0){\r\n \r\n // item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n // this.isOtherOwnerForAddress = true;\r\n // }else{\r\n \r\n // item.controls.business_name_of_the_other_owner.setValue('');\r\n // item.controls.business_name_of_the_other_owner.clearValidators();\r\n // this.isOtherOwnerForAddress = false;\r\n // }\r\n \r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n \r\n // }\r\n\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(e,ind){\r\n console.log( this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years)\r\n let business_year = this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.value;\r\n \r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n let Year = +business_year + +Math.floor(converted_year);\r\n \r\n if(Year > this.generalExistBusinessYear){\r\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\r\n \r\n }\r\n else{\r\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\r\n {\r\n this.monthErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\r\n \r\n }else{\r\n this.monthErrorMessage[ind] = '';\r\n this.yearErrorMessage[ind] = '';\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n }\r\n\r\n checkWithExistBusinessYear(e,ind){\r\n \r\n if(+e > this.generalExistBusinessYear){\r\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n \r\n }\r\n else{\r\n this.yearErrorMessage[ind] = '';\r\n }\r\n }\r\n\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1:\r\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 : \r\n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 3:\r\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 9:\r\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 10:\r\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustcat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n }\r\n changeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n }\r\n changeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n }\r\n removeImg(index){\r\n this.imageDisplay.splice(index,1);\r\n }\r\n removeImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n }\r\n capture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n \r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustcat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\n// import { QueryState } from '@angular/core/src/render3/interfaces';\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport { Subject } from 'rxjs';\r\nimport {CameraProvider} from '../../../../providers/common-provider/camera'\r\nimport {LoadingProvider} from '../../../../providers/common-provider/loading'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-banking',\r\n templateUrl: 'pd-question-business-banking.html',\r\n})\r\nexport class PdQuestionBusinessBankingPage {\r\npdDetails:any;\r\nm_btLenderList: any;\r\napplicants: any \r\nsalaryField: boolean;\r\nformDetails: any;\r\nform_id:any;\r\naccountType: any;\r\nusers: any;\r\nbankingForm:FormGroup;\r\npublic pd_cus_segment:string\r\ncompany_id:any;\r\n\r\npdid:any;\r\nitemRows:FormArray;\r\n\r\nexistCompanyList: any=[];\r\nmergeCompanyApplicant: any=[];\r\nstep:number\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n limitCaseFlag: any=[];\r\n generalExistBusinessYear: number;\r\n generalExistBusinessMonth:number\r\n yearErrorMessage: any=[];\r\n monthErrorMessage: any=[];\r\n m_btLenderListValue:any=[]\r\n protected _onDestroy = new Subject();\r\n imageDisplay: any[];\r\n imageBucket: any=[];\r\n tab: string='0';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,\r\n public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,\r\n public cons:ConstantsProvider,public toast:ToastProvider,private loading:LoadingProvider,\r\n private cameraProvider:CameraProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails')\r\n \r\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\r\n this.pdid=this.pdDetails.pd_id;\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id=this.pdDetails.company_id\r\n \r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n this.generalExistBusinessMonth=this.pdDetails.business_month\r\n this.generalExistBusinessYear=this.pdDetails.business_years\r\n \r\n\r\n this.users = this.aws.getlocale();\r\n this.step=0\r\n this.bankingForm = this.fb.group(\r\n {\r\n itemRows:this.fb.array([]),\r\n banking_form_remark:[''],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\r\n this.getPDImages();\r\n }\r\n searchFun(control){\r\n if(!this.m_btLenderListValue){\r\n return\r\n }\r\n let searchVal=control.controls['filterCtrl'].value\r\n if(!searchVal){\r\n this.m_btLenderListValue=this.m_btLenderList.slice()\r\n return\r\n }\r\n else{\r\n searchVal=searchVal.toLowerCase();\r\n this.m_btLenderListValue=this.m_btLenderList.filter(val=>val.lender_name.toLowerCase().indexOf(searchVal)>-1)\r\n }\r\n }\r\n getdropdown(){\r\n \r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n this.m_btLenderListValue=this.m_btLenderList.slice();\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true) /*&& val.is_company_applicant===true*/\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n \r\n checkWithExistBusinessYear(itemrow,e, i) {\r\nconsole.log(this.generalExistBusinessYear)\r\n if (+e > this.generalExistBusinessYear) {\r\n this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n itemrow.controls.vintage_year.setValue('');\r\n }\r\n else {\r\n this.yearErrorMessage[i] = '';\r\n }\r\n }\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow, e,i) {\r\n console.log(this.generalExistBusinessMonth)\r\n\r\n\r\n let year = itemrow.controls.vintage_year.value;\r\n\r\n let converted_month: number = e % 12;\r\n let converted_year: number = e / 12;\r\n let Year = +year + +Math.floor(converted_year);\r\n \r\n if (Year > this.generalExistBusinessYear) {\r\n this.yearErrorMessage[i] = \"Higher than Business Vintage\";\r\n itemrow.controls.vintage_year.setValue('');\r\n itemrow.controls.vintage_month.setValue('');\r\n\r\n }\r\n else {\r\n if (Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth) {\r\n this.monthErrorMessage[i] = \"Higher than Business Vintage\";\r\n itemrow.controls.vintage_year.setValue('');\r\n itemrow.controls.vintage_month.setValue('');\r\n console.log(this.monthErrorMessage[i])\r\n\r\n } else {\r\n this.monthErrorMessage[i] = '';\r\n this.yearErrorMessage[i] = '';\r\n itemrow.controls.vintage_year.setValue(Year);\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n\r\n\r\n}\r\n /** Amount InWords */\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setRequiredValidation(value,item,flag) {\r\n \r\n \r\n if(flag == 1){\r\n value==0\r\n ? item.controls.other_applicant.setValidators([Validators.required])\r\n : item.controls.other_applicant.clearValidators();\r\n item.controls.other_applicant.updateValueAndValidity();\r\n }\r\n if(flag == 2){\r\n value==1\r\n ? item.controls.other_bank.setValidators([Validators.required])\r\n : item.controls.other_bank.clearValidators();\r\n item.controls.other_bank.updateValueAndValidity();\r\n }\r\n \r\n }\r\n\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n \r\n bank_name: [''],\r\n filterCtrl:[''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n addBankDetails(index,event) {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n event.stopPropagation()\r\n const control = this.bankingForm.controls['itemRows'];\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\r\n \r\n this.itemRows.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n const control = this.bankingForm.controls['itemRows'];\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else\r\n \r\n \r\n control.removeAt(i);\r\n }\r\n \r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n retiveBankDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\r\n const control = this.bankingForm.controls['itemRows'];\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n \r\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n \r\n \r\n if(result.length == 0){\r\n \r\n control.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n result.forEach((datas,index)=>\r\n {\r\n datas.filterCtrl=''\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n if(datas.limit != ''){\r\n \r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n }\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n control.push(this.createBankItem(''));\r\n })\r\n \r\n this.bankingForm.controls['itemRows'].setValue(result);\r\n } \r\n }else\r\n {\r\n \r\n control.push(this.createBankItem(''));\r\n }\r\n });\r\n \r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n answerData.itemRows.forEach(element=>{\r\n delete element.filterCtrl\r\n })\r\n console.log(\"logs\",answerData)\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.form_id;\r\n records.fk_createdby = this.users;\r\n records.company_id=this.company_id;\r\n records.banking_details = answerData.itemRows;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.bankingForm.markAsUntouched();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n })\r\n \r\n }\r\n \r\n /*IMAGE SECTION*/\r\n getPDImages(){\r\n //FOR RETRIEVING PICTURES\r\n this.imageDisplay=[]\r\n let record_for_pic = {'pd_id':this.pdDetails.pd_id,'form_id':this.formDetails.form_id,'company_id':this.pdDetails.company_id}\r\n this.qustCat.getPDImages(record_for_pic).subscribe(val=>{\r\n if(!val['msg']){\r\n console.log(val['records'])\r\n if(val['records'].length>0){\r\n val['records'].forEach(result=>{\r\n this.imageDisplay.push({'image':result.doc_url,'Name':result.pd_document_title,'option':'dummy'})\r\n })\r\n console.log(\"imageBuck\",this.imageDisplay);\r\n }\r\n }\r\n })\r\n}\r\nchangeName(value,index,img){\r\n console.log(value);\r\n this.imageDisplay[index]={'image':img,'Name':value}\r\n \r\n}\r\nchangeNameForBucket(value,index,img){\r\n this.imageBucket[index]={'image':img,'Name':value}\r\n}\r\nremoveImg(index){\r\n this.imageDisplay.splice(index,1);\r\n}\r\nremoveImgForBucket(index){\r\n this.imageBucket.splice(index,1)\r\n}\r\ncapture(){\r\n //FOR CAPTURING PICS\r\n this.cameraProvider.getpicture().then(res=>{\r\n console.log(\"Value\",res)\r\n if(res != 'error'){\r\n this.imageBucket.push({'image':res,'Name':''});\r\n //FOR GETTING THE DOC NAME FROM ALERT\r\n let alert =this.toast.setAlertForDocName()\r\n alert.present()\r\n alert.onDidDismiss(value=>{\r\n console.log(\"alert value\",value);\r\n if(value){\r\n this.imageBucket[this.imageBucket.length-1].Name=value.Name\r\n }\r\n })\r\n }\r\n },error=>{\r\n console.log(\"Camera Error \",JSON.stringify(error));\r\n })\r\n this.tab='1';\r\n\r\n\r\n }\r\n sendImage(){\r\n this.loading.loaderForSendImage()\r\n console.log(\"ll\",JSON.stringify(this.imageBucket));\r\n let records:any={\r\n 'pd_id':this.pdDetails.pd_id,\r\n 'formid':this.formDetails.form_id,\r\n 'images':this.imageBucket,\r\n 'company_id':this.pdDetails.company_id\r\n }\r\n console.log(\"records\",JSON.stringify(records))\r\n \r\n this.qustCat.savePDImages(records).subscribe(res=>{\r\n if(res['dataStatus']== true){\r\n this.toast.pdTriggerappmessage(\"Image Saved Successfully\")\r\n this.imageBucket=[]\r\n this.getPDImages();\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fail');\r\n }\r\n })\r\n }\r\n\r\n \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport{QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\nimport {RupeeCurrencyFormatPipe} from '../../../../pipes/rupee-currency-format/rupee-currency-format'\n\n/**\n * Generated class for the PdQuestionRentalDashPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n// @IonicPage()\n@Component({\n selector: 'page-pd-question-rental-dash',\n templateUrl: 'pd-question-rental-dash.html',\n providers:[RupeeCurrencyFormatPipe]\n})\nexport class PdQuestionRentalDashPage {\n pdDetails:any;\n form_details:any;\n pageTitle:any\n existing_rental_count_id: number;\n existing_rental_list: any=[];\n constructor(public navCtrl: NavController, public navParams: NavParams,private qustCat:QuestionCategoryProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.form_details=this.navParams.get('FormId');\n console.log(this.form_details);\n \n\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionRentalDashPage');\n this.getAllRentalInfo();\n }\n getAllRentalInfo(){\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.form_details.form_id };\n this.qustCat.retiverForm(records).subscribe(res=>{\n if(res['dataStatus']==true){\n let rentalVal=res['records'];\n let tempArray: any = [];\n let amt: any = [];\n this.existing_rental_count_id = rentalVal.length;\n rentalVal.forEach((value,index)=>{\n let annualRentAmt:any\n if(value.property_unit_details){\n let selectedUnit=Object.keys(value.property_unit_details).map(function(key){\n return value.property_unit_details[key]\n });\n if(selectedUnit.length>0){\n selectedUnit.forEach((element,innerIndex)=>{\n tempArray[innerIndex]=element.monthly_rent_amount\n annualRentAmt=tempArray.reduce((sum,val)=> sum+ +val,0);\n annualRentAmt=annualRentAmt*12;\n })\n }\n else{\n annualRentAmt=0;\n }\n amt[index]=annualRentAmt\n }\n let params={'state_id':value.state,'city_id':value.city,'pincode_id':value.pincode}\n this.qustCat.getStateCityNamesAndPincode(params).subscribe(datas=>{\n if(datas.dataStatus==true){\n let obj={\n 'address':value.address_property,\n 'applicants_rent': amt[index],\n 'state': datas.records.state_name,\n 'city': datas.records.city_name,\n 'pincode': datas.records.pincode,\n 'rental_count_id': value.rental_count_id,\n 'rental_existing_data': value\n }\n this.existing_rental_list.push(obj)\n console.log(\"modify\",this.existing_rental_list);\n }\n })\n })\n }\n else{\n this.existing_rental_count_id=0\n }\n })\n }\n editDet(values){\n console.log(\"hai\");\n console.log(\"d\",values)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdGeneralImagesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-general-images',\r\n templateUrl: 'pd-general-images.html',\r\n})\r\nexport class PdGeneralImagesPage {\r\n\r\n cameraArr:any = [];\r\n applicatentDetails: any;\r\n count:any = 0;\r\n saveAccess:boolean =false;\r\n FormId:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdGeneralImagesPage');\r\n }\r\n \r\n takePicture()\r\n {\r\n this.camera.getpicture().then(image=>\r\n {\r\n this.count = this.count+1;\r\n \r\n this.cameraArr.push({'image':image,'name':''});\r\n });\r\n }\r\n\r\n removeimage(i)\r\n {\r\n this.count = this.count - 1; \r\n this.cameraArr.splice(i,1);\r\n }\r\n\r\n docnames(doc,i,img)\r\n {\r\n \r\n this.cameraArr[i] = {'image':img,'Name':doc};\r\n // console.log(JSON.stringify(this.pddocdata)); \r\n }\r\n savePDImages()\r\n {\r\n \r\n this.saveAccess = true;\r\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\r\n records.images = this.cameraArr;\r\n this.qustCat.savePDImages(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.saveAccess = false;\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } \r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PdListPage } from '../../pd-list/pd-list';\r\nimport {ToastProvider} from '../../../providers/common-provider/toast'\r\n\r\n/**\r\n * Generated class for the BouncedRejectPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-bounced-reject',\r\n templateUrl: 'bounced-reject.html',\r\n})\r\nexport class BouncedRejectPage {\r\n\r\n users: any;\r\n bounseMaster: any;\r\n pdDetails: any;\r\n status: any;\r\n bounce_reason:any;\r\n bounce_reason_others:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,\r\n public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public toast:ToastProvider) {\r\n // this.pdDetails = this.navParams.get('appdetails');\r\n // this.status = this.navParams.get('status');\r\n this.pdDetails=this.navParams.get('details')\r\n // console.log(this.pdDetails)\r\n this.users = this.aws.getlocale();\r\n this.getDropdown();\r\n \r\n }\r\n\r\n getDropdown()\r\n {\r\n \r\n \r\n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\r\n console.log(this.bounseMaster);\r\n }\r\n })\r\n \r\n }\r\n updatePDStatus()\r\n {\r\n if(this.bounce_reason !=null && this.bounce_reason !=1)\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n // console.log(this.bounce_reason)\r\n // console.log(this.bounce_reason_others);\r\n console.log(data);\r\n this.toast.pdTriggerappmessage(\"Thank You\");\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n else if(this.bounce_reason == 1 && this.bounce_reason_others != '' && this.bounce_reason_others !=null )\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n // console.log(this.bounce_reason)\r\n // console.log(this.bounce_reason_others);\r\n console.log(data);\r\n this.toast.pdTriggerappmessage(\"Thank You\");\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n \r\n \r\n\r\n else{\r\n this.toast.pdTriggerappmessage(\"Please Choose the Reason to Reject\");\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\r\n/*\r\n Generated class for the DatabaseProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class DatabaseProvider {\r\n database:SQLiteObject;\r\n constructor(public http: HttpClient,public sql:SQLite) {\r\n console.log('Hello DatabaseProvider Provider');\r\n this.createnewdb();\r\n }\r\n\r\n createnewdb()\r\n {\r\n // alert('function in');\r\n this.sql.create(\r\n {\r\n name:'sinnedge',\r\n location:'defalut',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \r\n {\r\n // alert('db create');\r\n this.getuserDetails();\r\n })\r\n .catch(e => console.log(e));\r\n })\r\n }\r\n getuserDetails()\r\n {\r\n // alert('getusers');\r\n this.sql.create(\r\n {\r\n name:'sineedge',\r\n location:'default',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\r\n {\r\n console.log(res);\r\n })\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the PasswordPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-password',\r\n templateUrl: 'password.html',\r\n})\r\nexport class PasswordPage {\r\n commonImage: string;\r\n newpassword: any;\r\n confirmPassword: any;\r\n pin:any;\r\n Username:any;\r\n Password:any;\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.Username = this.navParams.get('Username');\r\n this.Password = this.navParams.get('Password');\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PasswordPage');\r\n }\r\n setNewPassword(newpass)\r\n {\r\n if(newpass !='' && newpass !=null && newpass !== undefined){\r\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\r\n console.log(auth);\r\n this.aws.dologin(auth).subscribe(res => {\r\n console.log(res);\r\n this.navCtrl.setRoot(PdListPage);\r\n // this.router.navigate(['/home']);\r\n }, err => {\r\n this.toast.pdTriggerappmessage(err.message);\r\n // alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the new Password');\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\n\r\nimport { LoadingProvider } from '../../providers/common-provider/loading';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the AuthPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n \r\n\r\n@Component({\r\n selector: 'page-auth',\r\n templateUrl: 'auth.html',\r\n})\r\nexport class AuthPage {\r\n pinAccess: any;\r\n newpindetails: any;\r\n userDetails: any;\r\npin:any;\r\n mpinaccess:boolean =false;\r\n newpassword:any;\r\n ConfirmPassword:any;\r\n commonImage:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public Menu:MenuController,public fb:FormBuilder,public shared:CognitoServiceProvider,public toast:ToastProvider,public faio:FingerprintAIO,public aws:AwsServiceProvider,public loadingCtrl:LoadingProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.shared.refresh();\r\n this.getuserDetails();\r\n \r\n\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad AuthPage');\r\n }\r\n ionViewDidEnter(){\r\n this.Menu.enable(false);\r\n }\r\n ionViewWillLeave(){\r\n this.Menu.enable(true);\r\n }\r\n getuserDetails()\r\n {\r\n this.loadingCtrl.pdloader('loading...');\r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.loadingCtrl.loading.dismiss();\r\n this.userDetails = this.userDetails.records;\r\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\r\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\r\n if(this.userDetails[0].mpin ==null)\r\n {\r\n \r\n this.mpinaccess = true;\r\n \r\n }else\r\n {\r\n this.mpinaccess = false;\r\n }\r\n }else{\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n }else{\r\n this.toast.pdTriggerappmessage('')\r\n }\r\n //console.log(this.mpinaccess);\r\n });\r\n }\r\n setnewpin(newpin)\r\n {\r\n console.log(\"set Pin\")\r\n this.aws.userpinupdate(newpin).subscribe(res=>\r\n {\r\n this.newpindetails = res;\r\n if(this.newpindetails.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n /**Finger print */\r\n \r\n checkpin(pin) {\r\n console.log(\"Check pin\",pin);\r\n if(pin !='' && pin !=null)\r\n {\r\n if(this.userDetails[0].mpin == pin)\r\n {\r\n console.log(\"Entering List page\")\r\n this.navCtrl.setRoot(PdListPage);\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\r\n }\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The PIN');\r\n }\r\n\r\n \r\n \r\n }\r\n checkfingerprint()\r\n {\r\n console.log(\"Check Finger\");\r\n this.faio.show({\r\n clientId: 'Fingerprint-Demo',\r\n clientSecret: 'password', // Only Android\r\n localizedFallbackTitle: 'Use Pin', // Only iOS\r\n localizedReason: 'Please authenticate',\r\n disableBackup:true,\r\n })\r\n .then((result: any) => {\r\n this.navCtrl.setRoot(PdListPage);\r\n })\r\n .catch((error: any) => {\r\n this.toast.pdTriggerappmessage('err: '+ error);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\nimport { enableProdMode } from '@angular/core';\r\nenableProdMode();\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\n\r\nimport { MyApp } from './app.component';\r\n\r\n\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { SQLite } from '@ionic-native/sqlite';\r\nimport { DatabaseProvider } from '../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthGuard } from '../providers/_guard/auth.guard';\r\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { ConstantsProvider } from '../providers/constants/constants';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\r\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\r\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\r\nimport { InputPage } from '../pages/input/input';\r\nimport { ToastProvider } from '../providers/common-provider/toast';\r\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\n\r\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\r\nimport { OtpPage } from '../pages/otp/otp';\r\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\r\n\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\r\nimport { CameraProvider } from '../providers/common-provider/camera';\r\nimport { LoadingProvider } from '../providers/common-provider/loading';\r\nimport { Camera } from '@ionic-native/camera';\r\n\r\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\r\n\r\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\r\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { Geolocation } from '@ionic-native/geolocation';\r\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { DatePicker } from '@ionic-native/date-picker';\r\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\r\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\r\n\r\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\r\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport { PdPipe } from '../pipes/pd/pd';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\r\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\r\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport {PdQuestionAssessedSummaryPage} from '../pages/pd-question/pd-question-assessed-summary/pd-question-assessed-summary'\r\nimport { NgxMatSelectSearchModule} from 'ngx-mat-select-search'\r\nimport { ContentLoaderModule } from '@netbasal/content-loader';\r\nimport {PdQuestionAssessedDailyPurchasePage} from '../pages/pd-question/pd-question-assessed-daily-purchase/pd-question-assessed-daily-purchase'\r\nimport {RupeeCurrencyFormatPipe} from '../pipes/rupee-currency-format/rupee-currency-format'\r\nimport {PdQuestionAssessedImagesPage} from '../pages/pd-question/pd-question-assessed-images/pd-question-assessed-images'\r\n// import {PipesModule} from '../pipes/pipes.module'\r\nimport {IonicStorageModule} from '@Ionic/storage'\r\nimport { StorageProvider } from '../providers/storage/storage';\r\nimport {PdQuestionRentalDashPage} from '../pages/pd-question/pd-question-rental-info/pd-question-rental-dash/pd-question-rental-dash'\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n PdQuestionAssessedSummaryPage,\r\n PdQuestionAssessedDailyPurchasePage,\r\n PdQuestionAssessedImagesPage,\r\n RupeeCurrencyFormatPipe,\r\n PdQuestionRentalDashPage\r\n // PipesModule\r\n \r\n ],\r\n imports: [\r\n BrowserModule,ReactiveFormsModule,FormsModule,\r\n IonicModule.forRoot(MyApp),\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,HttpClientModule,IonicImageViewerModule,NgxMatSelectSearchModule,\r\n ContentLoaderModule,\r\n IonicStorageModule.forRoot()\r\n \r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n PdQuestionAssessedSummaryPage,\r\n PdQuestionAssessedDailyPurchasePage,\r\n PdQuestionAssessedImagesPage,\r\n PdQuestionRentalDashPage\r\n \r\n ],\r\n providers: [\r\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\r\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\r\n {\r\n provide:HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: IonicErrorHandler\r\n },LaunchNavigator,\r\n AwsServiceProvider,\r\n QuestionCategoryProvider,\r\n CameraProvider,Camera,\r\n PdPipe,LocationAccuracy,\r\n LoadingProvider,Geolocation,\r\n DatabaseProvider,\r\n StorageProvider,\r\n ]\r\n})\r\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { Nav, Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { MethodCall } from '@angular/compiler';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport {AlertController} from 'ionic-angular'\r\nimport { platformBrowser } from '@angular/platform-browser';\r\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n userDetails: any;\r\n userAccess:boolean = false;\r\n @ViewChild(Nav) nav: Nav;\r\n\r\n rootPage: any = LoginPage;\r\n public alertShown:boolean=false\r\n\r\n pages: Array<{title: string,icon:any, method: any}>;\r\n\r\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider\r\n ,public alertCtrl:AlertController) {\r\n this.initializeApp();\r\n\r\n // used for an example of ngFor and navigation\r\n this.pages = [ \r\n // { title: 'Home', component: HomePage, icon: 'home' },\r\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\r\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\r\n ];\r\n\r\n\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n // Okay, so the platform is ready and our plugins are available.\r\n // Here you can do any higher level native things you might need.\r\n this.statusBar.styleDefault();\r\n if (this.platform.is('android')) {\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n \r\n }\r\n this.splashScreen.hide();\r\n\r\n this.shared.getAccessToken().then(()=>{\r\n this.getuserDetails();\r\n this.rootPage = AuthPage\r\n }).catch(()=>{\r\n setTimeout(() => {\r\n this.rootPage = LoginPage;\r\n }, 1000);\r\n });\r\n \r\n });\r\n this.platform.registerBackButtonAction(()=>{\r\n if(this.nav.length()==1){\r\n if(this.alertShown==false){\r\n //this.presentConfirm(); \r\n let alert=this.alertCtrl.create({\r\n title:'Confirm Exit',\r\n message:'Do You Want Exit ?',\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.platform.exitApp();\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n this.alertShown=true\r\n }\r\n }\r\n else{\r\n this.nav.pop()\r\n }\r\n });\r\n }\r\n\r\n presentConfirm(){\r\nlet alert=this.alertCtrl.create({\r\n title:'Confirm Exit',\r\n message:'Do You Want Exit ?',\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n // this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.platform.exitApp();\r\n }\r\n }\r\n ]\r\n});\r\n alert.present();\r\n // this.alertShown=true;\r\n }\r\n getuserDetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.userAccess = true;\r\n this.userDetails = this.userDetails.records[0];\r\n \r\n }\r\n \r\n });\r\n }\r\n menulist(id){\r\n //alert();\r\n switch(id)\r\n {\r\n case 1:\r\n this.nav.setRoot(PdListPage);\r\n break;\r\n case 2:\r\n this.AWS.logout().subscribe(()=>{\r\n \r\n this.nav.setRoot(LoginPage);\r\n });\r\n break;\r\n case 3:\r\n break;\r\n case 4:\r\n break;\r\n}\r\n}\r\n logout()\r\n {\r\n // this.aws.logout();\r\n this.nav.setRoot(LoginPage);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\r\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n \r\n constructor() { \r\n\r\n \r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // // if (this.shared.getToken()) {\r\n // alert(\"if\");\r\n // // this.router.navigate(['']);\r\n // return true\r\n // } else {\r\n // alert(\"else\");\r\n // this.router.navigate(['/login']);\r\n // return false;\r\n // }\r\n // }\r\n getlogin(){\r\n // if (this.shared.getToken()) {\r\n // // alert(\"if\");\r\n // //alert();\r\n // return true;\r\n // } else {\r\n // // alert(\"else\");\r\n \r\n // //this.myGlobalServiceNav.setRoot(LoginPage);\r\n // this.shared.isloggin = false;\r\n // return false;\r\n \r\n \r\n // }\r\n }\r\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n \r\n \r\n // }\r\n\r\n // public getToken(): string {\r\n // return localStorage.getItem('token');\r\n // }\r\n\r\n // public logOut() {\r\n // localStorage.clear();\r\n // if(localStorage.getItem('token') === null){\r\n // this.router.navigate(['/login']);\r\n // }\r\n // }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\n// import { AuthGuard } from './auth.guard';\r\nimport { Observable, of} from 'rxjs';\r\n\r\n// import { Router } from '@angular/router';\r\n\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor{\r\n constructor(public shared:CognitoServiceProvider ) {\r\n \r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // request = request.clone({\r\n // setHeaders: {\r\n // Authorization: `${this.auth.getToken()}`\r\n // }\r\n // });\r\n let token:any;\r\n this.shared.refresh();\r\n token = this.shared.getToken() || null;\r\n \r\n token = token.getIdToken().getJwtToken();\r\n \r\n //console.log(token);\r\n let requests = request.clone({\r\n headers:new HttpHeaders({\r\n \r\n 'Authorization': 'sparqvenba2018',\r\n 'Token':token,\r\n 'From':'1',\r\n \r\n \r\n }) \r\n \r\n });\r\n \r\n return next.handle(requests).pipe(\r\n catchError(this.handleError('role', []))\r\n )\r\n }\r\n\r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n if(error instanceof HttpErrorResponse){\r\n console.error(\"Error: \" + error.status);\r\n if(error.status == 401){\r\n localStorage.clear();\r\n // this.router.navigate(['/authentication/login']);\r\n }\r\n return of(result as T);\r\n }\r\n };\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\r\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the GoogleplaytabPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-googleplaytab',\r\n templateUrl: 'googleplaytab.html',\r\n})\r\nexport class GoogleplaytabPage {\r\n\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= true;\r\n isLeft:boolean= true;\r\n tabs:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\r\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n \r\n}\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n\r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n\r\n this.isLeft=false;\r\n this.isRight=false;\r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n \r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the PdAllocationPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-allocation',\r\n templateUrl: 'pd-allocation.html',\r\n})\r\nexport class PdAllocationPage {\r\npdFullDetails:any = [];\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n \r\n this.pdFullDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdFullDetails);\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdAllocationPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business',\r\n templateUrl: 'pd-question-business.html',\r\n})\r\nexport class PdQuestionBusinessPage {\r\n pdDetails:any;\r\n pdid:any;\r\n users:any;\r\n FormId:any;\r\n existCompanyList:any=[]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=this.aws.getlocale\r\n\r\n this.getDropDown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\r\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\r\n console.log(this.existCompanyList);\r\n })\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionSalaryInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-salary-info',\r\n templateUrl: 'pd-question-salary-info.html',\r\n})\r\nexport class PdQuestionSalaryInfoPage {\r\n\r\n salaryDetails:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.salaryDetails = this.fb.group(\r\n {\r\n gross:[null],\r\n netTakeHome:[null],\r\n bounsIncentive:[null],\r\n salaryDate:[null],\r\n anydelays:[null], \r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","import { Injectable } from '@angular/core';\r\n\r\n// import { CanActivateChild, Router } from '@angular/router';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\n\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { BehaviorSubject,Observable,of } from 'rxjs';\r\n\r\nconst sineedge_poolData = { \r\n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\r\n};\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"\",\r\n ClientId: \"\"\r\n}\r\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"\";\r\n// serviceProvider\r\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\r\n// const apiurl = \"http://localhost/sparqapi/api/\";\r\n\r\n@Injectable()\r\n\r\nexport class CognitoServiceProvider {\r\n public loggedIn :boolean = false;\r\n // public static _REGION = environment.region;\r\n\r\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\r\n // public static _USER_POOL_ID = environment.UserPoolId;\r\n // public static _CLIENT_ID = environment.ClientId;\r\n\r\n // public static _POOL_DATA: any = {\r\n // UserPoolId: CognitoService._USER_POOL_ID,\r\n // ClientId: CognitoService._CLIENT_ID\r\n // };\r\n \r\n\r\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\r\nisloggin:boolean = false; \r\n\r\n\r\n \r\n\r\n \r\n constructor() { \r\n \r\n }\r\n getCurrentUser() {\r\n \r\n return sineedgedevUserpool.getCurrentUser();\r\n}\r\n get isLoggedIn() {\r\n if(sineedgedevUserpool.getCurrentUser() !=null){\r\n this.loggedIn = true;\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n return this.loggedIn; // {2}\r\n }\r\n \r\nrefresh() {\r\n let tokenexp:boolean;\r\n \r\n if(this.getCurrentUser() !=null){\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n }\r\n\r\n else {\r\n if (session.isValid()) {\r\n tokenexp = session.isValid();\r\n of(tokenexp)\r\n console.log(\"CognitoUtil: refreshed successfully\");\r\n \r\n } else {\r\n tokenexp = session.isValid();\r\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\r\n \r\n }\r\n }\r\n \r\n return tokenexp;\r\n \r\n });\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n}\r\ngetAccessToken(){\r\n this.refresh();\r\n return new Promise((resolve, reject) => {\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n //console.log(JSON.stringify(this.getCurrentUser()));\r\n // console.log('76 if');\r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n jwttoken ='';\r\n // console.log('81 if')\r\n reject(err);\r\n }\r\n else {\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n resolve();\r\n } else {\r\n \r\n }\r\n }\r\n });\r\n }\r\n else {\r\n //console.log(\"else\");\r\n reject();\r\n }\r\n});\r\n}\r\n\r\ngetToken():any {\r\n let isloggin = false;\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n isloggin = false;\r\n //console.log('81 if')\r\n }\r\n else {\r\n //alert('function else');\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n isloggin = true;\r\n } else {\r\n \r\n isloggin = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // console.log(\"else\");\r\n isloggin = false;\r\n }\r\n return jwttoken;\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { Component,ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { InputPage } from '../input/input';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { parseDate } from 'ionic-angular/util/datetime-util';\r\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\r\nimport { OtpPage } from '../otp/otp';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { DatabaseProvider } from '../../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n/**\r\n * Generated class for the PdListPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-list',\r\n templateUrl: 'pd-list.html',\r\n})\r\nexport class PdListPage {\r\n\r\n @ViewChild('slider') slider:Slides;\r\n searchinprogress: any;\r\n searchpast: any;\r\n pdschduleDetails: any;\r\n bgColorPast: any = [];\r\n bgColor: any = [];\r\n pdinprogress: any=[];\r\n pdlistdetails: any=[];\r\n viewchange: boolean;\r\n pdlist:any = \"0\";\r\n pdlistaccess:boolean = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\r\n //this.getlenderpddetails(); \r\n // this.getpdTriggerdetails();\r\n \r\n }\r\n selectedTab(ind)\r\n {\r\n this.slider.slideTo(ind)\r\n }\r\n moveButton(event){\r\n this.pdlist=event._snapIndex.toString();\r\n }\r\n\r\n ionViewDidLoad() {\r\n \r\n console.log('ionViewDidLoad PdListPage');\r\n this.db.getuserDetails();\r\n this.setpermission();\r\n }\r\n ionViewCanEnter()\r\n {\r\n console.log(\"Pd list ionViewCanEnter\")\r\n this.getpdTriggerdetails();\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n this.pdinprogress = this.pdinprogress;\r\n this.pdschduleDetails = this.pdschduleDetails;\r\n }\r\n \r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n \r\n this.pdinprogress = this.searchinprogress;\r\n this.pdschduleDetails = this.searchpast;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n \r\n if(this.pdlist == \"inpro\"){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n this.pdinprogress = this.searchinprogress.filter((v) => {\r\n if (v.applicat_details !== undefined && v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1 || v.city_name != null && v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n \r\n return ;\r\n }else{\r\n this.pdschduleDetails = this.searchpast.filter((v) => {\r\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\r\n || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1|| v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n })\r\n }\r\n \r\n}\r\n}\r\n newpage(){\r\n this.navCtrl.push(InputPage);\r\n }\r\n getpdTriggerdetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n //.log(\"User\",userid)\r\n this.pdlistaccess = true;\r\n\r\n this.pdofficer.getpddetails(userid).subscribe(res=>\r\n {\r\n this.pdlistdetails = res;\r\n if(this.pdlistdetails.dataStatus == true)\r\n {\r\n this.pdlistaccess = false;\r\n \r\n this.pdschduleDetails = this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" || sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\" || sch.pd_status ==\"INPROGRESS\" && sch.applicat_details);\r\n this.searchpast = this.pdschduleDetails;\r\n \r\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\r\n this.searchinprogress = this.pdinprogress;\r\n \r\n this.random_bg_color();\r\n this.random_ng_past();\r\n }else\r\n {\r\n this.pdlistaccess = false;\r\n this.pdlistdetails = \"No Records Found\";\r\n }\r\n })\r\n }\r\n\r\n random_bg_color() {\r\n for(let id of this.pdinprogress){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n \r\n return this.bgColor;\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.pdschduleDetails){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n doRefresh(refresher) {\r\n this.bgColor = [];\r\n this.pdschduleDetails = [];\r\n this.pdinprogress = [];\r\n // this.pdlistaccess = true;\r\n this.shared.refresh();\r\n this.getpdTriggerdetails();\r\n setTimeout(() => {\r\n \r\n refresher.complete();\r\n }, 2000);\r\n }\r\n \r\n PdAllocation(pddetails)\r\n {\r\n \r\n if(pddetails.pd_status == 'STARTED')\r\n {\r\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\r\n }else if(pddetails.pd_status == 'INPROGRESS'){\r\n this.navCtrl.push(PdQuestionCategoryPage,{'pdDetails':pddetails});\r\n }else{\r\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\r\n }\r\n }\r\n\r\n setpermission()\r\n {\r\n // let permission = this.androidPermissions.PERMISSION; \r\n // let premission_list = [\r\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\r\n // permission.CAMERA,\r\n\r\n\r\n // ];\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n\r\n\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { CognitoServiceProvider } from './cognito.service';\r\nimport { ConstantsProvider } from '../constants/constants';\r\nimport { UrlResolver } from '@angular/compiler';\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"ap-south-1_K57yPaWxV\",\r\n ClientId: \"\"\r\n}\r\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\r\n\r\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Injectable()\r\nexport class AwsServiceProvider {\r\napiurl:any;\r\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\r\n this.apiurl = con.apiurl();\r\n }\r\n\r\n dologin(authenticationData) {\r\n // alert();\r\n //(authenticationData);\r\n const authenticationDetails = new AuthenticationDetails(authenticationData);\r\n let Newpassword = authenticationData.newpassword;\r\n let attributesData = [];\r\n const userData = {\r\n Username: authenticationData.Username, // User email id\r\n Pool: sineedgedevUserpool // user Pool ID\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observer => {\r\n cognitoUser.authenticateUser(authenticationDetails, {\r\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \r\n cognitoUser.completeNewPasswordChallenge(\r\n Newpassword,\r\n attributesData,\r\n {\r\n onSuccess: function (result) {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n onFailure: function (err) {\r\n //(err);\r\n observer.error(err);\r\n //LoginComponent.prototype.open();\r\n }\r\n }\r\n );\r\n },\r\n onSuccess: function (result) { // success user login\r\n // let accessToken = result.getAccessToken().getJwtToken();\r\n ////(result);\r\n //window.localStorage.setItem('Currentuser', '1');\r\n observer.next(result);\r\n observer.complete();\r\n this.shared.isloggin = true;\r\n },\r\n onFailure: function (err) { // error user login\r\n\r\n //alert(err.message);\r\n observer.error(err);\r\n }\r\n });\r\n });\r\n }\r\n userforgotpass(auth) {\r\n ////(auth);\r\n const userData = {\r\n Username: auth.Username,\r\n Pool: sineedgedevUserpool\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observe => {\r\n cognitoUser.forgotPassword({\r\n onSuccess: function (data) {\r\n // successfully initiated reset password request\r\n //('CodeDeliveryData from forgotPassword: ' + data);\r\n observe.next(data);\r\n },\r\n onFailure: function (err) {\r\n alert(err.message || JSON.stringify(err));\r\n },\r\n //Optional automatic callback\r\n inputVerificationCode: function (data) {\r\n //('Code sent to: ' + data);\r\n var verificationCode = prompt('Please input verification code ', '');\r\n var newPassword = prompt('Enter new password ', '');\r\n cognitoUser.confirmPassword(verificationCode, newPassword, {\r\n onSuccess() {\r\n //('Password confirmed!');\r\n },\r\n onFailure(err) {\r\n //('Password not confirmed!');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n /**\r\n * End of the function \r\n */\r\n\r\n /**\r\n * Logout function\r\n */\r\n logout(){\r\n \r\n return Observable.create(observe=>{\r\n this.shared.getCurrentUser().signOut(); \r\n \r\n observe.next();\r\n \r\n observe.complete();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Config function\r\n */\r\n // getconfig() {\r\n // let session:any = this.shared.getAccessToken() || \"\";\r\n \r\n // let config = \"\";\r\n // config += AWS.config.region = \"ap-south-1\";\r\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\r\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\r\n // Logins: {\r\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\r\n // .getIdToken()\r\n // .getJwtToken()\r\n // }\r\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\r\n // });\r\n // return config;\r\n // }\r\n\r\n getlocale(){\r\n let session:any = this.shared.getToken() || null;\r\n let userid = session.idToken.payload.locale;\r\n return userid;\r\n }\r\n getuserprofile(userid)\r\n {\r\n \r\n \r\n // alert();\r\n \r\n //console.log(cogusers.idToken.payload.locale);\r\n let roles = {'userid':userid}; \r\n \r\n \r\n // let request = new RequestOptions({headers:headers});\r\n return this.http.post(this.apiurl+'getUsersDetails',roles);\r\n \r\n }\r\n\r\n userpinupdate(pin)\r\n {\r\n let userid = this.getlocale(); \r\n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\r\n let formdata = new FormData();\r\n \r\n formdata.append('records',JSON.stringify(records));\r\n return this.http.post(this.apiurl+'updateExistUser',formdata);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {ConstantsProvider} from '../constants/constants';\r\n\r\n/*\r\n Generated class for the PdtriggerProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\r\n@Injectable()\r\nexport class PdtriggerProvider {\r\n apiurl:any;\r\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\r\n this.apiurl = constants.apiurl();\r\n console.log('Hello PdtriggerProvider Provider');\r\n }\r\n\r\n \r\n\r\n /**get dropdonw list */\r\n\r\n /**Get list of PD Trigger */\r\n\r\n getpddetails(userid)\r\n { \r\n console.log(userid);\r\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\r\n }\r\n\r\n getFullPDdetails(pdid)\r\n {\r\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\r\n }\r\n\r\n updatepdStatus(dataStatus)\r\n {\r\n let records = {'records':dataStatus};\r\n return this.http.post(this.apiurl+'updatePDMaster',records);\r\n }\r\n\r\n saveCurrentLocation(data)\r\n {\r\n let records = {'records':data};\r\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\r\n }\r\n\r\n checkotp(otpDetails)\r\n {\r\n\r\n let records = {'records':otpDetails};\r\n \r\n return this.http.post(this.apiurl+'checkOTP',records); \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Toast, ToastController,AlertController} from 'ionic-angular';\r\n\r\n/*\r\n Generated class for the ToastProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ToastProvider {\r\n\r\n constructor(public http: HttpClient,public toast:ToastController,private alertCtrl:AlertController) {\r\n console.log('Hello ToastProvider Provider');\r\n }\r\n pdTriggerappmessage(mess){\r\n let valalert = this.toast.create({\r\n message:mess, \r\n duration: 3000, \r\n position: 'bottom',\r\n dismissOnPageChange: true,\r\n });\r\n\r\n valalert.present();\r\n} \r\nsetAlert(title_name,msg){\r\n \r\n\r\nlet alert=this.alertCtrl.create({\r\n title:title_name,\r\n message:msg,\r\n cssClass:'buttoncss',\r\n buttons:[{\r\n text:'Yes',\r\n cssClass:'btnYes',\r\n handler:()=>{\r\n alert.dismiss('s')\r\n return false\r\n }\r\n },\r\n {\r\n text:'No',\r\n cssClass:'btnNo',\r\n handler:()=>{\r\n alert.dismiss(false)\r\n return false\r\n }\r\n }]\r\n});\r\n//alert.present()\r\nreturn alert\r\n\r\n}\r\nsetAlertForDocName(){\r\n \r\n let alert=this.alertCtrl.create({\r\n title:'Document Name',\r\n message: 'Please Enter the Document Name',\r\n cssClass:'prompt_alert',\r\n inputs:[\r\n {\r\n name:'Name',\r\n //value:this.imageBucket[index].Name\r\n placeholder:'Document Name'\r\n }\r\n ],\r\n buttons:[\r\n {\r\n text:'Submit',\r\n handler:data=>{\r\n console.log(data.Name)\r\n alert.dismiss(data.Name)\r\n }\r\n }\r\n ]\r\n })\r\n //alert.present();\r\n //this.inputFocus.setFocus();\r\n\r\nreturn alert\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d01ef581..2324bb47 100755 --- a/package-lock.json +++ b/package-lock.json @@ -2561,7 +2561,7 @@ "acorn": "1.2.2", "foreach": "2.0.5", "isarray": "0.0.1", - "object-keys": "1.0.11" + "object-keys": "1.1.1" }, "dependencies": { "isarray": { @@ -4346,9 +4346,9 @@ "dev": true }, "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.omit": { "version": "2.0.1", diff --git a/package.json b/package.json index 457192e1..0218929b 100755 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@ionic-native/splash-screen": "4.4.0", "@ionic-native/sqlite": "^4.19.0", "@ionic-native/status-bar": "^4.16.0", - "@ionic/storage": "2.1.3", + "@ionic/storage": "^2.1.3", "@netbasal/content-loader": "^1.1.0", "@types/chart.js": "^2.7.40", "amazon-cognito-identity-js": "^3.0.3", diff --git a/platforms/android/.gradle/4.1/fileHashes/fileHashes.bin b/platforms/android/.gradle/4.1/fileHashes/fileHashes.bin index 0af8002c72a8b57fb7a9b48a34ea3a95c54047cc..ae264939bb1b8d5622a5ed833a8dacffa5220e9a 100755 GIT binary patch delta 1228 zcmb`GZAepL6vy{m5;IqBUa>Lf+)XW|oajynSF9 zF4j1bcQ`ANm?p<$e+h-8s&V8DWZz@gT3x615H~?oH-PpMQ9^P#iC`a(vyVwZRzx2d zMSKfy%83@^F<}r^!P6$l5hxoHF7uk0?XXuw1GI@)4{j0L;D?AG;NU(kl|}`2p46={ zh9t%67x;DuJ0K-M#j_jI#6fw0Qi8sc+p0zfs&2llW-Am3sP2XnBHn<-N^H#*plD97 zhvX{0pcza^Xr88)H*X!79#S;isp4I@4UKkG_KV76Fw9mSu@gSiX?SZFN_#-oBN+Ao z&KgnmN>q)&G^=Xw5mbJdHge4|YlNyksQpc7$TAU{HQxm*t_ryxL#BXCD%6OW4m~1f zK(v_{QN?6Ivzcp)$pyU`H{dmMT`=3AtCvs5?1C4)Bu_IOHDn*p?t356sGC~cbMBQy zLeN;oz-=ewKo=Nx5;`VbR`sc3QkwUoe)x%hcc$>tKJF#WncZN$M!116CV01>uWSLi zg(x*XwKG1WF5oVWn|SJfJtPyPhdHT@9&`4Q7P68pS;spNd=fkx(D-lFoCA!__2@cT zyA0M_NeSCq1LRL&M^~(DN4B&Q*PxX|>mZl2SUTF_T>2zvSlvwqg<)glJ3H(oklRU% zFh}WVXYA4(FA8JAMH4qB7mlfw`hO19|BD&(#cY%3T#LWRmjwmoE!$s{^-R?s?wx5` zJ^q<<&sNX|i$5u)qBJwUsMHf>j4WH&l4$ha<)eiPNS>we*R<&aU_#17n&-@2o;ZVd ztqw1VcrxsXA6dTDzx1^pr<0>-7LkrU6^s+Q>27Tb5x{j qU4WVjO8q;P_GXAG_jU21uRhcJhE=hcf>@<5t8wUf*i|09YX1NniGz{= delta 1305 zcmcJPYe*DP6vw@jmbyNY(REw1RLn=ZtE3fTNeP=uK6Xq6({y*U)CCPGEQ(6eBBG)a zJdx@8L<~xC(=90%tt`VW1+B2ssEi&In)wLY?B1EXeF#7FrGc6G&7FJxbI$)9=I*@c z!n~+0T!LKm>m~im^kT137t{hTOPC3L_qrxGktjY#Z6zGQH6ym7H1?`BUM$mx#C2w2 z;#B&N%_$6~qy_!ft6N&hT7lt2I_gFkl{Z0Ng`^OYfn3R>kvz(5v>3-hWx;pwDg(*M z`w!rpDbOTrrSu&FuF#k{*lEF^aK?gW=%&amfk_K4g@RqY6lVuIft2@Q2-61qp?Nhil$ps#|Mlgt3DlKiL0D1jOl1vez3fj`t}sg zs<6hhw8%bLsxdIRkgcxMIVq_|089~$bG1}sEljD9+ySe}Xhy?Ow18NMQX`ghX%y`1 zsPY(WqR7di(1M{*Yr%EksX;0n#f3wuMkskBBx&$am^6Zw5pcPl<{SwF^(a31*c;=w zihJ8e@_xNmnuBA=TQY5DzdYkzQng6(NzrQ?~GKUc;3~*zBN7Yk$uiTlGk`$cxw8O9F_xJOs? RBuk-co)H`TXPHknzX6karC9&~ diff --git a/platforms/android/.gradle/4.1/fileHashes/fileHashes.lock b/platforms/android/.gradle/4.1/fileHashes/fileHashes.lock index d38d7c28dbce01f3ad7d3d526420426e53202ced..583e054b92ae8ced170c82db1ae5094eb98ea6b6 100755 GIT binary patch literal 17 VcmZSH)N3rc=S9qa1~3pT0suFm1rY!M literal 17 VcmZSH)N3rc=S9qa1~3qK0RT7^1%?0s diff --git a/platforms/android/.gradle/4.1/taskHistory/fileSnapshots.bin b/platforms/android/.gradle/4.1/taskHistory/fileSnapshots.bin index 53753a839d0b8b4b8e05155e3b786aef3fbaee53..5d927d78e1e5028362a81443bfe8430190de7864 100755 GIT binary patch delta 1969 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 diff --git a/platforms/android/.gradle/4.1/taskHistory/taskHistory.bin b/platforms/android/.gradle/4.1/taskHistory/taskHistory.bin index 3b28db96a2e0c67d75c8f60c0dac1851e172cfb8..3ca4b7ed49792a8a5cec562e8fabb87774a37201 100755 GIT binary patch delta 421 zcmX@Ih2_W=mJJFk>&=WaN;8Y{P0LMF(~7c-%8U~W5-Tf8OU+YRI+F7XDjf^5Wv2DK z{t_%x*Oil*RFqhhnOYp#eKYg>OoQ_ii!%~aQj3cHOG^q$OI$LG<`tLzh;7eRnp~V; zT9lmXmY)NZ_RIrH7JDx`bw{N5Ydh1V%)I2H)ZEm(lEfUh$^LU#l~mT8`PRz(+Mz2S zX3jsoblIF)Z#1i&WYUV&0pD_m6r)stjm@s{ky*?zAHB| zFEcH*xTLsm;X`v9$?W-kMXAO}dZ$gkF{kt3^PMw_Gt=`j^U|I3^U^ZY^@>aKi&EWy zh8w7An{;2>?=jhNj?NWK87%08RnE=Kufz delta 363 zcmX@Ih2_W=mJJFkCogy+70%L;oL^AsSdjgh?;6vcJ1fq@c9KC9^1k```IP_a$FWF3vA4N=|jl&jCt%<^d&(Ba&Fm9a8(2 zO?I3ktmN=d*G|(Rd0|&ROy_4WIsQq#0{^C;bt)__|5&;?VC@UW&FfaHq=Fn%&)%L` zT%1}`oLDpKkebP=p6-;?3W({&x$oqbIVs0gPRdFwOAJbd+MJn_TFiWEZeq)|{j<8W z@-m@{ZMH|BERg?D+LfD_mzkDYTv9Cl_u{Fa9+L$7ijcLgmiY10ds1)ijN;7nyv#hw zbm#oMw9It9;*$KLR5zgE3F7B6>(;D)1M-dr=jAwIwskufO@MnRH5sU|(s;R@{Nr!w YH}__89noN8j+*>1M`8PYLB>=L055)`D*ylh diff --git a/platforms/android/.gradle/4.1/taskHistory/taskHistory.lock b/platforms/android/.gradle/4.1/taskHistory/taskHistory.lock index 5d11e4405c07b8c436f37c1fdb119ac95a3e4659..dd9a68366a91e2072db66d66adbc81e3e0ed1941 100755 GIT binary patch literal 17 VcmZRUzW7-6z-ewt1~6a=2LLbS1Ofm6 literal 17 VcmZRUzW7-6z-ewt1~6b@2LLaX1F`@B diff --git a/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Bold.ttf b/platforms/android/app/build/intermediates/assets/debug/www/assets/fonts/Roboto-Bold.ttf index d3f01ad245b628f386ac95786f53167038720eb2..58353df1870c30194288446710d7c37d54514895 100755 GIT binary patch delta 9187 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 MV6Pu6;Mem0A3Hs~J^%m! delta 16268 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 b;zT~idn}Q+UY;_1RmyPocFJ)6%c%bW;645B delta 16531 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 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionRentalInfoPage.prototype.getdropList = function () { var _this = this; @@ -1818,7 +1856,7 @@ var PdQuestionRentalInfoPage = (function () { this.qustCat.saveForm(answerData).subscribe(function (res) { if (res['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.rentalForms.markAsUntouched(); + _this.rentalForms.reset(_this.rentalForms.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -2203,7 +2241,7 @@ var PdQuestionRentalInfoPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -2292,17 +2330,19 @@ var PdQuestionRentalInfoPage = (function () { /***/ }), -/***/ 204: +/***/ 205: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionSupplierInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -2318,6 +2358,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { + + /** * Generated class for the PdQuestionSupplsierInfoPage page. * @@ -2325,7 +2367,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionSupplierInfoPage = (function () { - function PdQuestionSupplierInfoPage(navCtrl, navParams, fb, aws, qustCat, toast) { + function PdQuestionSupplierInfoPage(navCtrl, navParams, fb, aws, qustCat, toast, cameraProvider, loading) { var _this = this; this.navCtrl = navCtrl; this.navParams = navParams; @@ -2333,6 +2375,8 @@ var PdQuestionSupplierInfoPage = (function () { this.aws = aws; this.qustCat = qustCat; this.toast = toast; + this.cameraProvider = cameraProvider; + this.loading = loading; this.business_manufacturingProducts = []; this.business_tradingProducts = []; this.m_titleList = []; @@ -2341,6 +2385,8 @@ var PdQuestionSupplierInfoPage = (function () { this.noRecordsFound = false; this.submitted = false; this.errorMessage = ''; + this.imageBucket = []; + this.tab = '0'; this.serviceProviderForm = false; this.manufacturingForm = false; this.tradingForm = false; @@ -2395,6 +2441,7 @@ var PdQuestionSupplierInfoPage = (function () { } PdQuestionSupplierInfoPage.prototype.ionViewDidLoad = function () { console.log('ionViewDidLoad PdQuestionSupplierInfoPage'); + this.getPDImages(); }; PdQuestionSupplierInfoPage.prototype.initFormLoadDetails = function (record) { var _this = this; @@ -2687,6 +2734,7 @@ var PdQuestionSupplierInfoPage = (function () { Object.keys(answerFormValues).forEach(function (key) { return (answerFormValues[key] == null) && delete answerFormValues[key]; }); this.qustCat.saveForm(answerFormValues).subscribe(function (responsed) { if (responsed['status'] == 200) { + _this.supplierInfoForm.markAsUntouched(); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -2758,11 +2806,88 @@ var PdQuestionSupplierInfoPage = (function () { items.controls['manufacturing_credit_days_to'].updateValueAndValidity(); } }; + /*IMAGE SECTION*/ + PdQuestionSupplierInfoPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.formDetails.form_id, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionSupplierInfoPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionSupplierInfoPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionSupplierInfoPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionSupplierInfoPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionSupplierInfoPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + this.tab = '1'; + }; + PdQuestionSupplierInfoPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.formDetails.form_id, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + _this.toast.pdTriggerappmessage('Fail'); + } + }); + }; PdQuestionSupplierInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-supplier-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n \n\n \n\n\n\n \n\n
Trading Product Details
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{ tp.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \n\n \n\n No.of days of Credit Provided by Supplier \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n\n\n \n\n
Service Provider Product Details
\n\n
\n\n\n\n
Service Provider Details Not applicable here !!
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/, + selector: 'page-pd-question-supplier-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n \n\n \n\n Form\n\n \n\n \n\n Pictures\n\n \n\n \n\n\n\n\n\n
\n\n \n\n \n\n \n\n No Documents Found. Press the camera button below to capture\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{l+1}}\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \n\n \n\n No.of days of Credit Provided by Supplier \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n\n\n \n\n
Trading Product Details
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{ tp.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \n\n \n\n No.of days of Credit Provided by Supplier \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n\n\n \n\n
Service Provider Product Details
\n\n
\n\n\n\n
Service Provider Details Not applicable here !!
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n\n\n \n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/, }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], + __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], + __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__["a" /* LoadingProvider */]]) ], PdQuestionSupplierInfoPage); return PdQuestionSupplierInfoPage; }()); @@ -2771,20 +2896,22 @@ var PdQuestionSupplierInfoPage = (function () { /***/ }), -/***/ 205: +/***/ 206: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionStockInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operators__ = __webpack_require__(19); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -2803,6 +2930,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { + + /** * Generated class for the PdQuestionStockInfoPage page. * @@ -2810,7 +2939,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionStockInfoPage = (function () { - function PdQuestionStockInfoPage(navCtrl, navParams, qustCat, aws, toast, fb, constant) { + function PdQuestionStockInfoPage(navCtrl, navParams, qustCat, aws, toast, fb, constant, cameraProvider, loading) { var _this = this; this.navCtrl = navCtrl; this.navParams = navParams; @@ -2819,6 +2948,8 @@ var PdQuestionStockInfoPage = (function () { this.toast = toast; this.fb = fb; this.constant = constant; + this.cameraProvider = cameraProvider; + this.loading = loading; this.errorMessage = ''; this.M_rawValueInWords = []; this.M_goodsValueInWords = []; @@ -2838,6 +2969,8 @@ var PdQuestionStockInfoPage = (function () { this.TGCommentCard = false; this.RMsufficientList = [{ value: "yes", isdisplayvalue: "Yes", disabled: false }, { value: "no", isdisplayvalue: "No", disabled: false }, { value: "not applicable", isdisplayvalue: "Stock not required to be maintained", disabled: false }]; this.TGsufficientList = [{ value: "yes", isdisplayvalue: "Yes", isdisabled: false }, { value: "no", isdisplayvalue: "No", isdisabled: false }, { value: "not applicable", isdisplayvalue: "Stock not required to be maintained", isdisabled: false }]; + this.imageBucket = []; + this.tab = '0'; this.manufacturingForm = false; this.retailForm = false; this.tradingForm = false; @@ -2877,6 +3010,10 @@ var PdQuestionStockInfoPage = (function () { }); this.getdropdown(); } + PdQuestionStockInfoPage.prototype.ionViewDidLoad = function () { + console.log('ionViewDidLoad PdQuestionStockInfoPage'); + this.getPDImages(); + }; PdQuestionStockInfoPage.prototype.initstockForm = function (record) { var _this = this; var api = Object.keys(record.from_business).map(function (key) { @@ -3071,9 +3208,6 @@ var PdQuestionStockInfoPage = (function () { return; } }; - PdQuestionStockInfoPage.prototype.ionViewDidLoad = function () { - console.log('ionViewDidLoad PdQuestionStockInfoPage'); - }; PdQuestionStockInfoPage.prototype.getdropdown = function () { var _this = this; this.qustCat.getcommondrop('UOM').subscribe(function (data) { @@ -3522,9 +3656,24 @@ var PdQuestionStockInfoPage = (function () { PdQuestionStockInfoPage.prototype.saveStockInfo = function (answerFormValues) { var _this = this; //To Remove The "Null" With Key also + // if(answerFormValues.manufacturing_details){ + // answerFormValues.manufacturing_details.forEach(parent=>{ + // if(parent.manufacturing_finished_goods){ + // parent.manufacturing_finished_goods.forEach(finish_goods=>{ + // delete finish_goods.uomSearch + // }) + // } + // if(parent.manufacturing_raw_materials){ + // parent.manufacturing_raw_materials.forEach(raw_mat=>{ + // delete raw_mat.uomSearch + // }) + // } + // }) + // } Object.keys(answerFormValues).forEach(function (key) { return (answerFormValues[key] == null) && delete answerFormValues[key]; }); this.qustCat.saveForm(answerFormValues).subscribe(function (responsed) { if (responsed['status'] == 200) { + _this.stockForm.markAsUntouched(); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -3562,11 +3711,88 @@ var PdQuestionStockInfoPage = (function () { _this.uomDataValue = _this.constant.searchData(_this.uomData, control.controls['uomSearch'].value, ''); }); }; + /*IMAGE SECTION*/ + PdQuestionStockInfoPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.formDetails.form_id, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionStockInfoPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionStockInfoPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionStockInfoPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionStockInfoPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionStockInfoPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + this.tab = '1'; + }; + PdQuestionStockInfoPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.formDetails.form_id, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + _this.toast.pdTriggerappmessage('Fail'); + } + }); + }; PdQuestionStockInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-stock-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Stock Details
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{a+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{M_rawValueInWords[a]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n Is the stock of Raw Materials observed, sufficient considering the size of operations
\n\n \n\n \n\n {{val.isdisplayvalue}}\n\n \n\n \n\n \n\n
\n\n \n\n Please comment on the stock level observed?\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n Finished Goods #{{b+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{M_goodsValueInWords[b]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
Retail Trading Details
\n\n
\n\n
\n\n
\n\n
\n\n Traded Goods #{{e+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{R_tradedGoodsValueInWords[e]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
Wholesale Trading Details
\n\n
\n\n
\n\n
\n\n
\n\n Traded Goods #{{g+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No stock observed\n\n Stock not required to be maintained\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{T_tradedGoodsValueInWords[g]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n Is the stock of finished / traded goods observed, sufficient considering the size of operations
\n\n \n\n Select\n\n \n\n {{val.isdisplayvalue}}\n\n \n\n \n\n \n\n
\n\n \n\n Please comment on the stock level observed? \n\n \n\n \n\n
\n\n
\n\n \n\n
Service Provider Details
\n\n
Service Provider Details Not applicable here !!
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/, + selector: 'page-pd-question-stock-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n \n\n \n\n Form\n\n \n\n \n\n Pictures\n\n \n\n \n\n\n\n\n\n
\n\n \n\n \n\n \n\n No Documents Found. Press the camera button below to capture\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Stock Details
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{a+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{M_rawValueInWords[a]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n Is the stock of Raw Materials observed, sufficient considering the size of operations
\n\n \n\n \n\n {{val.isdisplayvalue}}\n\n \n\n \n\n \n\n
\n\n \n\n Please comment on the stock level observed?\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n Finished Goods #{{b+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{M_goodsValueInWords[b]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
Retail Trading Details
\n\n
\n\n
\n\n
\n\n
\n\n Traded Goods #{{e+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{R_tradedGoodsValueInWords[e]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
Wholesale Trading Details
\n\n
\n\n
\n\n
\n\n
\n\n Traded Goods #{{g+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No stock observed\n\n Stock not required to be maintained\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{T_tradedGoodsValueInWords[g]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n Is the stock of finished / traded goods observed, sufficient considering the size of operations
\n\n \n\n Select\n\n \n\n {{val.isdisplayvalue}}\n\n \n\n \n\n \n\n
\n\n \n\n Please comment on the stock level observed? \n\n \n\n \n\n
\n\n
\n\n \n\n
Service Provider Details
\n\n
Service Provider Details Not applicable here !!
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n\n\n \n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/, }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], + __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], + __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__["a" /* LoadingProvider */]]) ], PdQuestionStockInfoPage); return PdQuestionStockInfoPage; }()); @@ -3575,18 +3801,20 @@ var PdQuestionStockInfoPage = (function () { /***/ }), -/***/ 206: +/***/ 207: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionFinancialInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -3603,6 +3831,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { + + /** * Generated class for the PdQuestionFinancialInfoPage page. * @@ -3610,7 +3840,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionFinancialInfoPage = (function () { - function PdQuestionFinancialInfoPage(navCtrl, navParams, aws, toast, qustCat, fb, cons) { + function PdQuestionFinancialInfoPage(navCtrl, navParams, aws, toast, qustCat, fb, cons, cameraProvider, loading) { this.navCtrl = navCtrl; this.navParams = navParams; this.aws = aws; @@ -3618,6 +3848,8 @@ var PdQuestionFinancialInfoPage = (function () { this.qustCat = qustCat; this.fb = fb; this.cons = cons; + this.cameraProvider = cameraProvider; + this.loading = loading; this.FY_annualSalesInwords = []; this.FY_netProfitAmtInwords = []; this.FY_netLossAmtInwords = []; @@ -3640,6 +3872,8 @@ var PdQuestionFinancialInfoPage = (function () { { id: 4, name: 'Factoring' }, { id: 5, name: 'Forfaiting' }, { id: 1, name: 'Others' }]; + this.imageBucket = []; + this.tab = '0'; this.pdDetails = this.navParams.get('pdDetails'); this.formDetails = this.navParams.get('formDetails'); this.FormId = this.formDetails.form_id; @@ -3662,6 +3896,7 @@ var PdQuestionFinancialInfoPage = (function () { PdQuestionFinancialInfoPage.prototype.ionViewDidLoad = function () { console.log('ionViewDidLoad PdQuestionFinancialInfoPage'); this.getDetails(); + this.getPDImages(); }; PdQuestionFinancialInfoPage.prototype.AllCalculation = function (control, index) { console.log("all", control); @@ -3851,6 +4086,7 @@ var PdQuestionFinancialInfoPage = (function () { var records = this.financialForm.value; this.qustCat.saveForm(records).subscribe(function (res) { if (res['status'] == 200) { + _this.financialForm.markAsUntouched(); _this.toast.pdTriggerappmessage("Record Saved Successfully"); setTimeout(function () { _this.navCtrl.pop(); @@ -4649,13 +4885,90 @@ var PdQuestionFinancialInfoPage = (function () { break; } }; + /*IMAGE SECTION*/ + PdQuestionFinancialInfoPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.formDetails.form_id, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionFinancialInfoPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionFinancialInfoPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionFinancialInfoPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionFinancialInfoPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionFinancialInfoPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + this.tab = '1'; + }; + PdQuestionFinancialInfoPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.formDetails.form_id, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + _this.toast.pdTriggerappmessage('Fail'); + } + }); + }; PdQuestionFinancialInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-financial-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/'\n\n\n\n\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n
Data As Per Financial Statements
\n\n
\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n Enter year from Which Financials Provided\n\n \n\n Invalid year format\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Financial Year : {{details.get(\'financial_year\').value}}\n\n
\n\n \n\n {{"₹"}} {{FY_annualSalesInwords[i]}} Only \n\n \n\n
\n\n \n\n \n\n \n\n \n\n

\n\n \n\n No difference in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_annualsales_variation\').value}} % \n\n \n\n \n\n Decrease in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_annualsales_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n
\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n
\n\n \n\n \n\n {{"₹"}} {{FY_netProfitAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}}{{FY_netLossAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n

\n\n \n\n No difference in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_variation\').value}} % \n\n \n\n \n\n Decrease in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

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

\n\n \n\n No difference in Profit/Loss to sales % in FY {{details.get(\'financial_year\').value}} over Profit/Loss to sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Profit/Loss to sales % in FY {{details.get(\'financial_year\').value}} over Profit/Loss to sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_profit_to_sale_variation\').value}} % \n\n \n\n \n\n Decrease in Profit/Loss to sales % in FY {{details.get(\'financial_year\').value}} over Profit/Loss to sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_profit_to_sale_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
Financial As Per Customers
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesFrmInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesToInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesInwords[i]}} Only\n\n \n\n\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtToInwords[i]}} Only \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtInwords[i]}} Only \n\n \n\n \n\n
\n\n \n\n \n\n\n\n\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_marginLossAmtInwords[i]}} Only \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtToInwords[i]}} Only \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtInwords[i]}} Only\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n
Working Capital Details
\n\n
\n\n
\n\n \n\n \n\n \n\n In case of Credit Sales, what is the average no of days taken to receive the money?\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n {{a.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n \n\n\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/, + selector: 'page-pd-question-financial-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/'\n\n\n\n\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n \n\n \n\n Form\n\n \n\n \n\n Pictures\n\n \n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n No Documents Found. Press the camera button below to capture\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n \n\n
Data As Per Financial Statements
\n\n
\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n Enter year from Which Financials Provided\n\n \n\n Invalid year format\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Financial Year : {{details.get(\'financial_year\').value}}\n\n
\n\n \n\n {{"₹"}} {{FY_annualSalesInwords[i]}} Only \n\n \n\n
\n\n \n\n \n\n \n\n \n\n

\n\n \n\n No difference in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_annualsales_variation\').value}} % \n\n \n\n \n\n Decrease in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_annualsales_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n
\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n
\n\n \n\n \n\n {{"₹"}} {{FY_netProfitAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}}{{FY_netLossAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n

\n\n \n\n No difference in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_variation\').value}} % \n\n \n\n \n\n Decrease in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

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

\n\n \n\n No difference in Profit/Loss to sales % in FY {{details.get(\'financial_year\').value}} over Profit/Loss to sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Profit/Loss to sales % in FY {{details.get(\'financial_year\').value}} over Profit/Loss to sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_profit_to_sale_variation\').value}} % \n\n \n\n \n\n Decrease in Profit/Loss to sales % in FY {{details.get(\'financial_year\').value}} over Profit/Loss to sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_profit_to_sale_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
Financial As Per Customers
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesFrmInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesToInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesInwords[i]}} Only\n\n \n\n\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtToInwords[i]}} Only \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtInwords[i]}} Only \n\n \n\n \n\n
\n\n \n\n \n\n\n\n\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_marginLossAmtInwords[i]}} Only \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtToInwords[i]}} Only \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtInwords[i]}} Only\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n
Working Capital Details
\n\n
\n\n
\n\n \n\n \n\n \n\n In case of Credit Sales, what is the average no of days taken to receive the money?\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n {{a.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n\n\n \n\n
\n\n\n\n \n\n\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/, encapsulation: __WEBPACK_IMPORTED_MODULE_0__angular_core__["_12" /* ViewEncapsulation */].None, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], - __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) + __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], + __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__["a" /* CameraProvider */], + __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__["a" /* LoadingProvider */]]) ], PdQuestionFinancialInfoPage); return PdQuestionFinancialInfoPage; }()); @@ -4664,17 +4977,19 @@ var PdQuestionFinancialInfoPage = (function () { /***/ }), -/***/ 207: +/***/ 208: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionClientInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -4690,6 +5005,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { + + /** * Generated class for the PdQuestionClientInfoPage page. * @@ -4697,7 +5014,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionClientInfoPage = (function () { - function PdQuestionClientInfoPage(navCtrl, navParams, qustCat, aws, toast, fb) { + function PdQuestionClientInfoPage(navCtrl, navParams, qustCat, aws, toast, fb, loading, cameraProvider) { var _this = this; this.navCtrl = navCtrl; this.navParams = navParams; @@ -4705,6 +5022,8 @@ var PdQuestionClientInfoPage = (function () { this.aws = aws; this.toast = toast; this.fb = fb; + this.loading = loading; + this.cameraProvider = cameraProvider; this.submitted = false; this.m_paymentType = []; this.companyRelationShipList = []; @@ -4714,6 +5033,8 @@ var PdQuestionClientInfoPage = (function () { this.m_manufacturingProducts = []; this.m_tradingProducts = []; this.m_suplierProducts = []; + this.imageBucket = []; + this.tab = '0'; this.manufacturingForm = false; this.tradingForm = false; this.serviceProviderForm = false; @@ -4772,6 +5093,7 @@ var PdQuestionClientInfoPage = (function () { } PdQuestionClientInfoPage.prototype.ionViewDidLoad = function () { console.log('ionViewDidLoad PdQuestionClientInfoPage'); + this.getPDImages(); }; PdQuestionClientInfoPage.prototype.initFormLoadDetails = function (record) { var _this = this; @@ -5207,6 +5529,7 @@ var PdQuestionClientInfoPage = (function () { } ; }); this.qustCat.saveForm(answerFormValues).subscribe(function (responsed) { if (responsed['status'] == 200) { + _this.clientInfoForm.markAsUntouched(); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -5260,11 +5583,88 @@ var PdQuestionClientInfoPage = (function () { var MFG = this.mfgCounter.reduce(function (sum, val) { return sum + +val; }, 0); this.mfgCreditCardFlag = MFG > 0 ? true : false; }; + /*IMAGE SECTION*/ + PdQuestionClientInfoPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.formDetails.form_id, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionClientInfoPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionClientInfoPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionClientInfoPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionClientInfoPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionClientInfoPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + this.tab = '1'; + }; + PdQuestionClientInfoPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.formDetails.form_id, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + _this.toast.pdTriggerappmessage('Fail'); + } + }); + }; PdQuestionClientInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-client-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n Payment received in Cash and also through Banking channels.\n\n \n\n \n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
Trading Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n\n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n Payment received in Cash and also through Banking channels.\n\n \n\n\n\n \n\n \n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
Service Provider Product Details
\n\n \n\n
\n\n
\n\n
\n\n
\n\n Service Provided #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n Payment received in Cash and also through Banking channels.\n\n \n\n \n\n \n\n
\n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/, + selector: 'page-pd-question-client-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n \n\n \n\n \n\n Form\n\n \n\n \n\n Pictures\n\n \n\n \n\n\n\n\n\n
\n\n \n\n \n\n \n\n No Documents Found. Press the camera button below to capture\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n Payment received in Cash and also through Banking channels.\n\n \n\n \n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
Trading Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n\n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n Payment received in Cash and also through Banking channels.\n\n \n\n\n\n \n\n \n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
Service Provider Product Details
\n\n \n\n
\n\n
\n\n
\n\n
\n\n Service Provided #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number\n\n \n\n \n\n \n\n Enter Valid STD Code Number\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n Payment received in Cash and also through Banking channels.\n\n \n\n \n\n \n\n
\n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n\n\n \n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/, }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], + __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], + __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__["a" /* CameraProvider */]]) ], PdQuestionClientInfoPage); return PdQuestionClientInfoPage; }()); @@ -5273,19 +5673,20 @@ var PdQuestionClientInfoPage = (function () { /***/ }), -/***/ 208: +/***/ 209: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedDashPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(374); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_summary_pd_question_assessed_summary__ = __webpack_require__(382); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(376); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_summary_pd_question_assessed_summary__ = __webpack_require__(384); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pd_question_pd_question_assessed_images_pd_question_assessed_images__ = __webpack_require__(386); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -5303,6 +5704,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { + /** * Generated class for the PdQuestionAssessedDashPage page. * @@ -5342,6 +5744,9 @@ var PdQuestionAssessedDashPage = (function () { if (pageId == 11) { this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_summary_pd_question_assessed_summary__["a" /* PdQuestionAssessedSummaryPage */], { 'pdDetails': this.pdDetails, 'pageId': pageId }); } + else if (pageId == 12) { + this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_8__pd_question_pd_question_assessed_images_pd_question_assessed_images__["a" /* PdQuestionAssessedImagesPage */], { 'pdDetails': this.pdDetails, 'pageId': pageId, 'formdetails': this.FormId }); + } else { this.navCtrl.push(__WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_info_pd_question_assessed_info__["a" /* PdQuestionAssessedInfoPage */], { 'pdDetails': this.pdDetails, 'pageId': pageId }); } @@ -5485,7 +5890,7 @@ var PdQuestionAssessedDashPage = (function () { }; PdQuestionAssessedDashPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-dash',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Purchase Calculation\n\n \n\n \n\n \n\n
\n\n \n\n

Purchase Detail Available

\n\n \n\n Purchase Item Wise
\n\n Purchase Bill Wise
\n\n Not Available\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

SALES

\n\n
\n\n
\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

PURCHASE

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

BUSINESS EXPENSE

\n\n
\n\n
\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

HOUSE HOLD

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

SUMMARY

\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n '/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/, + selector: 'page-pd-question-assessed-dash',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Purchase Calculation\n\n \n\n \n\n \n\n
\n\n \n\n

Purchase Detail Available

\n\n \n\n Purchase Item Wise
\n\n Purchase Bill Wise
\n\n Not Available\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

SALES

\n\n
\n\n
\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

PURCHASE

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

BUSINESS EXPENSE

\n\n
\n\n
\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

HOUSE HOLD

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

SUMMARY

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

IMAGES

\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n '/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */]]) ], PdQuestionAssessedDashPage); @@ -5496,6 +5901,67 @@ var PdQuestionAssessedDashPage = (function () { /***/ }), +/***/ 25: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CameraProvider; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__ = __webpack_require__(127); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; + + + +/* + Generated class for the CameraProvider provider. + + See https://angular.io/guide/dependency-injection for more info on providers + and Angular DI. +*/ +var CameraProvider = (function () { + function CameraProvider(http, camera) { + this.http = http; + this.camera = camera; + console.log('Hello CameraProvider Provider'); + } + CameraProvider.prototype.getpicture = function () { + var options = { + quality: 100, + destinationType: this.camera.DestinationType.DATA_URL, + targetWidth: 500, + targetHeight: 500, + correctOrientation: true + }; + // If set to crop, restricts the image to a square of 600 by 600 + return this.camera.getPicture(options).then(function (imageData) { + var base64Image = 'data:image/png;base64,' + imageData; + console.log("base 64", base64Image); + return base64Image; + }, function (error) { + console.log('CAMERA ERROR -> ' + JSON.stringify(error)); + return "error"; + }); + }; + CameraProvider = __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__["a" /* Camera */]]) + ], CameraProvider); + return CameraProvider; +}()); + +//# sourceMappingURL=camera.js.map + +/***/ }), + /***/ 251: /***/ (function(module, exports) { @@ -5513,6 +5979,62 @@ webpackEmptyAsyncContext.id = 251; /***/ }), +/***/ 26: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoadingProvider; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(4); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; + + + +/* + Generated class for the LoadingProvider provider. + + See https://angular.io/guide/dependency-injection for more info on providers + and Angular DI. +*/ +var LoadingProvider = (function () { + function LoadingProvider(http, loadingCtrl) { + this.http = http; + this.loadingCtrl = loadingCtrl; + console.log('Hello LoadingProvider Provider'); + } + LoadingProvider.prototype.pdloader = function (content) { + this.loading = this.loadingCtrl.create({ + content: content + }); + this.loading.present(); + }; + LoadingProvider.prototype.loaderForSendImage = function () { + var loading = this.loadingCtrl.create({ + content: 'Sending...', + duration: 2000, + }); + return loading.present(); + }; + LoadingProvider = __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["n" /* LoadingController */]]) + ], LoadingProvider); + return LoadingProvider; +}()); + +//# sourceMappingURL=loading.js.map + +/***/ }), + /***/ 294: /***/ (function(module, exports) { @@ -5536,12 +6058,12 @@ webpackEmptyAsyncContext.id = 294; "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_material__ = __webpack_require__(123); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__ = __webpack_require__(71); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pd_list_pd_list__ = __webpack_require__(78); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__password_password__ = __webpack_require__(399); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__password_password__ = __webpack_require__(402); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(9); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; @@ -5737,145 +6259,28 @@ var LoginPage = (function () { /***/ }), -/***/ 34: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CameraProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(49); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__ = __webpack_require__(127); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the CameraProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var CameraProvider = (function () { - function CameraProvider(http, camera) { - this.http = http; - this.camera = camera; - console.log('Hello CameraProvider Provider'); - } - CameraProvider.prototype.getpicture = function () { - var options = { - quality: 100, - destinationType: this.camera.DestinationType.DATA_URL, - targetWidth: 500, - targetHeight: 500, - correctOrientation: true - }; - // If set to crop, restricts the image to a square of 600 by 600 - return this.camera.getPicture(options).then(function (imageData) { - var base64Image = 'data:image/png;base64,' + imageData; - console.log("base 64", base64Image); - return base64Image; - }, function (error) { - console.log('CAMERA ERROR -> ' + JSON.stringify(error)); - return "error"; - }); - }; - CameraProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_camera__["a" /* Camera */]]) - ], CameraProvider); - return CameraProvider; -}()); - -//# sourceMappingURL=camera.js.map - -/***/ }), - -/***/ 35: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoadingProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(49); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(5); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -/* - Generated class for the LoadingProvider provider. - - See https://angular.io/guide/dependency-injection for more info on providers - and Angular DI. -*/ -var LoadingProvider = (function () { - function LoadingProvider(http, loadingCtrl) { - this.http = http; - this.loadingCtrl = loadingCtrl; - console.log('Hello LoadingProvider Provider'); - } - LoadingProvider.prototype.pdloader = function (content) { - this.loading = this.loadingCtrl.create({ - content: content - }); - this.loading.present(); - }; - LoadingProvider.prototype.loaderForSendImage = function () { - var loading = this.loadingCtrl.create({ - content: 'Sending...', - duration: 2000, - }); - return loading.present(); - }; - LoadingProvider = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["n" /* LoadingController */]]) - ], LoadingProvider); - return LoadingProvider; -}()); - -//# sourceMappingURL=loading.js.map - -/***/ }), - /***/ 362: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InputPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_status_bar__ = __webpack_require__(191); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_status_bar__ = __webpack_require__(192); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_cdk_platform__ = __webpack_require__(40); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ionic_native_launch_navigator__ = __webpack_require__(363); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_pdtrigger_pdtrigger__ = __webpack_require__(87); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__otp_otp__ = __webpack_require__(202); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__ = __webpack_require__(209); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__otp_otp__ = __webpack_require__(203); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__ = __webpack_require__(210); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_common__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__ionic_native_location_accuracy__ = __webpack_require__(394); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__ionic_native_location_accuracy__ = __webpack_require__(397); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_constants_constants__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__pd_general_images_pd_general_images__ = __webpack_require__(395); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__pd_general_images_pd_general_images__ = __webpack_require__(398); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__ionic_native_android_permissions__ = __webpack_require__(128); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(396); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(399); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -6235,12 +6640,12 @@ var InputPage = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pd_question_category_pd_question_category__ = __webpack_require__(126); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(34); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(25); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(9); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; @@ -6634,8 +7039,8 @@ var PdQuestionPage = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAddressPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs__ = __webpack_require__(21); @@ -6643,7 +7048,8 @@ var PdQuestionPage = (function () { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ionic_native_camera__ = __webpack_require__(127); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rxjs_operators__ = __webpack_require__(19); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__providers_storage_storage__ = __webpack_require__(366); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -6664,6 +7070,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { + /** * Generated class for the PdQuestionAddressPage page. * @@ -6671,7 +7078,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionAddressPage = (function () { - function PdQuestionAddressPage(navCtrl, navParams, fb, qustCat, aws, toast, alerCtrl, constant, camera, loading) { + function PdQuestionAddressPage(navCtrl, navParams, fb, qustCat, aws, toast, alerCtrl, constant, camera, loading, storagedb) { this.navCtrl = navCtrl; this.navParams = navParams; this.fb = fb; @@ -6682,6 +7089,7 @@ var PdQuestionAddressPage = (function () { this.constant = constant; this.camera = camera; this.loading = loading; + this.storagedb = storagedb; //placeholderName : any = 'Estimated area of the (Address Type)'; this.placeholderName = []; this.premisesRentAmtInwords = []; @@ -6897,13 +7305,60 @@ var PdQuestionAddressPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } + var datas = _this.pdQuestionAddress.value; + datas.pd_id = _this.pdDetails.pd_id; + datas.form_id = _this.FormId.form_id; + var form_id = _this.FormId.form_id; + var recors = { 'address': datas }; + _this.storagedb.insertData(recors).then(function (res) { + var alert = _this.toast.setAlert('data', JSON.stringify(res)); + alert.present(); + console.log(res); + }); resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; /** To Get City And Pincode Data For Address Form * Param 'stateID' -> selected StateId @@ -7180,7 +7635,7 @@ var PdQuestionAddressPage = (function () { // },5000) if (data['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.pdQuestionAddress.markAsUntouched(); + _this.pdQuestionAddress.reset(_this.pdQuestionAddress.value); _this.toast.pdTriggerappmessage('Record Saved Successfully'); setTimeout(function () { _this.navCtrl.pop(); @@ -7367,7 +7822,7 @@ var PdQuestionAddressPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -7481,7 +7936,7 @@ var PdQuestionAddressPage = (function () { __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_7__providers_constants_constants__["a" /* ConstantsProvider */], - __WEBPACK_IMPORTED_MODULE_8__ionic_native_camera__["a" /* Camera */], __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__["a" /* LoadingProvider */]]) + __WEBPACK_IMPORTED_MODULE_8__ionic_native_camera__["a" /* Camera */], __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_11__providers_storage_storage__["a" /* StorageProvider */]]) ], PdQuestionAddressPage); return PdQuestionAddressPage; }()); @@ -7493,17 +7948,68 @@ var PdQuestionAddressPage = (function () { /***/ 366: /***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StorageProvider; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Ionic_storage__ = __webpack_require__(367); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; + + + +/* + Generated class for the StorageProvider provider. + + See https://angular.io/guide/dependency-injection for more info on providers + and Angular DI. +*/ +var storage_key = 'form_Datas'; +var StorageProvider = (function () { + function StorageProvider(http, storage) { + this.http = http; + this.storage = storage; + console.log('Hello StorageProvider Provider'); + } + StorageProvider.prototype.insertData = function (data) { + var storage_key = data.address.pd_id; + console.log("storage provider"); + console.log(data); + console.log(JSON.stringify(data)); + return this.storage.set(storage_key, data); + }; + StorageProvider = __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["B" /* Injectable */])(), + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_0__angular_common_http__["b" /* HttpClient */], __WEBPACK_IMPORTED_MODULE_2__Ionic_storage__["b" /* Storage */]]) + ], StorageProvider); + return StorageProvider; +}()); + +//# sourceMappingURL=storage.js.map + +/***/ }), + +/***/ 368: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionEmpInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -7606,13 +8112,50 @@ var PdQuestionEmpInfoPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionEmpInfoPage.prototype.getDropDownList = function () { var _this = this; @@ -7734,7 +8277,8 @@ var PdQuestionEmpInfoPage = (function () { this.qustCat.saveForm(records).subscribe(function (data) { if (data['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.employmentForm.markAsUntouched(); + // this.employmentForm.markAsUntouched(); + _this.employmentForm.reset(_this.employmentForm.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -7906,7 +8450,7 @@ var PdQuestionEmpInfoPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -8004,22 +8548,22 @@ var PdQuestionEmpInfoPage = (function () { /***/ }), -/***/ 367: +/***/ 369: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionCurrentLoansPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs_operators__ = __webpack_require__(19); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -8101,13 +8645,48 @@ var PdQuestionCurrentLoansPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionCurrentLoansPage.prototype.getdropdown = function () { var _this = this; @@ -8342,7 +8921,8 @@ var PdQuestionCurrentLoansPage = (function () { this.qustCat.saveForm(records).subscribe(function (data) { if (data['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.currentLoans.markAsUntouched(); + // this.currentLoans.markAsUntouched(); + _this.currentLoans.reset(_this.currentLoans.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -8591,7 +9171,7 @@ var PdQuestionCurrentLoansPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -8686,22 +9266,22 @@ var PdQuestionCurrentLoansPage = (function () { /***/ }), -/***/ 368: +/***/ 370: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionLoansPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operators__ = __webpack_require__(19); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -8837,13 +9417,50 @@ var PdQuestionLoansPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionLoansPage.prototype.filterBank = function () { if (!this.dbmasters) { @@ -9202,7 +9819,8 @@ var PdQuestionLoansPage = (function () { this.qustCat.saveForm(records).subscribe(function (data) { if (data['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.loanDetailsForm.markAsUntouched(); + // this.loanDetailsForm.markAsUntouched(); + _this.loanDetailsForm.reset(_this.loanDetailsForm.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -9358,7 +9976,7 @@ var PdQuestionLoansPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -9446,22 +10064,22 @@ var PdQuestionLoansPage = (function () { /***/ }), -/***/ 369: +/***/ 371: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBankingPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs_operators__ = __webpack_require__(19); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -9544,16 +10162,17 @@ var PdQuestionBankingPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { - if (_this.imageDisplay.length > 0) { + if (_this.imageBucket.length > 0) { return new Promise(function (resolve1, reject1) { var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); alert.present(); alert.onDidDismiss(function (data) { console.log("d", data); if (data == false) { - reject1(); + //reject1(); reject(); } else { @@ -9563,14 +10182,15 @@ var PdQuestionBankingPage = (function () { }); }); } + resolve(); } }); }); } else { - if (this.imageDisplay.length > 0) { + if (this.imageBucket.length > 0) { return new Promise(function (resolve, reject) { - var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); alert.present(); alert.onDidDismiss(function (data) { console.log("d", data); @@ -9765,7 +10385,11 @@ var PdQuestionBankingPage = (function () { // console.log("pristine",this.bankDetails.markAsPristine()); // console.log("Touched",this.bankDetails.markAsTouched()); //TO CHANGE THE FORM STATE - _this.bankDetails.markAsUntouched(); + // this.bankDetails.markAsUntouched(); + // console.log("touched",this.bankDetails.touched) + // console.log("untouched",this.bankDetails.untouched) + // console.log("pristine",this.bankDetails.pristine) + _this.bankDetails.reset(_this.bankDetails.value); setTimeout(function () { _this.navCtrl.pop(); }, 2000); @@ -9808,7 +10432,7 @@ var PdQuestionBankingPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -9894,22 +10518,22 @@ var PdQuestionBankingPage = (function () { /***/ }), -/***/ 370: +/***/ 372: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionFamilyPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operators__ = __webpack_require__(19); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs__ = __webpack_require__(21); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -10001,13 +10625,50 @@ var PdQuestionFamilyPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionFamilyPage.prototype.initFamilyDetails = function (records) { var _this = this; @@ -10423,7 +11084,7 @@ var PdQuestionFamilyPage = (function () { }); this.qustCat.saveForm(records).subscribe(function (res) { //TO CHANGE THE FORM STATE - _this.familyForm.markAsUntouched(); + _this.familyForm.reset(_this.familyForm.value); _this.toast.pdTriggerappmessage("Record Saved Successfully"); setTimeout(function () { _this.navCtrl.pop(); @@ -10806,7 +11467,7 @@ var PdQuestionFamilyPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -10892,14 +11553,14 @@ var PdQuestionFamilyPage = (function () { /***/ }), -/***/ 371: +/***/ 373: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssestsPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(15); @@ -10995,30 +11656,57 @@ var PdQuestionAssestsPage = (function () { // console.log("v",val) // if(val==1){ // } - // if(val.__zone_symbol__state) return new Promise(function (resolve, reject) { - var alert = _this.alert.create({ - title: 'Form is Modified', - message: 'Are you sure want to Go Back', - cssClass: 'buttoncss', - buttons: [{ - text: 'Yes', - cssClass: 'btnYes', - handler: function () { - resolve(); - } - }, - { - text: 'No', - cssClass: 'btnNo', - handler: function () { - reject(); - } - }] - }); + var alert = _this.toast.setAlert("Form is Modified", "Are you sure want to Go Back"); alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + return true; + } + else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } + resolve(); + } + }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionAssestsPage.prototype.getdropList = function () { var _this = this; @@ -11337,7 +12025,7 @@ var PdQuestionAssestsPage = (function () { this.qustCat.saveForm(answerData).subscribe(function (res) { if (res['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.AssetsDetailsForm.markAsUntouched(); + _this.AssetsDetailsForm.reset(_this.AssetsDetailsForm.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -11563,7 +12251,7 @@ var PdQuestionAssestsPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -11678,21 +12366,21 @@ var PdQuestionAssestsPage = (function () { /***/ }), -/***/ 372: +/***/ 374: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionOtherIncomePage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(203); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(204); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -11781,13 +12469,50 @@ var PdQuestionOtherIncomePage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionOtherIncomePage.prototype.createDetail = function () { return this.fb.group({ @@ -11938,7 +12663,7 @@ var PdQuestionOtherIncomePage = (function () { records.otherincome_remarks = answerData.otherincome_remarks; this.qustCat.saveForm(records).subscribe(function (data) { //TO CHANGE THE FORM STATE - _this.otherIncomeForm.markAsUntouched(); + _this.otherIncomeForm.reset(_this.otherIncomeDetails.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -11987,7 +12712,7 @@ var PdQuestionOtherIncomePage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -12075,17 +12800,17 @@ var PdQuestionOtherIncomePage = (function () { /***/ }), -/***/ 373: +/***/ 375: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionPersonalInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -12344,25 +13069,25 @@ var PdQuestionPersonalInfoPage = (function () { /***/ }), -/***/ 374: +/***/ 376: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(375); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(376); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(377); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(378); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(379); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(380); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(377); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(378); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(379); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(380); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(381); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(382); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__providers_constants_constants__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__ = __webpack_require__(381); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__ = __webpack_require__(383); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -12739,15 +13464,15 @@ var PdQuestionAssessedInfoPage = (function () { /***/ }), -/***/ 375: +/***/ 377: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedSalesPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); @@ -13198,15 +13923,15 @@ var PdQuestionAssessedSalesPage = (function () { /***/ }), -/***/ 376: +/***/ 378: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedDailySalesPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); @@ -13691,14 +14416,14 @@ var PdQuestionAssessedDailySalesPage = (function () { /***/ }), -/***/ 377: +/***/ 379: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedPurchasePage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_aws_service__ = __webpack_require__(8); @@ -14018,14 +14743,14 @@ var PdQuestionAssessedPurchasePage = (function () { /***/ }), -/***/ 378: +/***/ 380: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedBusinessPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); @@ -14271,14 +14996,14 @@ var PdQuestionAssessedBusinessPage = (function () { /***/ }), -/***/ 379: +/***/ 381: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedHouseholdPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__ = __webpack_require__(10); @@ -14519,14 +15244,14 @@ var PdQuestionAssessedHouseholdPage = (function () { /***/ }), -/***/ 380: +/***/ 382: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedBusinessIncomePage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); @@ -14762,15 +15487,15 @@ var PdQuestionAssessedBusinessIncomePage = (function () { /***/ }), -/***/ 381: +/***/ 383: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedDailyPurchasePage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_common__ = __webpack_require__(7); @@ -15079,15 +15804,15 @@ var PdQuestionAssessedDailyPurchasePage = (function () { /***/ }), -/***/ 382: +/***/ 384: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedSummaryPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pipes_rupee_currency_format_rupee_currency_format__ = __webpack_require__(383); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pipes_rupee_currency_format_rupee_currency_format__ = __webpack_require__(385); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -15154,7 +15879,7 @@ var PdQuestionAssessedSummaryPage = (function () { /***/ }), -/***/ 383: +/***/ 385: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -15207,19 +15932,162 @@ var RupeeCurrencyFormatPipe = (function () { /***/ }), -/***/ 384: +/***/ 386: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionAssessedImagesPage; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_loading__ = __webpack_require__(26); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__ = __webpack_require__(10); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; + + + + + + +/** + * Generated class for the PdQuestionAssessedImagesPage page. + * + * See https://ionicframework.com/docs/components/#navigation for more info on + * Ionic pages and navigation. + */ +var PdQuestionAssessedImagesPage = (function () { + function PdQuestionAssessedImagesPage(navCtrl, navParams, cameraProvider, loading, toast, qustCat) { + this.navCtrl = navCtrl; + this.navParams = navParams; + this.cameraProvider = cameraProvider; + this.loading = loading; + this.toast = toast; + this.qustCat = qustCat; + this.imageDisplay = []; + this.imageBucket = []; + this.pdDetails = this.navParams.get('pdDetails'); + this.FormId = this.navParams.get('formdetails'); + console.log("pd", this.pdDetails, "form", this.FormId); + } + PdQuestionAssessedImagesPage.prototype.ionViewDidLoad = function () { + console.log('ionViewDidLoad PdQuestionAssessedImagesPage'); + this.getPDImages(); + }; + /*IMAGE SECTION*/ + PdQuestionAssessedImagesPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionAssessedImagesPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionAssessedImagesPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionAssessedImagesPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionAssessedImagesPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionAssessedImagesPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + }; + PdQuestionAssessedImagesPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.FormId.form_id, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + console.log("res", res); + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + console.log("Fail"); + _this.toast.pdTriggerappmessage('Fail'); + } + }, function (ERR) { + console.log(JSON.stringify(ERR)); + _this.toast.pdTriggerappmessage(JSON.stringify(ERR)); + }); + }; + PdQuestionAssessedImagesPage = __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ + selector: 'page-pd-question-assessed-images',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-images\pd-question-assessed-images.html"*/'\n\n\n \n Images For Assessed Income\n \n\n\n\n\n\n \n \n \n No Documents Found\n \n \n \n \n \n \n\n \n \n \n
\n
\n
\n \n
\n
\n\n \n
\n \n \n \n \n\n \n \n \n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-images\pd-question-assessed-images.html"*/, + }), + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__["a" /* CameraProvider */], + __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]]) + ], PdQuestionAssessedImagesPage); + return PdQuestionAssessedImagesPage; +}()); + +//# sourceMappingURL=pd-question-assessed-images.js.map + +/***/ }), + +/***/ 387: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionLenderRepresentativePage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -15283,13 +16151,50 @@ var PdQuestionLenderRepresentativePage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionLenderRepresentativePage.prototype.createlenReDetails = function () { return this.fb.group({ @@ -15314,7 +16219,7 @@ var PdQuestionLenderRepresentativePage = (function () { this.qustCat.saveForm(records).subscribe(function (res) { if (res['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.representativeForm.markAsUntouched(); + _this.representativeForm.reset(_this.representativeForm.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -15356,7 +16261,7 @@ var PdQuestionLenderRepresentativePage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -15444,23 +16349,23 @@ var PdQuestionLenderRepresentativePage = (function () { /***/ }), -/***/ 385: +/***/ 388: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionGeneralInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_general_other_applicant_pd_question_general_other_applicant__ = __webpack_require__(386); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_question_general_other_applicant_pd_question_general_other_applicant__ = __webpack_require__(389); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__angular_common__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__ = __webpack_require__(387); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__ = __webpack_require__(390); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__angular_material__ = __webpack_require__(123); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -15591,13 +16496,50 @@ var PdQuestionGeneralInfoPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionGeneralInfoPage.prototype.initlistv = function (data, purpose) { var control = this.generalForm.controls['list_value']; @@ -16309,7 +17251,7 @@ var PdQuestionGeneralInfoPage = (function () { this.qustCat.saveForm(saveRecords).subscribe(function (dataResult) { if (dataResult['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.generalForm.markAsUntouched(); + _this.generalForm.reset(_this.generalForm.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -16541,7 +17483,7 @@ var PdQuestionGeneralInfoPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -16638,14 +17580,14 @@ var PdQuestionGeneralInfoPage = (function () { /***/ }), -/***/ 386: +/***/ 389: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionGeneralOtherApplicantPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -16721,7 +17663,7 @@ var PdQuestionGeneralOtherApplicantPage = (function () { /***/ }), -/***/ 387: +/***/ 390: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -16771,20 +17713,20 @@ var PdPipe = (function () { /***/ }), -/***/ 388: +/***/ 391: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionNeighbourHoodPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -16865,13 +17807,50 @@ var PdQuestionNeighbourHoodPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionNeighbourHoodPage.prototype.getdropdown = function () { var _this = this; @@ -17148,7 +18127,7 @@ var PdQuestionNeighbourHoodPage = (function () { this.qustCat.saveForm(saveRecords).subscribe(function (res) { if (res['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this.neighbourhoodForm.markAsUntouched(); + _this.neighbourhoodForm.reset(_this.neighbourhoodForm.value); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -17221,7 +18200,7 @@ var PdQuestionNeighbourHoodPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -17309,19 +18288,19 @@ var PdQuestionNeighbourHoodPage = (function () { /***/ }), -/***/ 389: +/***/ 392: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionFinalRemarkPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -17400,13 +18379,50 @@ var PdQuestionFinalRemarkPage = (function () { console.log("d", data); if (data == false) { reject(); + return true; } else { + //AFTER FORM DIRTY CHECK + if (_this.imageBucket.length > 0) { + return new Promise(function (resolve1, reject1) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the Save Image button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + //reject1(); + reject(); + } + else { + resolve1(); + resolve(); + } + }); + }); + } resolve(); } }); }); } + else { + //REGULAR CHECK FOR IMAGE IS CAPTURED + if (this.imageBucket.length > 0) { + return new Promise(function (resolve, reject) { + var alert = _this.toast.setAlert("Captured Images are not Saved", "Note:To Save the image press the 'Save Image' button
Are you sure want to Go Back?"); + alert.present(); + alert.onDidDismiss(function (data) { + console.log("d", data); + if (data == false) { + reject(); + } + else { + resolve(); + } + }); + }); + } + } }; PdQuestionFinalRemarkPage.prototype.getDropDown = function () { var _this = this; @@ -17660,7 +18676,7 @@ var PdQuestionFinalRemarkPage = (function () { this.qustcat.saveForm(answerData).subscribe(function (res) { if (res['dataStatus'] == true) { //TO CHANGE THE FORM STATE - _this._finalRemarkForm.markAsUntouched(); + _this._finalRemarkForm.reset(_this._finalRemarkForm.value); _this.toast.pdTriggerappmessage("Record Saved Successfully"); setTimeout(function () { _this.navCtrl.pop(); @@ -17676,7 +18692,7 @@ var PdQuestionFinalRemarkPage = (function () { var _this = this; //FOR RETRIEVING PICTURES this.imageDisplay = []; - var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id }; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId.form_id, 'company_id': null }; this.qustcat.getPDImages(record_for_pic).subscribe(function (val) { if (!val['msg']) { console.log(val['records']); @@ -17761,22 +18777,22 @@ var PdQuestionFinalRemarkPage = (function () { /***/ }), -/***/ 390: +/***/ 393: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessGroupPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(204); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(207); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(205); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(391); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(392); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(393); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(206); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(208); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(205); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(208); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(206); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(394); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(395); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(396); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(207); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(209); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -17905,20 +18921,22 @@ var PdQuestionBusinessGroupPage = (function () { /***/ }), -/***/ 391: +/***/ 394: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operators__ = __webpack_require__(19); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -17937,6 +18955,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { + + /** * Generated class for the PdQuestionBusinessInfoPage page. * @@ -17944,7 +18964,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionBusinessInfoPage = (function () { - function PdQuestionBusinessInfoPage(navCtrl, navParams, aws, toast, qustCat, fb, cons) { + function PdQuestionBusinessInfoPage(navCtrl, navParams, aws, toast, qustCat, fb, cons, loading, cameraProvider) { this.navCtrl = navCtrl; this.navParams = navParams; this.aws = aws; @@ -17952,6 +18972,8 @@ var PdQuestionBusinessInfoPage = (function () { this.qustCat = qustCat; this.fb = fb; this.cons = cons; + this.loading = loading; + this.cameraProvider = cameraProvider; this.stateList = []; this.applicants = []; this.businessEntityTypeList = { @@ -17984,6 +19006,8 @@ var PdQuestionBusinessInfoPage = (function () { this.filteredState = new __WEBPACK_IMPORTED_MODULE_8_rxjs__["ReplaySubject"](1); this.cityData = []; this.cityDataValue = []; + this.imageBucket = []; + this.tab = '0'; this.ManufacturingCounterArray = []; this.RetailCounterArray = []; this.WholeSaleCounterArray = []; @@ -18043,6 +19067,7 @@ var PdQuestionBusinessInfoPage = (function () { } PdQuestionBusinessInfoPage.prototype.ionViewDidLoad = function () { console.log('ionViewDidLoad PdQuestionBusinessInfoPage'); + this.getPDImages(); }; PdQuestionBusinessInfoPage.prototype.getdropdown = function () { var _this = this; @@ -19323,7 +20348,7 @@ var PdQuestionBusinessInfoPage = (function () { PdQuestionBusinessInfoPage.prototype.initBusinessForm = function () { this.businessForm = this.fb.group({ pdid: this.pdDetails.pd_id, - formid: this.FormId.form_id, + formid: this.FormId, fk_createdby: this.users, profession_name: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], business_years: ['', __WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].compose([__WEBPACK_IMPORTED_MODULE_5__angular_forms__["m" /* Validators */].required])], @@ -19529,6 +20554,7 @@ var PdQuestionBusinessInfoPage = (function () { // console.log('records',records); this.qustCat.saveForm(records).subscribe(function (data) { if (data['dataStatus'] == true) { + _this.businessForm.markAsUntouched(); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -19538,7 +20564,7 @@ var PdQuestionBusinessInfoPage = (function () { }; PdQuestionBusinessInfoPage.prototype.getBuisnessDetails = function () { var _this = this; - var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id }; + var records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId }; this.qustCat.retiverForm(records).subscribe(function (data) { var businessVal = data['records']; var constVal; @@ -19599,7 +20625,7 @@ var PdQuestionBusinessInfoPage = (function () { } businessVal.family_members_involved = enduse_1; businessVal.pdid = _this.pdDetails.pd_id; - businessVal.formid = _this.FormId.form_id; + businessVal.formid = _this.FormId; businessVal.fk_createdby = _this.users; businessVal.designation = DesgnArray; businessVal.partners = PartnrArray; @@ -19781,15 +20807,93 @@ var PdQuestionBusinessInfoPage = (function () { } this.filteredState.next(this.stateList.filter(function (res) { return res.state_name.toLowerCase().indexOf(searchVal) > -1; })); }; + /*IMAGE SECTION*/ + PdQuestionBusinessInfoPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.FormId, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionBusinessInfoPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionBusinessInfoPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionBusinessInfoPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionBusinessInfoPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionBusinessInfoPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + this.tab = '1'; + }; + PdQuestionBusinessInfoPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.FormId, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + _this.toast.pdTriggerappmessage('Fail'); + } + }); + }; __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('shareholding'), __metadata("design:type", __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */]) ], PdQuestionBusinessInfoPage.prototype, "share_focus", void 0); PdQuestionBusinessInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/'\n\n\n\n \n\n \n\n {{formdetails.form_name}}\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n
{{businessEntityTypeList.section_label }} # {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n {{app.applicant_name}}\n\n Others\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n Select\n\n Yes\n\n No\n\n \n\n \n\n

No of Years in Current Business

\n\n \n\n \n\n {{yearErrorMessage[i]}}\n\n   \n\n \n\n \n\n {{monthErrorMessage[i]}}\n\n \n\n \n\n \n\n {{errorMessageForExistTotalWorkExperience[i]}}\n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n

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

Add Other Family Members Involved in Business

\n\n \n\n \n\n \n\n \n\n \n\n
Family Member #{{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n {{title.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{member.name\n\n + \' Of\' | titlecase}}\n\n \n\n \n\n \n\n \n\n {{member.applicant_name\n\n | titlecase}}\n\n \n\n \n\n \n\n \n\n {{comrelship.name\n\n | titlecase}}\n\n \n\n \n\n \n\n \n\n Select\n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n

\n\n \n\n Type of Business Activity\n\n \n\n
\n\n\n\n {{entityType.controls.name.value\n\n | titlecase}}\n\n\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n
\n\n
Manufacturing Details {{i+1}}
\n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{Cl.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{manufacturing.value.main_products}}\n\n\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n \n\n
Within India
\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{manufacturing.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n\n\n
\n\n\n\n \n\n Description of {{manufacturing.value.main_products}} Manufacturing Process\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n
\n\n \n\n
Retail Trading Details {{r+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n\n\n \n\n Countries Where Export Is Being Done for\n\n {{retail.value.main_products}}\n\n\n\n \n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n\n\n \n\n

Within India

\n\n\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{retail.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n
\n\n
\n\n\n\n\n\n\n\n\n\n
\n\n\n\n \n\n Description of {{retail.value.main_products}} Retailing\n\n process\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n\n\n\n\n
\n\n\n\n\n\n \n\n\n\n
\n\n
\n\n \n\n
Wholesale Trade Details {{w+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n
\n\n
\n\n\n\n \n\n Countries Where The Export Is Being Done for\n\n {{wholesale.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n\n\n\n\n \n\n
\n\n
\n\n \n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n Countries Where The Export Is Being Done for\n\n {{wholesale.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n \n\n
\n\n \n\n
\n\n\n\n\n\n
\n\n\n\n
\n\n \n\n \n\n Description of {{wholesale.value.main_products}} Wholesale\n\n process \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n \n\n
\n\n
\n\n \n\n
Service Provider Details {{sp+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n\n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n
\n\n
\n\n\n\n \n\n Countries Where The Export Is Being Done for\n\n {{serviceprovider.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n \n\n\n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{serviceprovider.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n\n\n\n\n \n\n \n\n Description of {{serviceprovider.value.main_products}} Service Process\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n\n\n \n\n\n\n \n\n \n\n Export Sale As a % Total Sales\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Digital Payments\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Machine Details {{i+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{b.lender_name}}\n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n \n\n \n\n Seasonality\n\n \n\n \n\n
\n\n\n\n

Is The Business Seasonal

\n\n \n\n\n\n Yes\n\n No Major Changes In Sales\n\n\n\n\n\n \n\n \n\n In Which Period Is Maximum Sale / Service Done\n\n \n\n January\n\n February\n\n March\n\n April\n\n May\n\n June\n\n July\n\n August\n\n September\n\n October\n\n November\n\n December\n\n\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n\n\n \n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n \n\n \n\n Employees As Per Applicant \n\n\n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{appxSalaryAmtInwords}} Only\n\n\n\n \n\n \n\n \n\n \n\n \n\n No of Employees Sighted By PD Officer During His Visit \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Documents Sighted \n\n \n\n \n\n\n\n\n\n

Shop and Est Act Cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n\n\n\n\n

GST Regn Cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n\n\n
\n\n

Export / Import cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n
\n\n\n\n
\n\n

Factory Cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n \n\n
\n\n\n\n
\n\n\n\n\n\n

Cert of Practice

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n
\n\n\n\n\n\n\n\n

PF Regn

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n\n\n

ESIC Regn

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n \n\n\n\n\n\n\n\n

Do You Want to Add Other Documents?

\n\n \n\n\n\n Yes\n\n No\n\n\n\n\n\n\n\n \n\n\n\n
\n\n
\n\n \n\n \n\n \n\n\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n\n\n \n\n\n\n
\n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/, + selector: 'page-pd-question-business-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/'\n\n\n\n \n\n \n\n {{formdetails.form_name}}\n\n\n\n\n\n \n\n \n\n \n\n Form\n\n \n\n \n\n Pictures\n\n \n\n \n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n No Documents Found. Press the camera button below to capture\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n
{{businessEntityTypeList.section_label }} # {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n {{app.applicant_name}}\n\n Others\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n Select\n\n Yes\n\n No\n\n \n\n \n\n

No of Years in Current Business

\n\n \n\n \n\n {{yearErrorMessage[i]}}\n\n   \n\n \n\n \n\n {{monthErrorMessage[i]}}\n\n \n\n \n\n \n\n {{errorMessageForExistTotalWorkExperience[i]}}\n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n

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

Add Other Family Members Involved in Business

\n\n \n\n \n\n \n\n \n\n \n\n
Family Member #{{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n {{title.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{member.name\n\n + \' Of\' | titlecase}}\n\n \n\n \n\n \n\n \n\n {{member.applicant_name\n\n | titlecase}}\n\n \n\n \n\n \n\n \n\n {{comrelship.name\n\n | titlecase}}\n\n \n\n \n\n \n\n \n\n Select\n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n

\n\n \n\n Type of Business Activity\n\n \n\n
\n\n\n\n {{entityType.controls.name.value\n\n | titlecase}}\n\n\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n
\n\n
Manufacturing Details {{i+1}}
\n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{Cl.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{manufacturing.value.main_products}}\n\n\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n \n\n
Within India
\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{manufacturing.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n\n\n
\n\n\n\n \n\n Description of {{manufacturing.value.main_products}} Manufacturing Process\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n
\n\n \n\n
Retail Trading Details {{r+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n\n\n \n\n Countries Where Export Is Being Done for\n\n {{retail.value.main_products}}\n\n\n\n \n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n\n\n \n\n

Within India

\n\n\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{retail.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{retail.value.main_products}}\n\n\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n
\n\n
\n\n\n\n\n\n\n\n\n\n
\n\n\n\n \n\n Description of {{retail.value.main_products}} Retailing\n\n process\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n\n\n\n\n
\n\n\n\n\n\n \n\n\n\n
\n\n
\n\n \n\n
Wholesale Trade Details {{w+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n
\n\n
\n\n\n\n \n\n Countries Where The Export Is Being Done for\n\n {{wholesale.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n\n\n\n\n \n\n
\n\n
\n\n \n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n\n\n Countries Where The Export Is Being Done for\n\n {{wholesale.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n \n\n
\n\n \n\n
\n\n\n\n\n\n
\n\n\n\n
\n\n \n\n \n\n Description of {{wholesale.value.main_products}} Wholesale\n\n process \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n \n\n
\n\n
\n\n \n\n
Service Provider Details {{sp+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n\n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n
\n\n
\n\n\n\n \n\n Countries Where The Export Is Being Done for\n\n {{serviceprovider.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n \n\n\n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for\n\n {{serviceprovider.value.main_products}}\n\n\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for\n\n {{serviceprovider.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n\n\n\n\n \n\n \n\n Description of {{serviceprovider.value.main_products}} Service Process\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n\n\n \n\n\n\n \n\n \n\n Export Sale As a % Total Sales\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Digital Payments\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Machine Details {{i+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{b.lender_name}}\n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n\n\n \n\n \n\n Seasonality\n\n \n\n \n\n
\n\n\n\n

Is The Business Seasonal

\n\n \n\n\n\n Yes\n\n No Major Changes In Sales\n\n\n\n\n\n \n\n \n\n In Which Period Is Maximum Sale / Service Done\n\n \n\n January\n\n February\n\n March\n\n April\n\n May\n\n June\n\n July\n\n August\n\n September\n\n October\n\n November\n\n December\n\n\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n\n\n \n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n \n\n \n\n Employees As Per Applicant \n\n\n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{appxSalaryAmtInwords}} Only\n\n\n\n \n\n \n\n \n\n \n\n \n\n No of Employees Sighted By PD Officer During His Visit \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n Documents Sighted \n\n \n\n \n\n\n\n\n\n

Shop and Est Act Cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n\n\n\n\n

GST Regn Cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n\n\n
\n\n

Export / Import cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n
\n\n\n\n
\n\n

Factory Cert

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n \n\n
\n\n\n\n
\n\n\n\n\n\n

Cert of Practice

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n
\n\n\n\n\n\n\n\n

PF Regn

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n\n\n\n\n \n\n\n\n

ESIC Regn

\n\n \n\n\n\n Yes\n\n No\n\n NA\n\n \n\n\n\n\n\n\n\n

Do You Want to Add Other Documents?

\n\n \n\n\n\n Yes\n\n No\n\n\n\n\n\n\n\n \n\n\n\n
\n\n
\n\n \n\n \n\n \n\n\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n\n\n \n\n\n\n
\n\n
\n\n\n\n\n\n \n\n
\n\n\n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/, }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_7__providers_constants_constants__["a" /* ConstantsProvider */]]) + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], + __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], + __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_7__providers_constants_constants__["a" /* ConstantsProvider */], + __WEBPACK_IMPORTED_MODULE_10__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_camera__["a" /* CameraProvider */]]) ], PdQuestionBusinessInfoPage); return PdQuestionBusinessInfoPage; }()); @@ -19798,20 +20902,20 @@ var PdQuestionBusinessInfoPage = (function () { /***/ }), -/***/ 392: +/***/ 395: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessAssetsPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -20733,19 +21837,21 @@ var PdQuestionBusinessAssetsPage = (function () { /***/ }), -/***/ 393: +/***/ 396: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessBankingPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__ = __webpack_require__(15); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_loading__ = __webpack_require__(26); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -20764,6 +21870,8 @@ var __metadata = (this && this.__metadata) || function (k, v) { + + /** * Generated class for the PdQuestionBusinessBankingPage page. * @@ -20771,7 +21879,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { * Ionic pages and navigation. */ var PdQuestionBusinessBankingPage = (function () { - function PdQuestionBusinessBankingPage(navCtrl, navParams, aws, fb, qustCat, cons, toast) { + function PdQuestionBusinessBankingPage(navCtrl, navParams, aws, fb, qustCat, cons, toast, loading, cameraProvider) { this.navCtrl = navCtrl; this.navParams = navParams; this.aws = aws; @@ -20779,6 +21887,8 @@ var PdQuestionBusinessBankingPage = (function () { this.qustCat = qustCat; this.cons = cons; this.toast = toast; + this.loading = loading; + this.cameraProvider = cameraProvider; this.existCompanyList = []; this.mergeCompanyApplicant = []; this.amtInwords = []; @@ -20788,6 +21898,8 @@ var PdQuestionBusinessBankingPage = (function () { this.monthErrorMessage = []; this.m_btLenderListValue = []; this._onDestroy = new __WEBPACK_IMPORTED_MODULE_7_rxjs__["Subject"](); + this.imageBucket = []; + this.tab = '0'; this.pdDetails = this.navParams.get('pdDetails'); this.pd_cus_segment = this.pdDetails.customer_segment_abbr.toUpperCase(); this.pd_cus_segment = this.pd_cus_segment.substring(0, 3); @@ -20812,6 +21924,7 @@ var PdQuestionBusinessBankingPage = (function () { } PdQuestionBusinessBankingPage.prototype.ionViewDidLoad = function () { console.log('ionViewDidLoad PdQuestionBusinessBankingPage'); + this.getPDImages(); }; PdQuestionBusinessBankingPage.prototype.searchFun = function (control) { if (!this.m_btLenderListValue) { @@ -21038,6 +22151,7 @@ var PdQuestionBusinessBankingPage = (function () { records.banking_form_remark = answerData.banking_form_remark; this.qustCat.saveForm(records).subscribe(function (data) { if (data['dataStatus'] == true) { + _this.bankingForm.markAsUntouched(); _this.toast.pdTriggerappmessage('Record Saved Successfully.!'); setTimeout(function () { _this.navCtrl.pop(); @@ -21048,11 +22162,89 @@ var PdQuestionBusinessBankingPage = (function () { } }); }; + /*IMAGE SECTION*/ + PdQuestionBusinessBankingPage.prototype.getPDImages = function () { + var _this = this; + //FOR RETRIEVING PICTURES + this.imageDisplay = []; + var record_for_pic = { 'pd_id': this.pdDetails.pd_id, 'form_id': this.formDetails.form_id, 'company_id': this.pdDetails.company_id }; + this.qustCat.getPDImages(record_for_pic).subscribe(function (val) { + if (!val['msg']) { + console.log(val['records']); + if (val['records'].length > 0) { + val['records'].forEach(function (result) { + _this.imageDisplay.push({ 'image': result.doc_url, 'Name': result.pd_document_title, 'option': 'dummy' }); + }); + console.log("imageBuck", _this.imageDisplay); + } + } + }); + }; + PdQuestionBusinessBankingPage.prototype.changeName = function (value, index, img) { + console.log(value); + this.imageDisplay[index] = { 'image': img, 'Name': value }; + }; + PdQuestionBusinessBankingPage.prototype.changeNameForBucket = function (value, index, img) { + this.imageBucket[index] = { 'image': img, 'Name': value }; + }; + PdQuestionBusinessBankingPage.prototype.removeImg = function (index) { + this.imageDisplay.splice(index, 1); + }; + PdQuestionBusinessBankingPage.prototype.removeImgForBucket = function (index) { + this.imageBucket.splice(index, 1); + }; + PdQuestionBusinessBankingPage.prototype.capture = function () { + var _this = this; + //FOR CAPTURING PICS + this.cameraProvider.getpicture().then(function (res) { + console.log("Value", res); + if (res != 'error') { + _this.imageBucket.push({ 'image': res, 'Name': '' }); + //FOR GETTING THE DOC NAME FROM ALERT + var alert_1 = _this.toast.setAlertForDocName(); + alert_1.present(); + alert_1.onDidDismiss(function (value) { + console.log("alert value", value); + if (value) { + _this.imageBucket[_this.imageBucket.length - 1].Name = value.Name; + } + }); + } + }, function (error) { + console.log("Camera Error ", JSON.stringify(error)); + }); + this.tab = '1'; + }; + PdQuestionBusinessBankingPage.prototype.sendImage = function () { + var _this = this; + this.loading.loaderForSendImage(); + console.log("ll", JSON.stringify(this.imageBucket)); + var records = { + 'pd_id': this.pdDetails.pd_id, + 'formid': this.formDetails.form_id, + 'images': this.imageBucket, + 'company_id': this.pdDetails.company_id + }; + console.log("records", JSON.stringify(records)); + this.qustCat.savePDImages(records).subscribe(function (res) { + if (res['dataStatus'] == true) { + _this.toast.pdTriggerappmessage("Image Saved Successfully"); + _this.imageBucket = []; + _this.getPDImages(); + } + else { + _this.toast.pdTriggerappmessage('Fail'); + } + }); + }; PdQuestionBusinessBankingPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-banking',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/'\n\n\n\n\n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
Banking Details {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n {{val.name}} \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{ btLen.lender_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{bankacc.name}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n Limit In case of OD / CC account, What is the Limit \n\n \n\n \n\n {{"₹"}} {{amtInwords[i]}} Only\n\n \n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n \n\n {{yearErrorMessage[i]}}\n\n \n\n \n\n \n\n {{monthErrorMessage[i]}}\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n \n\n\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/, + selector: 'page-pd-question-business-banking',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/'\n\n\n\n\n\n \n\n {{formDetails.form_name}}\n\n \n\n \n\n \n\n Form\n\n \n\n \n\n Pictures\n\n \n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n No Documents Found. Press the camera button below to capture\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
Banking Details {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n {{val.name}} \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{ btLen.lender_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{bankacc.name}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n Limit In case of OD / CC account, What is the Limit \n\n \n\n \n\n {{"₹"}} {{amtInwords[i]}} Only\n\n \n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n \n\n {{yearErrorMessage[i]}}\n\n \n\n \n\n \n\n {{monthErrorMessage[i]}}\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n\n\n \n\n\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/, }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */]]) + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], + __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], + __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_9__providers_common_provider_loading__["a" /* LoadingProvider */], + __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_camera__["a" /* CameraProvider */]]) ], PdQuestionBusinessBankingPage); return PdQuestionBusinessBankingPage; }()); @@ -21061,14 +22253,14 @@ var PdQuestionBusinessBankingPage = (function () { /***/ }), -/***/ 395: +/***/ 398: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdGeneralImagesPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__ = __webpack_require__(34); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__ = __webpack_require__(25); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -21149,17 +22341,17 @@ var PdGeneralImagesPage = (function () { /***/ }), -/***/ 396: +/***/ 399: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BouncedRejectPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_pdtrigger_pdtrigger__ = __webpack_require__(87); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pd_list_pd_list__ = __webpack_require__(78); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__ = __webpack_require__(9); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -21259,14 +22451,14 @@ var BouncedRejectPage = (function () { /***/ }), -/***/ 397: +/***/ 400: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DatabaseProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(49); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_sqlite__ = __webpack_require__(398); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_sqlite__ = __webpack_require__(401); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -21328,13 +22520,13 @@ var DatabaseProvider = (function () { /***/ }), -/***/ 399: +/***/ 402: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PasswordPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__ = __webpack_require__(78); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__ = __webpack_require__(9); @@ -21405,20 +22597,20 @@ var PasswordPage = (function () { /***/ }), -/***/ 400: +/***/ 403: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AuthPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pd_list_pd_list__ = __webpack_require__(78); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__ = __webpack_require__(71); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__ = __webpack_require__(9); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__ = __webpack_require__(401); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__ = __webpack_require__(404); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_constants_constants__ = __webpack_require__(15); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; @@ -21556,13 +22748,13 @@ var AuthPage = (function () { /***/ }), -/***/ 404: +/***/ 407: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__ = __webpack_require__(405); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_module__ = __webpack_require__(534); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__ = __webpack_require__(408); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_module__ = __webpack_require__(537); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_core__ = __webpack_require__(0); @@ -21573,91 +22765,94 @@ Object(__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__["a" /* pl /***/ }), -/***/ 534: +/***/ 537: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModule; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(47); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(48); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_component__ = __webpack_require__(573); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__ = __webpack_require__(191); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_component__ = __webpack_require__(576); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__ = __webpack_require__(192); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ionic_native_splash_screen__ = __webpack_require__(337); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_platform_browser_animations__ = __webpack_require__(674); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ionic_native_sqlite__ = __webpack_require__(398); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(397); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_platform_browser_animations__ = __webpack_require__(680); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ionic_native_sqlite__ = __webpack_require__(401); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(400); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__ = __webpack_require__(128); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_material__ = __webpack_require__(123); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__providers_aws_service_aws_service__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__angular_common_http__ = __webpack_require__(49); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_guard_auth_guard__ = __webpack_require__(676); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__ = __webpack_require__(677); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__angular_common_http__ = __webpack_require__(41); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_guard_auth_guard__ = __webpack_require__(682); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__ = __webpack_require__(683); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__providers_aws_service_cognito_service__ = __webpack_require__(71); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__providers_constants_constants__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_auth_auth__ = __webpack_require__(400); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_auth_auth__ = __webpack_require__(403); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__pages_login_login__ = __webpack_require__(338); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__pages_pd_list_pd_list__ = __webpack_require__(78); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__pages_pd_question_category_pd_question_category__ = __webpack_require__(126); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__pages_pd_question_pd_question__ = __webpack_require__(364); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pages_googleplaytab_googleplaytab__ = __webpack_require__(678); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__pages_password_password__ = __webpack_require__(399); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__pages_pd_allocation_pd_allocation__ = __webpack_require__(679); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__pages_googleplaytab_googleplaytab__ = __webpack_require__(684); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__pages_password_password__ = __webpack_require__(402); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__pages_pd_allocation_pd_allocation__ = __webpack_require__(685); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pages_input_input__ = __webpack_require__(362); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__providers_common_provider_toast__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__providers_pdtrigger_pdtrigger__ = __webpack_require__(87); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__ionic_native_fingerprint_aio__ = __webpack_require__(401); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__ionic_native_fingerprint_aio__ = __webpack_require__(404); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__ionic_native_launch_navigator__ = __webpack_require__(363); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__pages_otp_otp__ = __webpack_require__(202); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__pages_otp_otp__ = __webpack_require__(203); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__providers_question_category_question_category__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__angular_forms__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33_ionic_img_viewer__ = __webpack_require__(680); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__providers_common_provider_camera__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__providers_common_provider_loading__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__angular_forms__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33_ionic_img_viewer__ = __webpack_require__(686); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__providers_common_provider_camera__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__providers_common_provider_loading__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__ionic_native_camera__ = __webpack_require__(127); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__pages_pd_question_pd_question_address_pd_question_address__ = __webpack_require__(365); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_assests_pd_question_assests__ = __webpack_require__(371); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_banking_pd_question_banking__ = __webpack_require__(369); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_current_loans_pd_question_current_loans__ = __webpack_require__(367); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_emp_info_pd_question_emp_info__ = __webpack_require__(366); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_family_pd_question_family__ = __webpack_require__(370); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_loans_pd_question_loans__ = __webpack_require__(368); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(206); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_other_income_pd_question_other_income__ = __webpack_require__(372); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(204); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__ionic_native_geolocation__ = __webpack_require__(209); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_personal_info_pd_question_personal_info__ = __webpack_require__(373); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(205); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(207); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(391); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(203); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(374); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(376); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(375); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(379); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(377); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(208); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(396); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(378); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__ = __webpack_require__(384); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_general_info_pd_question_general_info__ = __webpack_require__(385); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__pages_pd_question_pd_question_general_info_pd_question_general_other_applicant_pd_question_general_other_applicant__ = __webpack_require__(386); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__ = __webpack_require__(388); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_final_remark_pd_question_final_remark__ = __webpack_require__(389); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__pages_pd_question_pd_question_business_pd_question_business__ = __webpack_require__(687); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__pages_pd_question_pd_question_business_group_pd_question_business_group__ = __webpack_require__(390); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(392); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(393); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__pipes_pd_pd__ = __webpack_require__(387); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(380); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__ = __webpack_require__(395); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__ = __webpack_require__(688); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__ionic_native_location_accuracy__ = __webpack_require__(394); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__pages_pd_question_pd_question_assessed_summary_pd_question_assessed_summary__ = __webpack_require__(382); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76_ngx_mat_select_search__ = __webpack_require__(689); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__netbasal_content_loader__ = __webpack_require__(690); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__pages_pd_question_pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__ = __webpack_require__(381); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__pipes_rupee_currency_format_rupee_currency_format__ = __webpack_require__(383); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__pages_pd_question_pd_question_assests_pd_question_assests__ = __webpack_require__(373); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__pages_pd_question_pd_question_banking_pd_question_banking__ = __webpack_require__(371); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__pages_pd_question_pd_question_current_loans_pd_question_current_loans__ = __webpack_require__(369); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__pages_pd_question_pd_question_emp_info_pd_question_emp_info__ = __webpack_require__(368); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__pages_pd_question_pd_question_family_pd_question_family__ = __webpack_require__(372); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__pages_pd_question_pd_question_loans_pd_question_loans__ = __webpack_require__(370); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__pages_pd_question_pd_question_business_group_pd_question_financial_info_pd_question_financial_info__ = __webpack_require__(207); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__pages_pd_question_pd_question_other_income_pd_question_other_income__ = __webpack_require__(374); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__pages_pd_question_pd_question_business_group_pd_question_supplier_info_pd_question_supplier_info__ = __webpack_require__(205); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__ionic_native_geolocation__ = __webpack_require__(210); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__pages_pd_question_pd_question_personal_info_pd_question_personal_info__ = __webpack_require__(375); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__pages_pd_question_pd_question_business_group_pd_question_stock_info_pd_question_stock_info__ = __webpack_require__(206); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__pages_pd_question_pd_question_business_group_pd_question_client_info_pd_question_client_info__ = __webpack_require__(208); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__pages_pd_question_pd_question_business_group_pd_question_business_info_pd_question_business_info__ = __webpack_require__(394); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__pages_pd_question_pd_question_rental_info_pd_question_rental_info__ = __webpack_require__(204); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__pages_pd_question_pd_question_assessed_info_pd_question_assessed_info__ = __webpack_require__(376); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__pages_pd_question_pd_question_assessed_daily_sales_pd_question_assessed_daily_sales__ = __webpack_require__(378); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__pages_pd_question_pd_question_assessed_sales_pd_question_assessed_sales__ = __webpack_require__(377); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__pages_pd_question_pd_question_assessed_household_pd_question_assessed_household__ = __webpack_require__(381); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__pages_pd_question_pd_question_assessed_purchase_pd_question_assessed_purchase__ = __webpack_require__(379); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__pages_pd_question_pd_question_assessed_dash_pd_question_assessed_dash__ = __webpack_require__(209); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__pages_input_bounced_reject_bounced_reject__ = __webpack_require__(399); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__pages_pd_question_pd_question_assessed_business_pd_question_assessed_business__ = __webpack_require__(380); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__pages_pd_question_pd_question_lender_representative_pd_question_lender_representative__ = __webpack_require__(387); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__pages_pd_question_pd_question_general_info_pd_question_general_info__ = __webpack_require__(388); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__pages_pd_question_pd_question_general_info_pd_question_general_other_applicant_pd_question_general_other_applicant__ = __webpack_require__(389); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__pages_pd_question_pd_question_neighbour_hood_pd_question_neighbour_hood__ = __webpack_require__(391); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__pages_pd_question_pd_question_final_remark_pd_question_final_remark__ = __webpack_require__(392); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__pages_pd_question_pd_question_business_pd_question_business__ = __webpack_require__(693); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__pages_pd_question_pd_question_business_group_pd_question_business_group__ = __webpack_require__(393); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__pages_pd_question_pd_question_business_group_pd_question_business_assets_pd_question_business_assets__ = __webpack_require__(395); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__pages_pd_question_pd_question_business_group_pd_question_business_banking_pd_question_business_banking__ = __webpack_require__(396); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__pipes_pd_pd__ = __webpack_require__(390); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__pages_pd_question_pd_question_assessed_business_income_pd_question_assessed_business_income__ = __webpack_require__(382); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__ = __webpack_require__(398); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__ = __webpack_require__(694); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__ionic_native_location_accuracy__ = __webpack_require__(397); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__pages_pd_question_pd_question_assessed_summary_pd_question_assessed_summary__ = __webpack_require__(384); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76_ngx_mat_select_search__ = __webpack_require__(695); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__netbasal_content_loader__ = __webpack_require__(696); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__pages_pd_question_pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__ = __webpack_require__(383); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__pipes_rupee_currency_format_rupee_currency_format__ = __webpack_require__(385); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__pages_pd_question_pd_question_assessed_images_pd_question_assessed_images__ = __webpack_require__(386); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__Ionic_storage__ = __webpack_require__(367); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__providers_storage_storage__ = __webpack_require__(366); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -21743,6 +22938,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, + + + +// import {PipesModule} from '../pipes/pipes.module' var AppModule = (function () { @@ -21800,7 +22999,9 @@ var AppModule = (function () { __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__["a" /* PdQuestionSalaryInfoPage */], __WEBPACK_IMPORTED_MODULE_75__pages_pd_question_pd_question_assessed_summary_pd_question_assessed_summary__["a" /* PdQuestionAssessedSummaryPage */], __WEBPACK_IMPORTED_MODULE_78__pages_pd_question_pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__["a" /* PdQuestionAssessedDailyPurchasePage */], + __WEBPACK_IMPORTED_MODULE_80__pages_pd_question_pd_question_assessed_images_pd_question_assessed_images__["a" /* PdQuestionAssessedImagesPage */], __WEBPACK_IMPORTED_MODULE_79__pipes_rupee_currency_format_rupee_currency_format__["a" /* RupeeCurrencyFormatPipe */] + // PipesModule ], imports: [ __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__["a" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_32__angular_forms__["l" /* ReactiveFormsModule */], __WEBPACK_IMPORTED_MODULE_32__angular_forms__["g" /* FormsModule */], @@ -21840,6 +23041,7 @@ var AppModule = (function () { __WEBPACK_IMPORTED_MODULE_10__angular_material__["H" /* MatTooltipModule */], __WEBPACK_IMPORTED_MODULE_10__angular_material__["D" /* MatStepperModule */], __WEBPACK_IMPORTED_MODULE_12__angular_common_http__["c" /* HttpClientModule */], __WEBPACK_IMPORTED_MODULE_33_ionic_img_viewer__["a" /* IonicImageViewerModule */], __WEBPACK_IMPORTED_MODULE_76_ngx_mat_select_search__["a" /* NgxMatSelectSearchModule */], __WEBPACK_IMPORTED_MODULE_77__netbasal_content_loader__["a" /* ContentLoaderModule */], + __WEBPACK_IMPORTED_MODULE_81__Ionic_storage__["a" /* IonicStorageModule */].forRoot() ], bootstrap: [__WEBPACK_IMPORTED_MODULE_2_ionic_angular__["k" /* IonicApp */]], entryComponents: [ @@ -21891,7 +23093,8 @@ var AppModule = (function () { __WEBPACK_IMPORTED_MODULE_72__pages_pd_general_images_pd_general_images__["a" /* PdGeneralImagesPage */], __WEBPACK_IMPORTED_MODULE_73__pages_pd_question_pd_question_salary_info_pd_question_salary_info__["a" /* PdQuestionSalaryInfoPage */], __WEBPACK_IMPORTED_MODULE_75__pages_pd_question_pd_question_assessed_summary_pd_question_assessed_summary__["a" /* PdQuestionAssessedSummaryPage */], - __WEBPACK_IMPORTED_MODULE_78__pages_pd_question_pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__["a" /* PdQuestionAssessedDailyPurchasePage */] + __WEBPACK_IMPORTED_MODULE_78__pages_pd_question_pd_question_assessed_daily_purchase_pd_question_assessed_daily_purchase__["a" /* PdQuestionAssessedDailyPurchasePage */], + __WEBPACK_IMPORTED_MODULE_80__pages_pd_question_pd_question_assessed_images_pd_question_assessed_images__["a" /* PdQuestionAssessedImagesPage */] ], providers: [ __WEBPACK_IMPORTED_MODULE_4__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_11__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_13__providers_guard_auth_guard__["a" /* AuthGuard */], __WEBPACK_IMPORTED_MODULE_14__providers_guard_token_interceptor__["a" /* TokenInterceptor */], __WEBPACK_IMPORTED_MODULE_26__providers_common_provider_toast__["a" /* ToastProvider */], @@ -21910,7 +23113,8 @@ var AppModule = (function () { __WEBPACK_IMPORTED_MODULE_34__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_36__ionic_native_camera__["a" /* Camera */], __WEBPACK_IMPORTED_MODULE_70__pipes_pd_pd__["a" /* PdPipe */], __WEBPACK_IMPORTED_MODULE_74__ionic_native_location_accuracy__["a" /* LocationAccuracy */], __WEBPACK_IMPORTED_MODULE_35__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_47__ionic_native_geolocation__["a" /* Geolocation */], - __WEBPACK_IMPORTED_MODULE_8__providers_database_database__["a" /* DatabaseProvider */] + __WEBPACK_IMPORTED_MODULE_8__providers_database_database__["a" /* DatabaseProvider */], + __WEBPACK_IMPORTED_MODULE_82__providers_storage_storage__["a" /* StorageProvider */], ] }) ], AppModule); @@ -21921,20 +23125,20 @@ var AppModule = (function () { /***/ }), -/***/ 573: +/***/ 576: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MyApp; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__ = __webpack_require__(191); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__ = __webpack_require__(192); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__ = __webpack_require__(337); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_login_login__ = __webpack_require__(338); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_pd_list_pd_list__ = __webpack_require__(78); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_cognito_service__ = __webpack_require__(71); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_auth_auth__ = __webpack_require__(400); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_auth_auth__ = __webpack_require__(403); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -22108,7 +23312,7 @@ var MyApp = (function () { /***/ }), -/***/ 676: +/***/ 682: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -22161,13 +23365,13 @@ var AuthGuard = (function () { /***/ }), -/***/ 677: +/***/ 683: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TokenInterceptor; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common_http__ = __webpack_require__(49); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common_http__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operators__ = __webpack_require__(19); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__aws_service_cognito_service__ = __webpack_require__(71); @@ -22236,13 +23440,13 @@ var TokenInterceptor = (function () { /***/ }), -/***/ 678: +/***/ 684: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GoogleplaytabPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -22360,13 +23564,13 @@ var GoogleplaytabPage = (function () { /***/ }), -/***/ 679: +/***/ 685: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdAllocationPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -22408,13 +23612,13 @@ var PdAllocationPage = (function () { /***/ }), -/***/ 687: +/***/ 693: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionBusinessPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__ = __webpack_require__(10); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -22472,14 +23676,14 @@ var PdQuestionBusinessPage = (function () { /***/ }), -/***/ 688: +/***/ 694: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdQuestionSalaryInfoPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(5); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -22711,14 +23915,14 @@ var CognitoServiceProvider = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdListPage; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__input_input__ = __webpack_require__(362); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__ = __webpack_require__(8); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_pdtrigger_pdtrigger__ = __webpack_require__(87); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_cognito_service__ = __webpack_require__(71); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__otp_otp__ = __webpack_require__(202); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__otp_otp__ = __webpack_require__(203); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pd_question_category_pd_question_category__ = __webpack_require__(126); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(397); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__providers_database_database__ = __webpack_require__(400); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__ = __webpack_require__(128); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; @@ -22923,12 +24127,12 @@ var PdListPage = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AwsServiceProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(49); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_amazon_cognito_identity_js__ = __webpack_require__(339); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__ = __webpack_require__(50); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(617); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(620); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__cognito_service__ = __webpack_require__(71); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__constants_constants__ = __webpack_require__(15); @@ -23119,7 +24323,7 @@ var AwsServiceProvider = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PdtriggerProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(49); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants_constants__ = __webpack_require__(15); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -23185,9 +24389,9 @@ var PdtriggerProvider = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ToastProvider; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(49); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common_http__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(4); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -23284,5 +24488,5 @@ var ToastProvider = (function () { /***/ }) -},[404]); +},[407]); //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/platforms/android/app/build/intermediates/assets/debug/www/build/vendor.js b/platforms/android/app/build/intermediates/assets/debug/www/build/vendor.js index ad2df09b..66059ee5 100644 --- a/platforms/android/app/build/intermediates/assets/debug/www/build/vendor.js +++ b/platforms/android/app/build/intermediates/assets/debug/www/build/vendor.js @@ -345,9 +345,9 @@ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__ = __webpack_require__(50); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge__ = __webpack_require__(43); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge__ = __webpack_require__(44); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_merge__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share__ = __webpack_require__(449); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share__ = __webpack_require__(452); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_operator_share__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__ = __webpack_require__(23); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__); @@ -16846,7 +16846,7 @@ function transition$$1(stateChangeExpr, steps) { //# sourceMappingURL=core.js.map -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(212))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(129))) /***/ }), /* 1 */ @@ -17669,6 +17669,453 @@ function requestIonicCallback(functionToLazy) { /* 4 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_app_app_root__ = __webpack_require__(148); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_0__components_app_app_root__["b"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_app_menu_controller__ = __webpack_require__(75); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return __WEBPACK_IMPORTED_MODULE_1__components_app_menu_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_action_sheet_action_sheet__ = __webpack_require__(150); +/* unused harmony reexport ActionSheet */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_action_sheet_action_sheet_controller__ = __webpack_require__(255); +/* unused harmony reexport ActionSheetController */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_action_sheet_action_sheet_component__ = __webpack_require__(151); +/* unused harmony reexport ActionSheetCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_alert_alert__ = __webpack_require__(152); +/* unused harmony reexport Alert */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_alert_alert_controller__ = __webpack_require__(256); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_6__components_alert_alert_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_alert_alert_component__ = __webpack_require__(153); +/* unused harmony reexport AlertCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_app_app__ = __webpack_require__(24); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_8__components_app_app__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_avatar_avatar__ = __webpack_require__(257); +/* unused harmony reexport Avatar */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_backdrop_backdrop__ = __webpack_require__(154); +/* unused harmony reexport Backdrop */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_badge_badge__ = __webpack_require__(258); +/* unused harmony reexport Badge */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_button_button__ = __webpack_require__(98); +/* unused harmony reexport Button */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_card_card__ = __webpack_require__(259); +/* unused harmony reexport Card */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_card_card_content__ = __webpack_require__(260); +/* unused harmony reexport CardContent */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_card_card_header__ = __webpack_require__(261); +/* unused harmony reexport CardHeader */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_card_card_title__ = __webpack_require__(262); +/* unused harmony reexport CardTitle */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_checkbox_checkbox__ = __webpack_require__(263); +/* unused harmony reexport Checkbox */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_chip_chip__ = __webpack_require__(270); +/* unused harmony reexport Chip */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_content_content__ = __webpack_require__(61); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_19__components_content_content__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_datetime_datetime__ = __webpack_require__(271); +/* unused harmony reexport DateTime */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_fab_fab__ = __webpack_require__(117); +/* unused harmony reexport FabButton */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_fab_fab_container__ = __webpack_require__(273); +/* unused harmony reexport FabContainer */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__components_fab_fab_list__ = __webpack_require__(161); +/* unused harmony reexport FabList */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_grid_col__ = __webpack_require__(274); +/* unused harmony reexport Col */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_grid_grid__ = __webpack_require__(275); +/* unused harmony reexport Grid */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_grid_row__ = __webpack_require__(276); +/* unused harmony reexport Row */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__components_ion__ = __webpack_require__(13); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_27__components_ion__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__components_icon_icon__ = __webpack_require__(155); +/* unused harmony reexport Icon */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__components_img_img__ = __webpack_require__(277); +/* unused harmony reexport Img */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__components_infinite_scroll_infinite_scroll__ = __webpack_require__(162); +/* unused harmony reexport InfiniteScroll */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__components_infinite_scroll_infinite_scroll_content__ = __webpack_require__(278); +/* unused harmony reexport InfiniteScrollContent */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__components_input_input__ = __webpack_require__(279); +/* unused harmony reexport TextInput */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__components_item_item__ = __webpack_require__(56); +/* unused harmony reexport Item */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__components_item_item_content__ = __webpack_require__(281); +/* unused harmony reexport ItemContent */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__components_item_item_divider__ = __webpack_require__(282); +/* unused harmony reexport ItemDivider */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__components_item_item_group__ = __webpack_require__(283); +/* unused harmony reexport ItemGroup */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__components_item_item_options__ = __webpack_require__(163); +/* unused harmony reexport ItemOptions */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__components_item_item_reorder__ = __webpack_require__(157); +/* unused harmony reexport ItemReorder */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__components_item_item_sliding__ = __webpack_require__(284); +/* unused harmony reexport ItemSliding */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__components_item_reorder__ = __webpack_require__(285); +/* unused harmony reexport Reorder */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__components_label_label__ = __webpack_require__(156); +/* unused harmony reexport Label */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__components_list_list__ = __webpack_require__(164); +/* unused harmony reexport List */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__components_list_list_header__ = __webpack_require__(165); +/* unused harmony reexport ListHeader */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__components_loading_loading__ = __webpack_require__(286); +/* unused harmony reexport Loading */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__components_loading_loading_controller__ = __webpack_require__(287); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return __WEBPACK_IMPORTED_MODULE_45__components_loading_loading_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__components_loading_loading_component__ = __webpack_require__(166); +/* unused harmony reexport LoadingCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__components_menu_menu__ = __webpack_require__(288); +/* unused harmony reexport Menu */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__components_menu_menu_close__ = __webpack_require__(289); +/* unused harmony reexport MenuClose */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__components_menu_menu_toggle__ = __webpack_require__(290); +/* unused harmony reexport MenuToggle */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__components_menu_menu_types__ = __webpack_require__(558); +/* unused harmony reexport MenuType */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__components_modal_modal__ = __webpack_require__(292); +/* unused harmony reexport Modal */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__components_modal_modal_component__ = __webpack_require__(169); +/* unused harmony reexport ModalCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__components_modal_modal_controller__ = __webpack_require__(295); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return __WEBPACK_IMPORTED_MODULE_53__components_modal_modal_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__components_nav_nav__ = __webpack_require__(167); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return __WEBPACK_IMPORTED_MODULE_54__components_nav_nav__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__components_nav_nav_pop__ = __webpack_require__(171); +/* unused harmony reexport NavPop */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__components_nav_nav_pop_anchor__ = __webpack_require__(296); +/* unused harmony reexport NavPopAnchor */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__components_nav_nav_push__ = __webpack_require__(172); +/* unused harmony reexport NavPush */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__components_nav_nav_push_anchor__ = __webpack_require__(297); +/* unused harmony reexport NavPushAnchor */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__components_note_note__ = __webpack_require__(298); +/* unused harmony reexport Note */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__components_option_option__ = __webpack_require__(173); +/* unused harmony reexport Option */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__components_picker_picker__ = __webpack_require__(272); +/* unused harmony reexport Picker */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__components_picker_picker_component__ = __webpack_require__(159); +/* unused harmony reexport PickerCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__components_picker_picker_column__ = __webpack_require__(160); +/* unused harmony reexport PickerColumnCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__components_picker_picker_controller__ = __webpack_require__(158); +/* unused harmony reexport PickerController */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__components_popover_popover__ = __webpack_require__(174); +/* unused harmony reexport Popover */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__components_popover_popover_component__ = __webpack_require__(175); +/* unused harmony reexport PopoverCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__components_popover_popover_controller__ = __webpack_require__(299); +/* unused harmony reexport PopoverController */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__components_radio_radio_button__ = __webpack_require__(300); +/* unused harmony reexport RadioButton */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__components_radio_radio_group__ = __webpack_require__(176); +/* unused harmony reexport RadioGroup */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__components_range_range__ = __webpack_require__(301); +/* unused harmony reexport Range */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__components_range_range_knob__ = __webpack_require__(302); +/* unused harmony reexport RangeKnob */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__components_refresher_refresher__ = __webpack_require__(177); +/* unused harmony reexport Refresher */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__components_refresher_refresher_content__ = __webpack_require__(303); +/* unused harmony reexport RefresherContent */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__components_scroll_scroll__ = __webpack_require__(304); +/* unused harmony reexport Scroll */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__components_searchbar_searchbar__ = __webpack_require__(305); +/* unused harmony reexport Searchbar */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76__components_segment_segment__ = __webpack_require__(306); +/* unused harmony reexport Segment */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__components_segment_segment_button__ = __webpack_require__(178); +/* unused harmony reexport SegmentButton */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__components_select_select__ = __webpack_require__(307); +/* unused harmony reexport Select */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__components_select_select_popover_component__ = __webpack_require__(179); +/* unused harmony reexport SelectPopover */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__components_show_hide_when_show_when__ = __webpack_require__(308); +/* unused harmony reexport ShowWhen */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__components_show_hide_when_display_when__ = __webpack_require__(180); +/* unused harmony reexport DisplayWhen */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__components_show_hide_when_hide_when__ = __webpack_require__(309); +/* unused harmony reexport HideWhen */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_83__components_slides_slide__ = __webpack_require__(310); +/* unused harmony reexport Slide */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_84__components_slides_slides__ = __webpack_require__(181); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return __WEBPACK_IMPORTED_MODULE_84__components_slides_slides__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_85__components_spinner_spinner__ = __webpack_require__(314); +/* unused harmony reexport Spinner */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_86__components_split_pane_split_pane__ = __webpack_require__(101); +/* unused harmony reexport SplitPane */ +/* unused harmony reexport RootNode */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_87__components_tabs_tab__ = __webpack_require__(315); +/* unused harmony reexport Tab */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_88__components_tabs_tab_button__ = __webpack_require__(316); +/* unused harmony reexport TabButton */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_89__components_tabs_tab_highlight__ = __webpack_require__(187); +/* unused harmony reexport TabHighlight */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_90__components_tabs_tabs__ = __webpack_require__(186); +/* unused harmony reexport Tabs */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_91__components_toast_toast__ = __webpack_require__(317); +/* unused harmony reexport Toast */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_92__components_toast_toast_component__ = __webpack_require__(188); +/* unused harmony reexport ToastCmp */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_93__components_toast_toast_controller__ = __webpack_require__(318); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return __WEBPACK_IMPORTED_MODULE_93__components_toast_toast_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_94__components_toggle_toggle__ = __webpack_require__(319); +/* unused harmony reexport Toggle */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_95__components_toolbar_toolbar_footer__ = __webpack_require__(320); +/* unused harmony reexport Footer */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_96__components_toolbar_toolbar_header__ = __webpack_require__(321); +/* unused harmony reexport Header */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_97__components_toolbar_toolbar__ = __webpack_require__(121); +/* unused harmony reexport Toolbar */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_98__components_toolbar_toolbar_item__ = __webpack_require__(322); +/* unused harmony reexport ToolbarItem */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_99__components_toolbar_toolbar_title__ = __webpack_require__(323); +/* unused harmony reexport ToolbarTitle */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_100__components_toolbar_navbar__ = __webpack_require__(102); +/* unused harmony reexport Navbar */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_101__components_thumbnail_thumbnail__ = __webpack_require__(324); +/* unused harmony reexport Thumbnail */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_102__components_typography_typography__ = __webpack_require__(325); +/* unused harmony reexport Typography */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_103__components_virtual_scroll_virtual_footer__ = __webpack_require__(189); +/* unused harmony reexport VirtualFooter */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_104__components_virtual_scroll_virtual_header__ = __webpack_require__(190); +/* unused harmony reexport VirtualHeader */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_105__components_virtual_scroll_virtual_item__ = __webpack_require__(191); +/* unused harmony reexport VirtualItem */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_106__components_virtual_scroll_virtual_scroll__ = __webpack_require__(326); +/* unused harmony reexport VirtualScroll */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_107__config_config__ = __webpack_require__(2); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_107__config_config__["a"]; }); +/* unused harmony reexport setupConfig */ +/* unused harmony reexport ConfigToken */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_108__platform_dom_controller__ = __webpack_require__(28); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_108__platform_dom_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_109__platform_platform__ = __webpack_require__(11); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return __WEBPACK_IMPORTED_MODULE_109__platform_platform__["a"]; }); +/* unused harmony reexport setupPlatform */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_110__tap_click_haptic__ = __webpack_require__(100); +/* unused harmony reexport Haptic */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_111__navigation_deep_linker__ = __webpack_require__(53); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_111__navigation_deep_linker__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_112__navigation_ionic_page__ = __webpack_require__(570); +/* unused harmony reexport IonicPage */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_113__navigation_nav_controller__ = __webpack_require__(68); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return __WEBPACK_IMPORTED_MODULE_113__navigation_nav_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_114__navigation_nav_controller_base__ = __webpack_require__(114); +/* unused harmony reexport NavControllerBase */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_115__navigation_nav_params__ = __webpack_require__(52); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return __WEBPACK_IMPORTED_MODULE_115__navigation_nav_params__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_116__navigation_nav_util__ = __webpack_require__(67); +/* unused harmony reexport DeepLinkMetadata */ +/* unused harmony reexport DeepLinkMetadataFactory */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_117__tap_click_tap_click__ = __webpack_require__(327); +/* unused harmony reexport TapClick */ +/* unused harmony reexport setupTapClick */ +/* unused harmony reexport isActivatable */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_118__navigation_url_serializer__ = __webpack_require__(113); +/* unused harmony reexport UrlSerializer */ +/* unused harmony reexport DeepLinkConfigToken */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_119__navigation_view_controller__ = __webpack_require__(20); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "y", function() { return __WEBPACK_IMPORTED_MODULE_119__navigation_view_controller__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_120__gestures_pan_gesture__ = __webpack_require__(115); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return __WEBPACK_IMPORTED_MODULE_120__gestures_pan_gesture__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_121__gestures_gesture__ = __webpack_require__(572); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_121__gestures_gesture__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_122__gestures_slide_edge_gesture__ = __webpack_require__(149); +/* unused harmony reexport SlideEdgeGesture */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_123__gestures_slide_gesture__ = __webpack_require__(253); +/* unused harmony reexport SlideGesture */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_124__gestures_gesture_controller__ = __webpack_require__(27); +/* unused harmony reexport BLOCK_ALL */ +/* unused harmony reexport GESTURE_GO_BACK_SWIPE */ +/* unused harmony reexport GESTURE_MENU_SWIPE */ +/* unused harmony reexport GESTURE_ITEM_SWIPE */ +/* unused harmony reexport GESTURE_REFRESHER */ +/* unused harmony reexport GESTURE_TOGGLE */ +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_124__gestures_gesture_controller__["l"]; }); +/* unused harmony reexport GestureDelegate */ +/* unused harmony reexport BlockerDelegate */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_125__util_events__ = __webpack_require__(331); +/* unused harmony reexport Events */ +/* unused harmony reexport setupEvents */ +/* unused harmony reexport setupProvideEvents */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_126__util_ionic_error_handler__ = __webpack_require__(573); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_126__util_ionic_error_handler__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_127__platform_keyboard__ = __webpack_require__(99); +/* unused harmony reexport Keyboard */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_128__util_form__ = __webpack_require__(55); +/* unused harmony reexport Form */ +/* unused harmony reexport IonicFormInput */ +/* unused harmony reexport IonicTapInput */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_129__util_util__ = __webpack_require__(3); +/* unused harmony reexport reorderArray */ +/* unused harmony reexport normalizeURL */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_130__animations_animation__ = __webpack_require__(39); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_130__animations_animation__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_131__transitions_page_transition__ = __webpack_require__(82); +/* unused harmony reexport PageTransition */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_132__transitions_transition__ = __webpack_require__(76); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "x", function() { return __WEBPACK_IMPORTED_MODULE_132__transitions_transition__["a"]; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_133__platform_platform_registry__ = __webpack_require__(332); +/* unused harmony reexport PlatformConfigToken */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_134__config_mode_registry__ = __webpack_require__(333); +/* unused harmony reexport registerModeConfigs */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_135__gestures_gesture_config__ = __webpack_require__(334); +/* unused harmony reexport IonicGestureConfig */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_136__module__ = __webpack_require__(574); +/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_136__module__["a"]; }); +/* unused harmony reexport IonicPageModule */ +/* unused harmony reexport provideLocationStrategy */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/** + * Global Providers + */ + + + + + + + + + + + + + +/** + * Export Utils + */ + + + + + + + + + + + + + + + + + +//# sourceMappingURL=index.js.map + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + "use strict"; /* unused harmony export AbstractControlDirective */ /* unused harmony export AbstractFormGroupDirective */ @@ -17745,11 +18192,11 @@ function requestIonicCallback(functionToLazy) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin__ = __webpack_require__(264); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_forkJoin__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__ = __webpack_require__(544); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__ = __webpack_require__(547); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_fromPromise__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__ = __webpack_require__(265); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__ = __webpack_require__(47); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__ = __webpack_require__(48); /** * @license Angular v5.0.3 * (c) 2010-2017 Google, Inc. https://angular.io/ @@ -25892,453 +26339,6 @@ var ReactiveFormsModule = (function () { //# sourceMappingURL=forms.js.map -/***/ }), -/* 5 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_app_app_root__ = __webpack_require__(147); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_0__components_app_app_root__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_app_menu_controller__ = __webpack_require__(75); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return __WEBPACK_IMPORTED_MODULE_1__components_app_menu_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_action_sheet_action_sheet__ = __webpack_require__(149); -/* unused harmony reexport ActionSheet */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_action_sheet_action_sheet_controller__ = __webpack_require__(255); -/* unused harmony reexport ActionSheetController */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_action_sheet_action_sheet_component__ = __webpack_require__(150); -/* unused harmony reexport ActionSheetCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_alert_alert__ = __webpack_require__(151); -/* unused harmony reexport Alert */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_alert_alert_controller__ = __webpack_require__(256); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_6__components_alert_alert_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_alert_alert_component__ = __webpack_require__(152); -/* unused harmony reexport AlertCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_app_app__ = __webpack_require__(24); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_8__components_app_app__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_avatar_avatar__ = __webpack_require__(257); -/* unused harmony reexport Avatar */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_backdrop_backdrop__ = __webpack_require__(153); -/* unused harmony reexport Backdrop */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_badge_badge__ = __webpack_require__(258); -/* unused harmony reexport Badge */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_button_button__ = __webpack_require__(98); -/* unused harmony reexport Button */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_card_card__ = __webpack_require__(259); -/* unused harmony reexport Card */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_card_card_content__ = __webpack_require__(260); -/* unused harmony reexport CardContent */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_card_card_header__ = __webpack_require__(261); -/* unused harmony reexport CardHeader */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_card_card_title__ = __webpack_require__(262); -/* unused harmony reexport CardTitle */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_checkbox_checkbox__ = __webpack_require__(263); -/* unused harmony reexport Checkbox */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_chip_chip__ = __webpack_require__(270); -/* unused harmony reexport Chip */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_content_content__ = __webpack_require__(61); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_19__components_content_content__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_datetime_datetime__ = __webpack_require__(271); -/* unused harmony reexport DateTime */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_fab_fab__ = __webpack_require__(117); -/* unused harmony reexport FabButton */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_fab_fab_container__ = __webpack_require__(273); -/* unused harmony reexport FabContainer */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__components_fab_fab_list__ = __webpack_require__(160); -/* unused harmony reexport FabList */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_grid_col__ = __webpack_require__(274); -/* unused harmony reexport Col */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_grid_grid__ = __webpack_require__(275); -/* unused harmony reexport Grid */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_grid_row__ = __webpack_require__(276); -/* unused harmony reexport Row */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__components_ion__ = __webpack_require__(13); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_27__components_ion__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__components_icon_icon__ = __webpack_require__(154); -/* unused harmony reexport Icon */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__components_img_img__ = __webpack_require__(277); -/* unused harmony reexport Img */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__components_infinite_scroll_infinite_scroll__ = __webpack_require__(161); -/* unused harmony reexport InfiniteScroll */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__components_infinite_scroll_infinite_scroll_content__ = __webpack_require__(278); -/* unused harmony reexport InfiniteScrollContent */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__components_input_input__ = __webpack_require__(279); -/* unused harmony reexport TextInput */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__components_item_item__ = __webpack_require__(56); -/* unused harmony reexport Item */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__components_item_item_content__ = __webpack_require__(281); -/* unused harmony reexport ItemContent */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__components_item_item_divider__ = __webpack_require__(282); -/* unused harmony reexport ItemDivider */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__components_item_item_group__ = __webpack_require__(283); -/* unused harmony reexport ItemGroup */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__components_item_item_options__ = __webpack_require__(162); -/* unused harmony reexport ItemOptions */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__components_item_item_reorder__ = __webpack_require__(156); -/* unused harmony reexport ItemReorder */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__components_item_item_sliding__ = __webpack_require__(284); -/* unused harmony reexport ItemSliding */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__components_item_reorder__ = __webpack_require__(285); -/* unused harmony reexport Reorder */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__components_label_label__ = __webpack_require__(155); -/* unused harmony reexport Label */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__components_list_list__ = __webpack_require__(163); -/* unused harmony reexport List */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__components_list_list_header__ = __webpack_require__(164); -/* unused harmony reexport ListHeader */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__components_loading_loading__ = __webpack_require__(286); -/* unused harmony reexport Loading */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__components_loading_loading_controller__ = __webpack_require__(287); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return __WEBPACK_IMPORTED_MODULE_45__components_loading_loading_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__components_loading_loading_component__ = __webpack_require__(165); -/* unused harmony reexport LoadingCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__components_menu_menu__ = __webpack_require__(288); -/* unused harmony reexport Menu */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__components_menu_menu_close__ = __webpack_require__(289); -/* unused harmony reexport MenuClose */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__components_menu_menu_toggle__ = __webpack_require__(290); -/* unused harmony reexport MenuToggle */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__components_menu_menu_types__ = __webpack_require__(555); -/* unused harmony reexport MenuType */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__components_modal_modal__ = __webpack_require__(292); -/* unused harmony reexport Modal */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__components_modal_modal_component__ = __webpack_require__(168); -/* unused harmony reexport ModalCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__components_modal_modal_controller__ = __webpack_require__(295); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return __WEBPACK_IMPORTED_MODULE_53__components_modal_modal_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__components_nav_nav__ = __webpack_require__(166); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return __WEBPACK_IMPORTED_MODULE_54__components_nav_nav__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__components_nav_nav_pop__ = __webpack_require__(170); -/* unused harmony reexport NavPop */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__components_nav_nav_pop_anchor__ = __webpack_require__(296); -/* unused harmony reexport NavPopAnchor */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__components_nav_nav_push__ = __webpack_require__(171); -/* unused harmony reexport NavPush */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__components_nav_nav_push_anchor__ = __webpack_require__(297); -/* unused harmony reexport NavPushAnchor */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__components_note_note__ = __webpack_require__(298); -/* unused harmony reexport Note */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__components_option_option__ = __webpack_require__(172); -/* unused harmony reexport Option */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__components_picker_picker__ = __webpack_require__(272); -/* unused harmony reexport Picker */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__components_picker_picker_component__ = __webpack_require__(158); -/* unused harmony reexport PickerCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__components_picker_picker_column__ = __webpack_require__(159); -/* unused harmony reexport PickerColumnCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__components_picker_picker_controller__ = __webpack_require__(157); -/* unused harmony reexport PickerController */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__components_popover_popover__ = __webpack_require__(173); -/* unused harmony reexport Popover */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__components_popover_popover_component__ = __webpack_require__(174); -/* unused harmony reexport PopoverCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__components_popover_popover_controller__ = __webpack_require__(299); -/* unused harmony reexport PopoverController */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__components_radio_radio_button__ = __webpack_require__(300); -/* unused harmony reexport RadioButton */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__components_radio_radio_group__ = __webpack_require__(175); -/* unused harmony reexport RadioGroup */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__components_range_range__ = __webpack_require__(301); -/* unused harmony reexport Range */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__components_range_range_knob__ = __webpack_require__(302); -/* unused harmony reexport RangeKnob */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__components_refresher_refresher__ = __webpack_require__(176); -/* unused harmony reexport Refresher */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__components_refresher_refresher_content__ = __webpack_require__(303); -/* unused harmony reexport RefresherContent */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__components_scroll_scroll__ = __webpack_require__(304); -/* unused harmony reexport Scroll */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__components_searchbar_searchbar__ = __webpack_require__(305); -/* unused harmony reexport Searchbar */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76__components_segment_segment__ = __webpack_require__(306); -/* unused harmony reexport Segment */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__components_segment_segment_button__ = __webpack_require__(177); -/* unused harmony reexport SegmentButton */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__components_select_select__ = __webpack_require__(307); -/* unused harmony reexport Select */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__components_select_select_popover_component__ = __webpack_require__(178); -/* unused harmony reexport SelectPopover */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__components_show_hide_when_show_when__ = __webpack_require__(308); -/* unused harmony reexport ShowWhen */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__components_show_hide_when_display_when__ = __webpack_require__(179); -/* unused harmony reexport DisplayWhen */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__components_show_hide_when_hide_when__ = __webpack_require__(309); -/* unused harmony reexport HideWhen */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_83__components_slides_slide__ = __webpack_require__(310); -/* unused harmony reexport Slide */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_84__components_slides_slides__ = __webpack_require__(180); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return __WEBPACK_IMPORTED_MODULE_84__components_slides_slides__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_85__components_spinner_spinner__ = __webpack_require__(314); -/* unused harmony reexport Spinner */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_86__components_split_pane_split_pane__ = __webpack_require__(101); -/* unused harmony reexport SplitPane */ -/* unused harmony reexport RootNode */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_87__components_tabs_tab__ = __webpack_require__(315); -/* unused harmony reexport Tab */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_88__components_tabs_tab_button__ = __webpack_require__(316); -/* unused harmony reexport TabButton */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_89__components_tabs_tab_highlight__ = __webpack_require__(186); -/* unused harmony reexport TabHighlight */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_90__components_tabs_tabs__ = __webpack_require__(185); -/* unused harmony reexport Tabs */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_91__components_toast_toast__ = __webpack_require__(317); -/* unused harmony reexport Toast */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_92__components_toast_toast_component__ = __webpack_require__(187); -/* unused harmony reexport ToastCmp */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_93__components_toast_toast_controller__ = __webpack_require__(318); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return __WEBPACK_IMPORTED_MODULE_93__components_toast_toast_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_94__components_toggle_toggle__ = __webpack_require__(319); -/* unused harmony reexport Toggle */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_95__components_toolbar_toolbar_footer__ = __webpack_require__(320); -/* unused harmony reexport Footer */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_96__components_toolbar_toolbar_header__ = __webpack_require__(321); -/* unused harmony reexport Header */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_97__components_toolbar_toolbar__ = __webpack_require__(121); -/* unused harmony reexport Toolbar */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_98__components_toolbar_toolbar_item__ = __webpack_require__(322); -/* unused harmony reexport ToolbarItem */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_99__components_toolbar_toolbar_title__ = __webpack_require__(323); -/* unused harmony reexport ToolbarTitle */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_100__components_toolbar_navbar__ = __webpack_require__(102); -/* unused harmony reexport Navbar */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_101__components_thumbnail_thumbnail__ = __webpack_require__(324); -/* unused harmony reexport Thumbnail */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_102__components_typography_typography__ = __webpack_require__(325); -/* unused harmony reexport Typography */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_103__components_virtual_scroll_virtual_footer__ = __webpack_require__(188); -/* unused harmony reexport VirtualFooter */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_104__components_virtual_scroll_virtual_header__ = __webpack_require__(189); -/* unused harmony reexport VirtualHeader */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_105__components_virtual_scroll_virtual_item__ = __webpack_require__(190); -/* unused harmony reexport VirtualItem */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_106__components_virtual_scroll_virtual_scroll__ = __webpack_require__(326); -/* unused harmony reexport VirtualScroll */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_107__config_config__ = __webpack_require__(2); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_107__config_config__["a"]; }); -/* unused harmony reexport setupConfig */ -/* unused harmony reexport ConfigToken */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_108__platform_dom_controller__ = __webpack_require__(26); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_108__platform_dom_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_109__platform_platform__ = __webpack_require__(11); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return __WEBPACK_IMPORTED_MODULE_109__platform_platform__["a"]; }); -/* unused harmony reexport setupPlatform */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_110__tap_click_haptic__ = __webpack_require__(100); -/* unused harmony reexport Haptic */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_111__navigation_deep_linker__ = __webpack_require__(53); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_111__navigation_deep_linker__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_112__navigation_ionic_page__ = __webpack_require__(567); -/* unused harmony reexport IonicPage */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_113__navigation_nav_controller__ = __webpack_require__(68); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return __WEBPACK_IMPORTED_MODULE_113__navigation_nav_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_114__navigation_nav_controller_base__ = __webpack_require__(114); -/* unused harmony reexport NavControllerBase */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_115__navigation_nav_params__ = __webpack_require__(52); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return __WEBPACK_IMPORTED_MODULE_115__navigation_nav_params__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_116__navigation_nav_util__ = __webpack_require__(67); -/* unused harmony reexport DeepLinkMetadata */ -/* unused harmony reexport DeepLinkMetadataFactory */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_117__tap_click_tap_click__ = __webpack_require__(327); -/* unused harmony reexport TapClick */ -/* unused harmony reexport setupTapClick */ -/* unused harmony reexport isActivatable */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_118__navigation_url_serializer__ = __webpack_require__(113); -/* unused harmony reexport UrlSerializer */ -/* unused harmony reexport DeepLinkConfigToken */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_119__navigation_view_controller__ = __webpack_require__(20); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "y", function() { return __WEBPACK_IMPORTED_MODULE_119__navigation_view_controller__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_120__gestures_pan_gesture__ = __webpack_require__(115); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return __WEBPACK_IMPORTED_MODULE_120__gestures_pan_gesture__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_121__gestures_gesture__ = __webpack_require__(569); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_121__gestures_gesture__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_122__gestures_slide_edge_gesture__ = __webpack_require__(148); -/* unused harmony reexport SlideEdgeGesture */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_123__gestures_slide_gesture__ = __webpack_require__(253); -/* unused harmony reexport SlideGesture */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_124__gestures_gesture_controller__ = __webpack_require__(25); -/* unused harmony reexport BLOCK_ALL */ -/* unused harmony reexport GESTURE_GO_BACK_SWIPE */ -/* unused harmony reexport GESTURE_MENU_SWIPE */ -/* unused harmony reexport GESTURE_ITEM_SWIPE */ -/* unused harmony reexport GESTURE_REFRESHER */ -/* unused harmony reexport GESTURE_TOGGLE */ -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_124__gestures_gesture_controller__["l"]; }); -/* unused harmony reexport GestureDelegate */ -/* unused harmony reexport BlockerDelegate */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_125__util_events__ = __webpack_require__(331); -/* unused harmony reexport Events */ -/* unused harmony reexport setupEvents */ -/* unused harmony reexport setupProvideEvents */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_126__util_ionic_error_handler__ = __webpack_require__(570); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return __WEBPACK_IMPORTED_MODULE_126__util_ionic_error_handler__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_127__platform_keyboard__ = __webpack_require__(99); -/* unused harmony reexport Keyboard */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_128__util_form__ = __webpack_require__(55); -/* unused harmony reexport Form */ -/* unused harmony reexport IonicFormInput */ -/* unused harmony reexport IonicTapInput */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_129__util_util__ = __webpack_require__(3); -/* unused harmony reexport reorderArray */ -/* unused harmony reexport normalizeURL */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_130__animations_animation__ = __webpack_require__(39); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_130__animations_animation__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_131__transitions_page_transition__ = __webpack_require__(82); -/* unused harmony reexport PageTransition */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_132__transitions_transition__ = __webpack_require__(76); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "x", function() { return __WEBPACK_IMPORTED_MODULE_132__transitions_transition__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_133__platform_platform_registry__ = __webpack_require__(332); -/* unused harmony reexport PlatformConfigToken */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_134__config_mode_registry__ = __webpack_require__(333); -/* unused harmony reexport registerModeConfigs */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_135__gestures_gesture_config__ = __webpack_require__(334); -/* unused harmony reexport IonicGestureConfig */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_136__module__ = __webpack_require__(571); -/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_136__module__["a"]; }); -/* unused harmony reexport IonicPageModule */ -/* unused harmony reexport provideLocationStrategy */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/** - * Global Providers - */ - - - - - - - - - - - - - -/** - * Export Utils - */ - - - - - - - - - - - - - - - - - -//# sourceMappingURL=index.js.map - /***/ }), /* 6 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -26349,10 +26349,10 @@ var ReactiveFormsModule = (function () { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isFunction__ = __webpack_require__(88); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Observer__ = __webpack_require__(219); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(27); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__ = __webpack_require__(132); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(29); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__ = __webpack_require__(133); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__config__ = __webpack_require__(104); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_hostReportError__ = __webpack_require__(131); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_hostReportError__ = __webpack_require__(132); /** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */ @@ -33190,8 +33190,8 @@ var VERSION = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* Version */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Platform; }); /* harmony export (immutable) */ __webpack_exports__["b"] = setupPlatform; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_dom__ = __webpack_require__(29); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__query_params__ = __webpack_require__(535); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_dom__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__query_params__ = __webpack_require__(538); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_util__ = __webpack_require__(3); @@ -35074,10 +35074,10 @@ var Ion = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Observable; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_canReportError__ = __webpack_require__(130); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__ = __webpack_require__(420); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_canReportError__ = __webpack_require__(131); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__ = __webpack_require__(423); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__ = __webpack_require__(79); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_pipe__ = __webpack_require__(133); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_pipe__ = __webpack_require__(134); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config__ = __webpack_require__(104); /** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_internal_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */ @@ -35260,15 +35260,15 @@ function getPromiseCtor(promiseCtor) { /* unused harmony export NOV */ /* unused harmony export DEC */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_cdk_bidi__ = __webpack_require__(33); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_cdk_bidi__ = __webpack_require__(35); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_tslib__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_cdk_coercion__ = __webpack_require__(22); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__ = __webpack_require__(23); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_Subject__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__ = __webpack_require__(47); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_platform_browser__ = __webpack_require__(48); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_common__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__angular_cdk_platform__ = __webpack_require__(40); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__angular_cdk_keycodes__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__angular_cdk_keycodes__ = __webpack_require__(33); /** * @license * Copyright Google LLC All Rights Reserved. @@ -37979,210 +37979,210 @@ function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, dest Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__internal_operators_audit__ = __webpack_require__(243); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return __WEBPACK_IMPORTED_MODULE_0__internal_operators_audit__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__internal_operators_auditTime__ = __webpack_require__(451); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__internal_operators_auditTime__ = __webpack_require__(454); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return __WEBPACK_IMPORTED_MODULE_1__internal_operators_auditTime__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__internal_operators_buffer__ = __webpack_require__(452); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__internal_operators_buffer__ = __webpack_require__(455); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return __WEBPACK_IMPORTED_MODULE_2__internal_operators_buffer__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__internal_operators_bufferCount__ = __webpack_require__(453); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__internal_operators_bufferCount__ = __webpack_require__(456); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return __WEBPACK_IMPORTED_MODULE_3__internal_operators_bufferCount__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_operators_bufferTime__ = __webpack_require__(454); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_operators_bufferTime__ = __webpack_require__(457); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return __WEBPACK_IMPORTED_MODULE_4__internal_operators_bufferTime__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__internal_operators_bufferToggle__ = __webpack_require__(455); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__internal_operators_bufferToggle__ = __webpack_require__(458); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return __WEBPACK_IMPORTED_MODULE_5__internal_operators_bufferToggle__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_operators_bufferWhen__ = __webpack_require__(456); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_operators_bufferWhen__ = __webpack_require__(459); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return __WEBPACK_IMPORTED_MODULE_6__internal_operators_bufferWhen__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__internal_operators_catchError__ = __webpack_require__(457); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__internal_operators_catchError__ = __webpack_require__(460); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return __WEBPACK_IMPORTED_MODULE_7__internal_operators_catchError__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__internal_operators_combineAll__ = __webpack_require__(458); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__internal_operators_combineAll__ = __webpack_require__(461); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return __WEBPACK_IMPORTED_MODULE_8__internal_operators_combineAll__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__internal_operators_combineLatest__ = __webpack_require__(459); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__internal_operators_combineLatest__ = __webpack_require__(462); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return __WEBPACK_IMPORTED_MODULE_9__internal_operators_combineLatest__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__internal_operators_concat__ = __webpack_require__(460); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__internal_operators_concat__ = __webpack_require__(463); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return __WEBPACK_IMPORTED_MODULE_10__internal_operators_concat__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__internal_operators_concatAll__ = __webpack_require__(238); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return __WEBPACK_IMPORTED_MODULE_11__internal_operators_concatAll__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__internal_operators_concatMap__ = __webpack_require__(244); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return __WEBPACK_IMPORTED_MODULE_12__internal_operators_concatMap__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__internal_operators_concatMapTo__ = __webpack_require__(461); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__internal_operators_concatMapTo__ = __webpack_require__(464); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return __WEBPACK_IMPORTED_MODULE_13__internal_operators_concatMapTo__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__internal_operators_count__ = __webpack_require__(462); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__internal_operators_count__ = __webpack_require__(465); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "count", function() { return __WEBPACK_IMPORTED_MODULE_14__internal_operators_count__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__internal_operators_debounce__ = __webpack_require__(463); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__internal_operators_debounce__ = __webpack_require__(466); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return __WEBPACK_IMPORTED_MODULE_15__internal_operators_debounce__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__internal_operators_debounceTime__ = __webpack_require__(464); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__internal_operators_debounceTime__ = __webpack_require__(467); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return __WEBPACK_IMPORTED_MODULE_16__internal_operators_debounceTime__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__internal_operators_defaultIfEmpty__ = __webpack_require__(95); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return __WEBPACK_IMPORTED_MODULE_17__internal_operators_defaultIfEmpty__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__internal_operators_delay__ = __webpack_require__(465); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__internal_operators_delay__ = __webpack_require__(468); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return __WEBPACK_IMPORTED_MODULE_18__internal_operators_delay__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__internal_operators_delayWhen__ = __webpack_require__(466); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__internal_operators_delayWhen__ = __webpack_require__(469); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return __WEBPACK_IMPORTED_MODULE_19__internal_operators_delayWhen__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__internal_operators_dematerialize__ = __webpack_require__(467); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__internal_operators_dematerialize__ = __webpack_require__(470); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return __WEBPACK_IMPORTED_MODULE_20__internal_operators_dematerialize__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__internal_operators_distinct__ = __webpack_require__(468); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__internal_operators_distinct__ = __webpack_require__(471); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return __WEBPACK_IMPORTED_MODULE_21__internal_operators_distinct__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__internal_operators_distinctUntilChanged__ = __webpack_require__(246); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return __WEBPACK_IMPORTED_MODULE_22__internal_operators_distinctUntilChanged__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__internal_operators_distinctUntilKeyChanged__ = __webpack_require__(469); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__internal_operators_distinctUntilKeyChanged__ = __webpack_require__(472); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return __WEBPACK_IMPORTED_MODULE_23__internal_operators_distinctUntilKeyChanged__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__internal_operators_elementAt__ = __webpack_require__(470); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__internal_operators_elementAt__ = __webpack_require__(473); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return __WEBPACK_IMPORTED_MODULE_24__internal_operators_elementAt__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__internal_operators_endWith__ = __webpack_require__(471); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__internal_operators_endWith__ = __webpack_require__(474); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return __WEBPACK_IMPORTED_MODULE_25__internal_operators_endWith__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__internal_operators_every__ = __webpack_require__(472); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__internal_operators_every__ = __webpack_require__(475); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "every", function() { return __WEBPACK_IMPORTED_MODULE_26__internal_operators_every__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__internal_operators_exhaust__ = __webpack_require__(473); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__internal_operators_exhaust__ = __webpack_require__(476); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return __WEBPACK_IMPORTED_MODULE_27__internal_operators_exhaust__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__internal_operators_exhaustMap__ = __webpack_require__(474); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__internal_operators_exhaustMap__ = __webpack_require__(477); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return __WEBPACK_IMPORTED_MODULE_28__internal_operators_exhaustMap__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__internal_operators_expand__ = __webpack_require__(475); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__internal_operators_expand__ = __webpack_require__(478); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return __WEBPACK_IMPORTED_MODULE_29__internal_operators_expand__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__internal_operators_filter__ = __webpack_require__(96); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return __WEBPACK_IMPORTED_MODULE_30__internal_operators_filter__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__internal_operators_finalize__ = __webpack_require__(476); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__internal_operators_finalize__ = __webpack_require__(479); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return __WEBPACK_IMPORTED_MODULE_31__internal_operators_finalize__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__internal_operators_find__ = __webpack_require__(248); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "find", function() { return __WEBPACK_IMPORTED_MODULE_32__internal_operators_find__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__internal_operators_findIndex__ = __webpack_require__(477); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__internal_operators_findIndex__ = __webpack_require__(480); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return __WEBPACK_IMPORTED_MODULE_33__internal_operators_findIndex__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__internal_operators_first__ = __webpack_require__(478); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__internal_operators_first__ = __webpack_require__(481); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "first", function() { return __WEBPACK_IMPORTED_MODULE_34__internal_operators_first__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__internal_operators_groupBy__ = __webpack_require__(224); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return __WEBPACK_IMPORTED_MODULE_35__internal_operators_groupBy__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__internal_operators_ignoreElements__ = __webpack_require__(479); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__internal_operators_ignoreElements__ = __webpack_require__(482); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return __WEBPACK_IMPORTED_MODULE_36__internal_operators_ignoreElements__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__internal_operators_isEmpty__ = __webpack_require__(480); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__internal_operators_isEmpty__ = __webpack_require__(483); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return __WEBPACK_IMPORTED_MODULE_37__internal_operators_isEmpty__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__internal_operators_last__ = __webpack_require__(481); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__internal_operators_last__ = __webpack_require__(484); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "last", function() { return __WEBPACK_IMPORTED_MODULE_38__internal_operators_last__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__internal_operators_map__ = __webpack_require__(46); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__internal_operators_map__ = __webpack_require__(47); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "map", function() { return __WEBPACK_IMPORTED_MODULE_39__internal_operators_map__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__internal_operators_mapTo__ = __webpack_require__(482); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__internal_operators_mapTo__ = __webpack_require__(485); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return __WEBPACK_IMPORTED_MODULE_40__internal_operators_mapTo__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__internal_operators_materialize__ = __webpack_require__(483); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__internal_operators_materialize__ = __webpack_require__(486); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return __WEBPACK_IMPORTED_MODULE_41__internal_operators_materialize__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__internal_operators_max__ = __webpack_require__(484); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__internal_operators_max__ = __webpack_require__(487); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "max", function() { return __WEBPACK_IMPORTED_MODULE_42__internal_operators_max__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__internal_operators_merge__ = __webpack_require__(485); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__internal_operators_merge__ = __webpack_require__(488); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return __WEBPACK_IMPORTED_MODULE_43__internal_operators_merge__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__internal_operators_mergeAll__ = __webpack_require__(140); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__internal_operators_mergeAll__ = __webpack_require__(141); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return __WEBPACK_IMPORTED_MODULE_44__internal_operators_mergeAll__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__internal_operators_mergeMap__ = __webpack_require__(94); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mergeMap", function() { return __WEBPACK_IMPORTED_MODULE_45__internal_operators_mergeMap__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "flatMap", function() { return __WEBPACK_IMPORTED_MODULE_45__internal_operators_mergeMap__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__internal_operators_mergeMapTo__ = __webpack_require__(486); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__internal_operators_mergeMapTo__ = __webpack_require__(489); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return __WEBPACK_IMPORTED_MODULE_46__internal_operators_mergeMapTo__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__internal_operators_mergeScan__ = __webpack_require__(487); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__internal_operators_mergeScan__ = __webpack_require__(490); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return __WEBPACK_IMPORTED_MODULE_47__internal_operators_mergeScan__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__internal_operators_min__ = __webpack_require__(488); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__internal_operators_min__ = __webpack_require__(491); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "min", function() { return __WEBPACK_IMPORTED_MODULE_48__internal_operators_min__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__internal_operators_multicast__ = __webpack_require__(81); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return __WEBPACK_IMPORTED_MODULE_49__internal_operators_multicast__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__internal_operators_observeOn__ = __webpack_require__(228); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "observeOn", function() { return __WEBPACK_IMPORTED_MODULE_50__internal_operators_observeOn__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__internal_operators_onErrorResumeNext__ = __webpack_require__(489); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__internal_operators_onErrorResumeNext__ = __webpack_require__(492); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return __WEBPACK_IMPORTED_MODULE_51__internal_operators_onErrorResumeNext__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__internal_operators_pairwise__ = __webpack_require__(490); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__internal_operators_pairwise__ = __webpack_require__(493); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return __WEBPACK_IMPORTED_MODULE_52__internal_operators_pairwise__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__internal_operators_partition__ = __webpack_require__(491); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__internal_operators_partition__ = __webpack_require__(494); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return __WEBPACK_IMPORTED_MODULE_53__internal_operators_partition__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__internal_operators_pluck__ = __webpack_require__(493); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__internal_operators_pluck__ = __webpack_require__(496); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return __WEBPACK_IMPORTED_MODULE_54__internal_operators_pluck__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__internal_operators_publish__ = __webpack_require__(494); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__internal_operators_publish__ = __webpack_require__(497); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return __WEBPACK_IMPORTED_MODULE_55__internal_operators_publish__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__internal_operators_publishBehavior__ = __webpack_require__(495); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__internal_operators_publishBehavior__ = __webpack_require__(498); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return __WEBPACK_IMPORTED_MODULE_56__internal_operators_publishBehavior__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__internal_operators_publishLast__ = __webpack_require__(496); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__internal_operators_publishLast__ = __webpack_require__(499); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return __WEBPACK_IMPORTED_MODULE_57__internal_operators_publishLast__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__internal_operators_publishReplay__ = __webpack_require__(497); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__internal_operators_publishReplay__ = __webpack_require__(500); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return __WEBPACK_IMPORTED_MODULE_58__internal_operators_publishReplay__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__internal_operators_race__ = __webpack_require__(498); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__internal_operators_race__ = __webpack_require__(501); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "race", function() { return __WEBPACK_IMPORTED_MODULE_59__internal_operators_race__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__internal_operators_reduce__ = __webpack_require__(112); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return __WEBPACK_IMPORTED_MODULE_60__internal_operators_reduce__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__internal_operators_repeat__ = __webpack_require__(499); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__internal_operators_repeat__ = __webpack_require__(502); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return __WEBPACK_IMPORTED_MODULE_61__internal_operators_repeat__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__internal_operators_repeatWhen__ = __webpack_require__(500); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__internal_operators_repeatWhen__ = __webpack_require__(503); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return __WEBPACK_IMPORTED_MODULE_62__internal_operators_repeatWhen__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__internal_operators_retry__ = __webpack_require__(501); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__internal_operators_retry__ = __webpack_require__(504); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return __WEBPACK_IMPORTED_MODULE_63__internal_operators_retry__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__internal_operators_retryWhen__ = __webpack_require__(502); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__internal_operators_retryWhen__ = __webpack_require__(505); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return __WEBPACK_IMPORTED_MODULE_64__internal_operators_retryWhen__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__internal_operators_refCount__ = __webpack_require__(134); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__internal_operators_refCount__ = __webpack_require__(135); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return __WEBPACK_IMPORTED_MODULE_65__internal_operators_refCount__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__internal_operators_sample__ = __webpack_require__(503); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__internal_operators_sample__ = __webpack_require__(506); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return __WEBPACK_IMPORTED_MODULE_66__internal_operators_sample__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__internal_operators_sampleTime__ = __webpack_require__(504); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__internal_operators_sampleTime__ = __webpack_require__(507); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return __WEBPACK_IMPORTED_MODULE_67__internal_operators_sampleTime__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__internal_operators_scan__ = __webpack_require__(145); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__internal_operators_scan__ = __webpack_require__(146); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return __WEBPACK_IMPORTED_MODULE_68__internal_operators_scan__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__internal_operators_sequenceEqual__ = __webpack_require__(505); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__internal_operators_sequenceEqual__ = __webpack_require__(508); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return __WEBPACK_IMPORTED_MODULE_69__internal_operators_sequenceEqual__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__internal_operators_share__ = __webpack_require__(506); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__internal_operators_share__ = __webpack_require__(509); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "share", function() { return __WEBPACK_IMPORTED_MODULE_70__internal_operators_share__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__internal_operators_shareReplay__ = __webpack_require__(507); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__internal_operators_shareReplay__ = __webpack_require__(510); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return __WEBPACK_IMPORTED_MODULE_71__internal_operators_shareReplay__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__internal_operators_single__ = __webpack_require__(508); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__internal_operators_single__ = __webpack_require__(511); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "single", function() { return __WEBPACK_IMPORTED_MODULE_72__internal_operators_single__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__internal_operators_skip__ = __webpack_require__(509); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__internal_operators_skip__ = __webpack_require__(512); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return __WEBPACK_IMPORTED_MODULE_73__internal_operators_skip__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__internal_operators_skipLast__ = __webpack_require__(510); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__internal_operators_skipLast__ = __webpack_require__(513); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return __WEBPACK_IMPORTED_MODULE_74__internal_operators_skipLast__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__internal_operators_skipUntil__ = __webpack_require__(511); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__internal_operators_skipUntil__ = __webpack_require__(514); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return __WEBPACK_IMPORTED_MODULE_75__internal_operators_skipUntil__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76__internal_operators_skipWhile__ = __webpack_require__(512); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76__internal_operators_skipWhile__ = __webpack_require__(515); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return __WEBPACK_IMPORTED_MODULE_76__internal_operators_skipWhile__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__internal_operators_startWith__ = __webpack_require__(513); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__internal_operators_startWith__ = __webpack_require__(516); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return __WEBPACK_IMPORTED_MODULE_77__internal_operators_startWith__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__internal_operators_subscribeOn__ = __webpack_require__(514); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__internal_operators_subscribeOn__ = __webpack_require__(517); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return __WEBPACK_IMPORTED_MODULE_78__internal_operators_subscribeOn__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__internal_operators_switchAll__ = __webpack_require__(516); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__internal_operators_switchAll__ = __webpack_require__(519); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return __WEBPACK_IMPORTED_MODULE_79__internal_operators_switchAll__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__internal_operators_switchMap__ = __webpack_require__(146); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__internal_operators_switchMap__ = __webpack_require__(147); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return __WEBPACK_IMPORTED_MODULE_80__internal_operators_switchMap__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__internal_operators_switchMapTo__ = __webpack_require__(517); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__internal_operators_switchMapTo__ = __webpack_require__(520); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return __WEBPACK_IMPORTED_MODULE_81__internal_operators_switchMapTo__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__internal_operators_take__ = __webpack_require__(143); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__internal_operators_take__ = __webpack_require__(144); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "take", function() { return __WEBPACK_IMPORTED_MODULE_82__internal_operators_take__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_83__internal_operators_takeLast__ = __webpack_require__(144); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_83__internal_operators_takeLast__ = __webpack_require__(145); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return __WEBPACK_IMPORTED_MODULE_83__internal_operators_takeLast__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_84__internal_operators_takeUntil__ = __webpack_require__(518); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_84__internal_operators_takeUntil__ = __webpack_require__(521); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return __WEBPACK_IMPORTED_MODULE_84__internal_operators_takeUntil__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_85__internal_operators_takeWhile__ = __webpack_require__(519); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_85__internal_operators_takeWhile__ = __webpack_require__(522); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return __WEBPACK_IMPORTED_MODULE_85__internal_operators_takeWhile__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_86__internal_operators_tap__ = __webpack_require__(247); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return __WEBPACK_IMPORTED_MODULE_86__internal_operators_tap__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_87__internal_operators_throttle__ = __webpack_require__(249); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return __WEBPACK_IMPORTED_MODULE_87__internal_operators_throttle__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_88__internal_operators_throttleTime__ = __webpack_require__(520); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_88__internal_operators_throttleTime__ = __webpack_require__(523); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return __WEBPACK_IMPORTED_MODULE_88__internal_operators_throttleTime__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_89__internal_operators_throwIfEmpty__ = __webpack_require__(111); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return __WEBPACK_IMPORTED_MODULE_89__internal_operators_throwIfEmpty__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_90__internal_operators_timeInterval__ = __webpack_require__(521); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_90__internal_operators_timeInterval__ = __webpack_require__(524); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return __WEBPACK_IMPORTED_MODULE_90__internal_operators_timeInterval__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_91__internal_operators_timeout__ = __webpack_require__(522); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_91__internal_operators_timeout__ = __webpack_require__(525); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return __WEBPACK_IMPORTED_MODULE_91__internal_operators_timeout__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_92__internal_operators_timeoutWith__ = __webpack_require__(250); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return __WEBPACK_IMPORTED_MODULE_92__internal_operators_timeoutWith__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_93__internal_operators_timestamp__ = __webpack_require__(523); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_93__internal_operators_timestamp__ = __webpack_require__(526); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return __WEBPACK_IMPORTED_MODULE_93__internal_operators_timestamp__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_94__internal_operators_toArray__ = __webpack_require__(524); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_94__internal_operators_toArray__ = __webpack_require__(527); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return __WEBPACK_IMPORTED_MODULE_94__internal_operators_toArray__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_95__internal_operators_window__ = __webpack_require__(525); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_95__internal_operators_window__ = __webpack_require__(528); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "window", function() { return __WEBPACK_IMPORTED_MODULE_95__internal_operators_window__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_96__internal_operators_windowCount__ = __webpack_require__(526); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_96__internal_operators_windowCount__ = __webpack_require__(529); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return __WEBPACK_IMPORTED_MODULE_96__internal_operators_windowCount__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_97__internal_operators_windowTime__ = __webpack_require__(527); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_97__internal_operators_windowTime__ = __webpack_require__(530); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return __WEBPACK_IMPORTED_MODULE_97__internal_operators_windowTime__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_98__internal_operators_windowToggle__ = __webpack_require__(528); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_98__internal_operators_windowToggle__ = __webpack_require__(531); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return __WEBPACK_IMPORTED_MODULE_98__internal_operators_windowToggle__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_99__internal_operators_windowWhen__ = __webpack_require__(529); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_99__internal_operators_windowWhen__ = __webpack_require__(532); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return __WEBPACK_IMPORTED_MODULE_99__internal_operators_windowWhen__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_100__internal_operators_withLatestFrom__ = __webpack_require__(530); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_100__internal_operators_withLatestFrom__ = __webpack_require__(533); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return __WEBPACK_IMPORTED_MODULE_100__internal_operators_withLatestFrom__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_101__internal_operators_zip__ = __webpack_require__(531); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_101__internal_operators_zip__ = __webpack_require__(534); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return __WEBPACK_IMPORTED_MODULE_101__internal_operators_zip__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_102__internal_operators_zipAll__ = __webpack_require__(532); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_102__internal_operators_zipAll__ = __webpack_require__(535); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return __WEBPACK_IMPORTED_MODULE_102__internal_operators_zipAll__["a"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -38817,11 +38817,11 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "GroupedObservable", function() { return __WEBPACK_IMPORTED_MODULE_2__internal_operators_groupBy__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__internal_symbol_observable__ = __webpack_require__(79); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "observable", function() { return __WEBPACK_IMPORTED_MODULE_3__internal_symbol_observable__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_Subject__ = __webpack_require__(32); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_Subject__ = __webpack_require__(34); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Subject", function() { return __WEBPACK_IMPORTED_MODULE_4__internal_Subject__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__internal_BehaviorSubject__ = __webpack_require__(225); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "BehaviorSubject", function() { return __WEBPACK_IMPORTED_MODULE_5__internal_BehaviorSubject__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_ReplaySubject__ = __webpack_require__(135); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_ReplaySubject__ = __webpack_require__(136); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ReplaySubject", function() { return __WEBPACK_IMPORTED_MODULE_6__internal_ReplaySubject__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__internal_AsyncSubject__ = __webpack_require__(108); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncSubject", function() { return __WEBPACK_IMPORTED_MODULE_7__internal_AsyncSubject__["a"]; }); @@ -38831,26 +38831,26 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "asyncScheduler", function() { return __WEBPACK_IMPORTED_MODULE_9__internal_scheduler_async__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__internal_scheduler_queue__ = __webpack_require__(226); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "queueScheduler", function() { return __WEBPACK_IMPORTED_MODULE_10__internal_scheduler_queue__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__internal_scheduler_animationFrame__ = __webpack_require__(427); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__internal_scheduler_animationFrame__ = __webpack_require__(430); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "animationFrameScheduler", function() { return __WEBPACK_IMPORTED_MODULE_11__internal_scheduler_animationFrame__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__internal_scheduler_VirtualTimeScheduler__ = __webpack_require__(430); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__internal_scheduler_VirtualTimeScheduler__ = __webpack_require__(433); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualTimeScheduler", function() { return __WEBPACK_IMPORTED_MODULE_12__internal_scheduler_VirtualTimeScheduler__["b"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualAction", function() { return __WEBPACK_IMPORTED_MODULE_12__internal_scheduler_VirtualTimeScheduler__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__internal_Scheduler__ = __webpack_require__(227); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Scheduler", function() { return __WEBPACK_IMPORTED_MODULE_13__internal_Scheduler__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__internal_Subscription__ = __webpack_require__(27); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__internal_Subscription__ = __webpack_require__(29); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Subscription", function() { return __WEBPACK_IMPORTED_MODULE_14__internal_Subscription__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__internal_Subscriber__ = __webpack_require__(6); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Subscriber", function() { return __WEBPACK_IMPORTED_MODULE_15__internal_Subscriber__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__internal_Notification__ = __webpack_require__(107); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Notification", function() { return __WEBPACK_IMPORTED_MODULE_16__internal_Notification__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__internal_util_pipe__ = __webpack_require__(133); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__internal_util_pipe__ = __webpack_require__(134); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return __WEBPACK_IMPORTED_MODULE_17__internal_util_pipe__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__internal_util_noop__ = __webpack_require__(105); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return __WEBPACK_IMPORTED_MODULE_18__internal_util_noop__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__internal_util_identity__ = __webpack_require__(80); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return __WEBPACK_IMPORTED_MODULE_19__internal_util_identity__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__internal_util_isObservable__ = __webpack_require__(431); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__internal_util_isObservable__ = __webpack_require__(434); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isObservable", function() { return __WEBPACK_IMPORTED_MODULE_20__internal_util_isObservable__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__internal_util_ArgumentOutOfRangeError__ = __webpack_require__(91); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ArgumentOutOfRangeError", function() { return __WEBPACK_IMPORTED_MODULE_21__internal_util_ArgumentOutOfRangeError__["a"]; }); @@ -38862,53 +38862,53 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "UnsubscriptionError", function() { return __WEBPACK_IMPORTED_MODULE_24__internal_util_UnsubscriptionError__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__internal_util_TimeoutError__ = __webpack_require__(231); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "TimeoutError", function() { return __WEBPACK_IMPORTED_MODULE_25__internal_util_TimeoutError__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__internal_observable_bindCallback__ = __webpack_require__(432); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__internal_observable_bindCallback__ = __webpack_require__(435); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindCallback", function() { return __WEBPACK_IMPORTED_MODULE_26__internal_observable_bindCallback__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__internal_observable_bindNodeCallback__ = __webpack_require__(433); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__internal_observable_bindNodeCallback__ = __webpack_require__(436); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindNodeCallback", function() { return __WEBPACK_IMPORTED_MODULE_27__internal_observable_bindNodeCallback__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__internal_observable_combineLatest__ = __webpack_require__(139); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__internal_observable_combineLatest__ = __webpack_require__(140); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return __WEBPACK_IMPORTED_MODULE_28__internal_observable_combineLatest__["b"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__internal_observable_concat__ = __webpack_require__(109); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return __WEBPACK_IMPORTED_MODULE_29__internal_observable_concat__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__internal_observable_defer__ = __webpack_require__(141); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__internal_observable_defer__ = __webpack_require__(142); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "defer", function() { return __WEBPACK_IMPORTED_MODULE_30__internal_observable_defer__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__internal_observable_empty__ = __webpack_require__(37); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return __WEBPACK_IMPORTED_MODULE_31__internal_observable_empty__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__internal_observable_forkJoin__ = __webpack_require__(439); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__internal_observable_forkJoin__ = __webpack_require__(442); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "forkJoin", function() { return __WEBPACK_IMPORTED_MODULE_32__internal_observable_forkJoin__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__internal_observable_from__ = __webpack_require__(54); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "from", function() { return __WEBPACK_IMPORTED_MODULE_33__internal_observable_from__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__internal_observable_fromEvent__ = __webpack_require__(440); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__internal_observable_fromEvent__ = __webpack_require__(443); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "fromEvent", function() { return __WEBPACK_IMPORTED_MODULE_34__internal_observable_fromEvent__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__internal_observable_fromEventPattern__ = __webpack_require__(441); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__internal_observable_fromEventPattern__ = __webpack_require__(444); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "fromEventPattern", function() { return __WEBPACK_IMPORTED_MODULE_35__internal_observable_fromEventPattern__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__internal_observable_generate__ = __webpack_require__(442); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__internal_observable_generate__ = __webpack_require__(445); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "generate", function() { return __WEBPACK_IMPORTED_MODULE_36__internal_observable_generate__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__internal_observable_iif__ = __webpack_require__(443); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__internal_observable_iif__ = __webpack_require__(446); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "iif", function() { return __WEBPACK_IMPORTED_MODULE_37__internal_observable_iif__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__internal_observable_interval__ = __webpack_require__(444); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__internal_observable_interval__ = __webpack_require__(447); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "interval", function() { return __WEBPACK_IMPORTED_MODULE_38__internal_observable_interval__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__internal_observable_merge__ = __webpack_require__(239); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return __WEBPACK_IMPORTED_MODULE_39__internal_observable_merge__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__internal_observable_never__ = __webpack_require__(240); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "never", function() { return __WEBPACK_IMPORTED_MODULE_40__internal_observable_never__["b"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__internal_observable_of__ = __webpack_require__(136); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__internal_observable_of__ = __webpack_require__(137); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "of", function() { return __WEBPACK_IMPORTED_MODULE_41__internal_observable_of__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__internal_observable_onErrorResumeNext__ = __webpack_require__(445); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__internal_observable_onErrorResumeNext__ = __webpack_require__(448); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return __WEBPACK_IMPORTED_MODULE_42__internal_observable_onErrorResumeNext__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__internal_observable_pairs__ = __webpack_require__(446); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__internal_observable_pairs__ = __webpack_require__(449); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pairs", function() { return __WEBPACK_IMPORTED_MODULE_43__internal_observable_pairs__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__internal_observable_race__ = __webpack_require__(241); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "race", function() { return __WEBPACK_IMPORTED_MODULE_44__internal_observable_race__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__internal_observable_range__ = __webpack_require__(447); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__internal_observable_range__ = __webpack_require__(450); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "range", function() { return __WEBPACK_IMPORTED_MODULE_45__internal_observable_range__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__internal_observable_throwError__ = __webpack_require__(138); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__internal_observable_throwError__ = __webpack_require__(139); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "throwError", function() { return __WEBPACK_IMPORTED_MODULE_46__internal_observable_throwError__["a"]; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__internal_observable_timer__ = __webpack_require__(242); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "timer", function() { return __WEBPACK_IMPORTED_MODULE_47__internal_observable_timer__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__internal_observable_using__ = __webpack_require__(448); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__internal_observable_using__ = __webpack_require__(451); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "using", function() { return __WEBPACK_IMPORTED_MODULE_48__internal_observable_using__["a"]; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__internal_observable_zip__ = __webpack_require__(142); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__internal_observable_zip__ = __webpack_require__(143); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return __WEBPACK_IMPORTED_MODULE_49__internal_observable_zip__["b"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "EMPTY", function() { return __WEBPACK_IMPORTED_MODULE_31__internal_observable_empty__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "NEVER", function() { return __WEBPACK_IMPORTED_MODULE_40__internal_observable_never__["a"]; }); @@ -39070,7 +39070,7 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(533)); +__export(__webpack_require__(536)); //# sourceMappingURL=Subject.js.map /***/ }), @@ -39082,15 +39082,15 @@ __export(__webpack_require__(533)); /* unused harmony export getNavByIdOrName */ /* unused harmony export findTopNavs */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(47); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(48); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__app_constants__ = __webpack_require__(97); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__config_config__ = __webpack_require__(2); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__navigation_nav_util__ = __webpack_require__(67); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__menu_controller__ = __webpack_require__(75); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__platform_platform__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__transitions_transition_ios__ = __webpack_require__(536); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__transitions_transition_md__ = __webpack_require__(537); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__transitions_transition_wp__ = __webpack_require__(538); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__transitions_transition_ios__ = __webpack_require__(539); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__transitions_transition_md__ = __webpack_require__(540); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__transitions_transition_wp__ = __webpack_require__(541); @@ -39516,7 +39516,9 @@ var CLICK_BLOCK_BUFFER_IN_MILLIS = 64; //# sourceMappingURL=app.js.map /***/ }), -/* 25 */ +/* 25 */, +/* 26 */, +/* 27 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -39793,7 +39795,7 @@ var BlockerDelegate = (function () { //# sourceMappingURL=gesture-controller.js.map /***/ }), -/* 26 */ +/* 28 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -39946,7 +39948,7 @@ function dispatch(timeStamp, r, w) { //# sourceMappingURL=dom-controller.js.map /***/ }), -/* 27 */ +/* 29 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -39955,7 +39957,7 @@ function dispatch(timeStamp, r, w) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isObject__ = __webpack_require__(220); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_isFunction__ = __webpack_require__(88); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_tryCatch__ = __webpack_require__(51); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_errorObject__ = __webpack_require__(44); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_errorObject__ = __webpack_require__(45); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__ = __webpack_require__(221); /** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_tryCatch,_util_errorObject,_util_UnsubscriptionError PURE_IMPORTS_END */ @@ -40092,7 +40094,7 @@ function flattenUnsubscriptionErrors(errors) { /***/ }), -/* 28 */ +/* 30 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -40124,7 +40126,7 @@ function flattenUnsubscriptionErrors(errors) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return A11yModule; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_cdk_coercion__ = __webpack_require__(22); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_operators_take__ = __webpack_require__(41); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_operators_take__ = __webpack_require__(42); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_operators_take___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_operators_take__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_cdk_platform__ = __webpack_require__(40); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_common__ = __webpack_require__(7); @@ -40133,14 +40135,14 @@ function flattenUnsubscriptionErrors(errors) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs_Subject__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_Subscription__ = __webpack_require__(63); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_Subscription___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_rxjs_Subscription__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__angular_cdk_keycodes__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rxjs_operators_debounceTime__ = __webpack_require__(196); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__angular_cdk_keycodes__ = __webpack_require__(33); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rxjs_operators_debounceTime__ = __webpack_require__(197); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_rxjs_operators_debounceTime___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_rxjs_operators_debounceTime__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_rxjs_operators_filter__ = __webpack_require__(58); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_rxjs_operators_filter___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_rxjs_operators_filter__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_rxjs_operators_map__ = __webpack_require__(85); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_rxjs_operators_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_rxjs_operators_map__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_rxjs_operators_tap__ = __webpack_require__(197); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_rxjs_operators_tap__ = __webpack_require__(198); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_rxjs_operators_tap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_rxjs_operators_tap__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_rxjs_observable_of__ = __webpack_require__(57); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_rxjs_observable_of__); @@ -42599,7 +42601,7 @@ var A11yModule = /** @class */ (function () { /***/ }), -/* 29 */ +/* 31 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -42692,7 +42694,7 @@ function copyInputAttributes(srcElement, destElement) { //# sourceMappingURL=dom.js.map /***/ }), -/* 30 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { ;(function (root, factory, undef) { @@ -43577,7 +43579,7 @@ function copyInputAttributes(srcElement, destElement) { })); /***/ }), -/* 31 */ +/* 33 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -43650,7 +43652,7 @@ var COMMA = 188; /***/ }), -/* 32 */ +/* 34 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -43660,10 +43662,10 @@ var COMMA = 188; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Observable__ = __webpack_require__(14); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Subscriber__ = __webpack_require__(6); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(27); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(29); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__ = __webpack_require__(106); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__SubjectSubscription__ = __webpack_require__(223); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_symbol_rxSubscriber__ = __webpack_require__(132); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_symbol_rxSubscriber__ = __webpack_require__(133); /** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */ @@ -43825,7 +43827,7 @@ var AnonymousSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 33 */ +/* 35 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -44027,8 +44029,6 @@ var BidiModule = /** @class */ (function () { /***/ }), -/* 34 */, -/* 35 */, /* 36 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -45356,6 +45356,2750 @@ var PlatformModule = /** @class */ (function () { /***/ }), /* 41 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export HttpBackend */ +/* unused harmony export HttpHandler */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return HttpClient; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return HttpHeaders; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return HTTP_INTERCEPTORS; }); +/* unused harmony export JsonpClientBackend */ +/* unused harmony export JsonpInterceptor */ +/* unused harmony export HttpClientJsonpModule */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return HttpClientModule; }); +/* unused harmony export HttpClientXsrfModule */ +/* unused harmony export ɵinterceptingHandler */ +/* unused harmony export HttpParams */ +/* unused harmony export HttpUrlEncodingCodec */ +/* unused harmony export HttpRequest */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return HttpErrorResponse; }); +/* unused harmony export HttpEventType */ +/* unused harmony export HttpHeaderResponse */ +/* unused harmony export HttpResponse */ +/* unused harmony export HttpResponseBase */ +/* unused harmony export HttpXhrBackend */ +/* unused harmony export XhrFactory */ +/* unused harmony export HttpXsrfTokenExtractor */ +/* unused harmony export ɵa */ +/* unused harmony export ɵb */ +/* unused harmony export ɵc */ +/* unused harmony export ɵd */ +/* unused harmony export ɵg */ +/* unused harmony export ɵh */ +/* unused harmony export ɵe */ +/* unused harmony export ɵf */ +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of__ = __webpack_require__(57); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_operator_concatMap__ = __webpack_require__(584); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_operator_concatMap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_operator_concatMap__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_filter__ = __webpack_require__(586); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_filter___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_operator_filter__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__ = __webpack_require__(265); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_tslib__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__angular_common__ = __webpack_require__(7); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_Observable__ = __webpack_require__(50); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_rxjs_Observable__); +/** + * @license Angular v5.0.3 + * (c) 2010-2017 Google, Inc. https://angular.io/ + * License: MIT + */ + + + + + + + + + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a + * `HttpResponse`. + * + * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the + * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the + * `HttpBackend`. + * + * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain. + * + * \@stable + * @abstract + */ +var HttpHandler = (function () { + function HttpHandler() { + } + return HttpHandler; +}()); +/** + * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend. + * + * Interceptors sit between the `HttpClient` interface and the `HttpBackend`. + * + * When injected, `HttpBackend` dispatches requests directly to the backend, without going + * through the interceptor chain. + * + * \@stable + * @abstract + */ +var HttpBackend = (function () { + function HttpBackend() { + } + return HttpBackend; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * @record + */ +/** + * Immutable set of Http headers, with lazy parsing. + * \@stable + */ +var HttpHeaders = (function () { + function HttpHeaders(headers) { + var _this = this; + /** + * Internal map of lowercased header names to the normalized + * form of the name (the form seen first). + */ + this.normalizedNames = new Map(); + /** + * Queued updates to be materialized the next initialization. + */ + this.lazyUpdate = null; + if (!headers) { + this.headers = new Map(); + } + else if (typeof headers === 'string') { + this.lazyInit = function () { + _this.headers = new Map(); + headers.split('\n').forEach(function (line) { + var /** @type {?} */ index = line.indexOf(':'); + if (index > 0) { + var /** @type {?} */ name_1 = line.slice(0, index); + var /** @type {?} */ key = name_1.toLowerCase(); + var /** @type {?} */ value = line.slice(index + 1).trim(); + _this.maybeSetNormalizedName(name_1, key); + if (_this.headers.has(key)) { + /** @type {?} */ ((_this.headers.get(key))).push(value); + } + else { + _this.headers.set(key, [value]); + } + } + }); + }; + } + else { + this.lazyInit = function () { + _this.headers = new Map(); + Object.keys(headers).forEach(function (name) { + var /** @type {?} */ values = headers[name]; + var /** @type {?} */ key = name.toLowerCase(); + if (typeof values === 'string') { + values = [values]; + } + if (values.length > 0) { + _this.headers.set(key, values); + _this.maybeSetNormalizedName(name, key); + } + }); + }; + } + } + /** + * Checks for existence of header by given name. + */ + /** + * Checks for existence of header by given name. + * @param {?} name + * @return {?} + */ + HttpHeaders.prototype.has = /** + * Checks for existence of header by given name. + * @param {?} name + * @return {?} + */ + function (name) { + this.init(); + return this.headers.has(name.toLowerCase()); + }; + /** + * Returns first header that matches given name. + */ + /** + * Returns first header that matches given name. + * @param {?} name + * @return {?} + */ + HttpHeaders.prototype.get = /** + * Returns first header that matches given name. + * @param {?} name + * @return {?} + */ + function (name) { + this.init(); + var /** @type {?} */ values = this.headers.get(name.toLowerCase()); + return values && values.length > 0 ? values[0] : null; + }; + /** + * Returns the names of the headers + */ + /** + * Returns the names of the headers + * @return {?} + */ + HttpHeaders.prototype.keys = /** + * Returns the names of the headers + * @return {?} + */ + function () { + this.init(); + return Array.from(this.normalizedNames.values()); + }; + /** + * Returns list of header values for a given name. + */ + /** + * Returns list of header values for a given name. + * @param {?} name + * @return {?} + */ + HttpHeaders.prototype.getAll = /** + * Returns list of header values for a given name. + * @param {?} name + * @return {?} + */ + function (name) { + this.init(); + return this.headers.get(name.toLowerCase()) || null; + }; + /** + * @param {?} name + * @param {?} value + * @return {?} + */ + HttpHeaders.prototype.append = /** + * @param {?} name + * @param {?} value + * @return {?} + */ + function (name, value) { + return this.clone({ name: name, value: value, op: 'a' }); + }; + /** + * @param {?} name + * @param {?} value + * @return {?} + */ + HttpHeaders.prototype.set = /** + * @param {?} name + * @param {?} value + * @return {?} + */ + function (name, value) { + return this.clone({ name: name, value: value, op: 's' }); + }; + /** + * @param {?} name + * @param {?=} value + * @return {?} + */ + HttpHeaders.prototype.delete = /** + * @param {?} name + * @param {?=} value + * @return {?} + */ + function (name, value) { + return this.clone({ name: name, value: value, op: 'd' }); + }; + /** + * @param {?} name + * @param {?} lcName + * @return {?} + */ + HttpHeaders.prototype.maybeSetNormalizedName = /** + * @param {?} name + * @param {?} lcName + * @return {?} + */ + function (name, lcName) { + if (!this.normalizedNames.has(lcName)) { + this.normalizedNames.set(lcName, name); + } + }; + /** + * @return {?} + */ + HttpHeaders.prototype.init = /** + * @return {?} + */ + function () { + var _this = this; + if (!!this.lazyInit) { + if (this.lazyInit instanceof HttpHeaders) { + this.copyFrom(this.lazyInit); + } + else { + this.lazyInit(); + } + this.lazyInit = null; + if (!!this.lazyUpdate) { + this.lazyUpdate.forEach(function (update) { return _this.applyUpdate(update); }); + this.lazyUpdate = null; + } + } + }; + /** + * @param {?} other + * @return {?} + */ + HttpHeaders.prototype.copyFrom = /** + * @param {?} other + * @return {?} + */ + function (other) { + var _this = this; + other.init(); + Array.from(other.headers.keys()).forEach(function (key) { + _this.headers.set(key, /** @type {?} */ ((other.headers.get(key)))); + _this.normalizedNames.set(key, /** @type {?} */ ((other.normalizedNames.get(key)))); + }); + }; + /** + * @param {?} update + * @return {?} + */ + HttpHeaders.prototype.clone = /** + * @param {?} update + * @return {?} + */ + function (update) { + var /** @type {?} */ clone = new HttpHeaders(); + clone.lazyInit = + (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this; + clone.lazyUpdate = (this.lazyUpdate || []).concat([update]); + return clone; + }; + /** + * @param {?} update + * @return {?} + */ + HttpHeaders.prototype.applyUpdate = /** + * @param {?} update + * @return {?} + */ + function (update) { + var /** @type {?} */ key = update.name.toLowerCase(); + switch (update.op) { + case 'a': + case 's': + var /** @type {?} */ value = /** @type {?} */ ((update.value)); + if (typeof value === 'string') { + value = [value]; + } + if (value.length === 0) { + return; + } + this.maybeSetNormalizedName(update.name, key); + var /** @type {?} */ base = (update.op === 'a' ? this.headers.get(key) : undefined) || []; + base.push.apply(base, value); + this.headers.set(key, base); + break; + case 'd': + var /** @type {?} */ toDelete_1 = /** @type {?} */ (update.value); + if (!toDelete_1) { + this.headers.delete(key); + this.normalizedNames.delete(key); + } + else { + var /** @type {?} */ existing = this.headers.get(key); + if (!existing) { + return; + } + existing = existing.filter(function (value) { return toDelete_1.indexOf(value) === -1; }); + if (existing.length === 0) { + this.headers.delete(key); + this.normalizedNames.delete(key); + } + else { + this.headers.set(key, existing); + } + } + break; + } + }; + /** + * @internal + */ + /** + * \@internal + * @param {?} fn + * @return {?} + */ + HttpHeaders.prototype.forEach = /** + * \@internal + * @param {?} fn + * @return {?} + */ + function (fn) { + var _this = this; + this.init(); + Array.from(this.normalizedNames.keys()) + .forEach(function (key) { return fn(/** @type {?} */ ((_this.normalizedNames.get(key))), /** @type {?} */ ((_this.headers.get(key)))); }); + }; + return HttpHeaders; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * A codec for encoding and decoding parameters in URLs. + * + * Used by `HttpParams`. + * + * \@stable + * + * @record + */ + +/** + * A `HttpParameterCodec` that uses `encodeURIComponent` and `decodeURIComponent` to + * serialize and parse URL parameter keys and values. + * + * \@stable + */ +var HttpUrlEncodingCodec = (function () { + function HttpUrlEncodingCodec() { + } + /** + * @param {?} k + * @return {?} + */ + HttpUrlEncodingCodec.prototype.encodeKey = /** + * @param {?} k + * @return {?} + */ + function (k) { return standardEncoding(k); }; + /** + * @param {?} v + * @return {?} + */ + HttpUrlEncodingCodec.prototype.encodeValue = /** + * @param {?} v + * @return {?} + */ + function (v) { return standardEncoding(v); }; + /** + * @param {?} k + * @return {?} + */ + HttpUrlEncodingCodec.prototype.decodeKey = /** + * @param {?} k + * @return {?} + */ + function (k) { return decodeURIComponent(k); }; + /** + * @param {?} v + * @return {?} + */ + HttpUrlEncodingCodec.prototype.decodeValue = /** + * @param {?} v + * @return {?} + */ + function (v) { return decodeURIComponent(v); }; + return HttpUrlEncodingCodec; +}()); +/** + * @param {?} rawParams + * @param {?} codec + * @return {?} + */ +function paramParser(rawParams, codec) { + var /** @type {?} */ map$$1 = new Map(); + if (rawParams.length > 0) { + var /** @type {?} */ params = rawParams.split('&'); + params.forEach(function (param) { + var /** @type {?} */ eqIdx = param.indexOf('='); + var _a = eqIdx == -1 ? + [codec.decodeKey(param), ''] : + [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))], key = _a[0], val = _a[1]; + var /** @type {?} */ list = map$$1.get(key) || []; + list.push(val); + map$$1.set(key, list); + }); + } + return map$$1; +} +/** + * @param {?} v + * @return {?} + */ +function standardEncoding(v) { + return encodeURIComponent(v) + .replace(/%40/gi, '@') + .replace(/%3A/gi, ':') + .replace(/%24/gi, '$') + .replace(/%2C/gi, ',') + .replace(/%3B/gi, ';') + .replace(/%2B/gi, '+') + .replace(/%3D/gi, '=') + .replace(/%3F/gi, '?') + .replace(/%2F/gi, '/'); +} +/** + * Options used to construct an `HttpParams` instance. + * @record + */ + +/** + * An HTTP request/response body that represents serialized parameters, + * per the MIME type `application/x-www-form-urlencoded`. + * + * This class is immutable - all mutation operations return a new instance. + * + * \@stable + */ +var HttpParams = (function () { + function HttpParams(options) { + if (options === void 0) { options = /** @type {?} */ ({}); } + var _this = this; + this.updates = null; + this.cloneFrom = null; + this.encoder = options.encoder || new HttpUrlEncodingCodec(); + if (!!options.fromString) { + if (!!options.fromObject) { + throw new Error("Cannot specify both fromString and fromObject."); + } + this.map = paramParser(options.fromString, this.encoder); + } + else if (!!options.fromObject) { + this.map = new Map(); + Object.keys(options.fromObject).forEach(function (key) { + var /** @type {?} */ value = (/** @type {?} */ (options.fromObject))[key]; /** @type {?} */ + ((_this.map)).set(key, Array.isArray(value) ? value : [value]); + }); + } + else { + this.map = null; + } + } + /** + * Check whether the body has one or more values for the given parameter name. + */ + /** + * Check whether the body has one or more values for the given parameter name. + * @param {?} param + * @return {?} + */ + HttpParams.prototype.has = /** + * Check whether the body has one or more values for the given parameter name. + * @param {?} param + * @return {?} + */ + function (param) { + this.init(); + return /** @type {?} */ ((this.map)).has(param); + }; + /** + * Get the first value for the given parameter name, or `null` if it's not present. + */ + /** + * Get the first value for the given parameter name, or `null` if it's not present. + * @param {?} param + * @return {?} + */ + HttpParams.prototype.get = /** + * Get the first value for the given parameter name, or `null` if it's not present. + * @param {?} param + * @return {?} + */ + function (param) { + this.init(); + var /** @type {?} */ res = /** @type {?} */ ((this.map)).get(param); + return !!res ? res[0] : null; + }; + /** + * Get all values for the given parameter name, or `null` if it's not present. + */ + /** + * Get all values for the given parameter name, or `null` if it's not present. + * @param {?} param + * @return {?} + */ + HttpParams.prototype.getAll = /** + * Get all values for the given parameter name, or `null` if it's not present. + * @param {?} param + * @return {?} + */ + function (param) { + this.init(); + return /** @type {?} */ ((this.map)).get(param) || null; + }; + /** + * Get all the parameter names for this body. + */ + /** + * Get all the parameter names for this body. + * @return {?} + */ + HttpParams.prototype.keys = /** + * Get all the parameter names for this body. + * @return {?} + */ + function () { + this.init(); + return Array.from(/** @type {?} */ ((this.map)).keys()); + }; + /** + * Construct a new body with an appended value for the given parameter name. + */ + /** + * Construct a new body with an appended value for the given parameter name. + * @param {?} param + * @param {?} value + * @return {?} + */ + HttpParams.prototype.append = /** + * Construct a new body with an appended value for the given parameter name. + * @param {?} param + * @param {?} value + * @return {?} + */ + function (param, value) { return this.clone({ param: param, value: value, op: 'a' }); }; + /** + * Construct a new body with a new value for the given parameter name. + */ + /** + * Construct a new body with a new value for the given parameter name. + * @param {?} param + * @param {?} value + * @return {?} + */ + HttpParams.prototype.set = /** + * Construct a new body with a new value for the given parameter name. + * @param {?} param + * @param {?} value + * @return {?} + */ + function (param, value) { return this.clone({ param: param, value: value, op: 's' }); }; + /** + * Construct a new body with either the given value for the given parameter + * removed, if a value is given, or all values for the given parameter removed + * if not. + */ + /** + * Construct a new body with either the given value for the given parameter + * removed, if a value is given, or all values for the given parameter removed + * if not. + * @param {?} param + * @param {?=} value + * @return {?} + */ + HttpParams.prototype.delete = /** + * Construct a new body with either the given value for the given parameter + * removed, if a value is given, or all values for the given parameter removed + * if not. + * @param {?} param + * @param {?=} value + * @return {?} + */ + function (param, value) { return this.clone({ param: param, value: value, op: 'd' }); }; + /** + * Serialize the body to an encoded string, where key-value pairs (separated by `=`) are + * separated by `&`s. + */ + /** + * Serialize the body to an encoded string, where key-value pairs (separated by `=`) are + * separated by `&`s. + * @return {?} + */ + HttpParams.prototype.toString = /** + * Serialize the body to an encoded string, where key-value pairs (separated by `=`) are + * separated by `&`s. + * @return {?} + */ + function () { + var _this = this; + this.init(); + return this.keys() + .map(function (key) { + var /** @type {?} */ eKey = _this.encoder.encodeKey(key); + return /** @type {?} */ ((/** @type {?} */ ((_this.map)).get(key))).map(function (value) { return eKey + '=' + _this.encoder.encodeValue(value); }).join('&'); + }) + .join('&'); + }; + /** + * @param {?} update + * @return {?} + */ + HttpParams.prototype.clone = /** + * @param {?} update + * @return {?} + */ + function (update) { + var /** @type {?} */ clone = new HttpParams(/** @type {?} */ ({ encoder: this.encoder })); + clone.cloneFrom = this.cloneFrom || this; + clone.updates = (this.updates || []).concat([update]); + return clone; + }; + /** + * @return {?} + */ + HttpParams.prototype.init = /** + * @return {?} + */ + function () { + var _this = this; + if (this.map === null) { + this.map = new Map(); + } + if (this.cloneFrom !== null) { + this.cloneFrom.init(); + this.cloneFrom.keys().forEach(function (key) { return /** @type {?} */ ((_this.map)).set(key, /** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ ((_this.cloneFrom)).map)).get(key)))); }); /** @type {?} */ + ((this.updates)).forEach(function (update) { + switch (update.op) { + case 'a': + case 's': + var /** @type {?} */ base = (update.op === 'a' ? /** @type {?} */ ((_this.map)).get(update.param) : undefined) || []; + base.push(/** @type {?} */ ((update.value))); /** @type {?} */ + ((_this.map)).set(update.param, base); + break; + case 'd': + if (update.value !== undefined) { + var /** @type {?} */ base_1 = /** @type {?} */ ((_this.map)).get(update.param) || []; + var /** @type {?} */ idx = base_1.indexOf(update.value); + if (idx !== -1) { + base_1.splice(idx, 1); + } + if (base_1.length > 0) { + /** @type {?} */ ((_this.map)).set(update.param, base_1); + } + else { + /** @type {?} */ ((_this.map)).delete(update.param); + } + } + else { + /** @type {?} */ ((_this.map)).delete(update.param); + break; + } + } + }); + this.cloneFrom = null; + } + }; + return HttpParams; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * Determine whether the given HTTP method may include a body. + * @param {?} method + * @return {?} + */ +function mightHaveBody(method) { + switch (method) { + case 'DELETE': + case 'GET': + case 'HEAD': + case 'OPTIONS': + case 'JSONP': + return false; + default: + return true; + } +} +/** + * Safely assert whether the given value is an ArrayBuffer. + * + * In some execution environments ArrayBuffer is not defined. + * @param {?} value + * @return {?} + */ +function isArrayBuffer(value) { + return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer; +} +/** + * Safely assert whether the given value is a Blob. + * + * In some execution environments Blob is not defined. + * @param {?} value + * @return {?} + */ +function isBlob(value) { + return typeof Blob !== 'undefined' && value instanceof Blob; +} +/** + * Safely assert whether the given value is a FormData instance. + * + * In some execution environments FormData is not defined. + * @param {?} value + * @return {?} + */ +function isFormData(value) { + return typeof FormData !== 'undefined' && value instanceof FormData; +} +/** + * An outgoing HTTP request with an optional typed body. + * + * `HttpRequest` represents an outgoing request, including URL, method, + * headers, body, and other request configuration options. Instances should be + * assumed to be immutable. To modify a `HttpRequest`, the `clone` + * method should be used. + * + * \@stable + */ +var HttpRequest = (function () { + function HttpRequest(method, url, third, fourth) { + this.url = url; + /** + * The request body, or `null` if one isn't set. + * + * Bodies are not enforced to be immutable, as they can include a reference to any + * user-defined data type. However, interceptors should take care to preserve + * idempotence by treating them as such. + */ + this.body = null; + /** + * Whether this request should be made in a way that exposes progress events. + * + * Progress events are expensive (change detection runs on each event) and so + * they should only be requested if the consumer intends to monitor them. + */ + this.reportProgress = false; + /** + * Whether this request should be sent with outgoing credentials (cookies). + */ + this.withCredentials = false; + /** + * The expected response type of the server. + * + * This is used to parse the response appropriately before returning it to + * the requestee. + */ + this.responseType = 'json'; + this.method = method.toUpperCase(); + // Next, need to figure out which argument holds the HttpRequestInit + // options, if any. + var /** @type {?} */ options; + // Check whether a body argument is expected. The only valid way to omit + // the body argument is to use a known no-body method like GET. + if (mightHaveBody(this.method) || !!fourth) { + // Body is the third argument, options are the fourth. + this.body = /** @type {?} */ (third) || null; + options = fourth; + } + else { + // No body required, options are the third argument. The body stays null. + options = /** @type {?} */ (third); + } + // If options have been passed, interpret them. + if (options) { + // Normalize reportProgress and withCredentials. + this.reportProgress = !!options.reportProgress; + this.withCredentials = !!options.withCredentials; + // Override default response type of 'json' if one is provided. + if (!!options.responseType) { + this.responseType = options.responseType; + } + // Override headers if they're provided. + if (!!options.headers) { + this.headers = options.headers; + } + if (!!options.params) { + this.params = options.params; + } + } + // If no headers have been passed in, construct a new HttpHeaders instance. + if (!this.headers) { + this.headers = new HttpHeaders(); + } + // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance. + if (!this.params) { + this.params = new HttpParams(); + this.urlWithParams = url; + } + else { + // Encode the parameters to a string in preparation for inclusion in the URL. + var /** @type {?} */ params = this.params.toString(); + if (params.length === 0) { + // No parameters, the visible URL is just the URL given at creation time. + this.urlWithParams = url; + } + else { + // Does the URL already have query parameters? Look for '?'. + var /** @type {?} */ qIdx = url.indexOf('?'); + // There are 3 cases to handle: + // 1) No existing parameters -> append '?' followed by params. + // 2) '?' exists and is followed by existing query string -> + // append '&' followed by params. + // 3) '?' exists at the end of the url -> append params directly. + // This basically amounts to determining the character, if any, with + // which to join the URL and parameters. + var /** @type {?} */ sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : ''); + this.urlWithParams = url + sep + params; + } + } + } + /** + * Transform the free-form body into a serialized format suitable for + * transmission to the server. + */ + /** + * Transform the free-form body into a serialized format suitable for + * transmission to the server. + * @return {?} + */ + HttpRequest.prototype.serializeBody = /** + * Transform the free-form body into a serialized format suitable for + * transmission to the server. + * @return {?} + */ + function () { + // If no body is present, no need to serialize it. + if (this.body === null) { + return null; + } + // Check whether the body is already in a serialized form. If so, + // it can just be returned directly. + if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) || + typeof this.body === 'string') { + return this.body; + } + // Check whether the body is an instance of HttpUrlEncodedParams. + if (this.body instanceof HttpParams) { + return this.body.toString(); + } + // Check whether the body is an object or array, and serialize with JSON if so. + if (typeof this.body === 'object' || typeof this.body === 'boolean' || + Array.isArray(this.body)) { + return JSON.stringify(this.body); + } + // Fall back on toString() for everything else. + return (/** @type {?} */ (this.body)).toString(); + }; + /** + * Examine the body and attempt to infer an appropriate MIME type + * for it. + * + * If no such type can be inferred, this method will return `null`. + */ + /** + * Examine the body and attempt to infer an appropriate MIME type + * for it. + * + * If no such type can be inferred, this method will return `null`. + * @return {?} + */ + HttpRequest.prototype.detectContentTypeHeader = /** + * Examine the body and attempt to infer an appropriate MIME type + * for it. + * + * If no such type can be inferred, this method will return `null`. + * @return {?} + */ + function () { + // An empty body has no content type. + if (this.body === null) { + return null; + } + // FormData bodies rely on the browser's content type assignment. + if (isFormData(this.body)) { + return null; + } + // Blobs usually have their own content type. If it doesn't, then + // no type can be inferred. + if (isBlob(this.body)) { + return this.body.type || null; + } + // Array buffers have unknown contents and thus no type can be inferred. + if (isArrayBuffer(this.body)) { + return null; + } + // Technically, strings could be a form of JSON data, but it's safe enough + // to assume they're plain strings. + if (typeof this.body === 'string') { + return 'text/plain'; + } + // `HttpUrlEncodedParams` has its own content-type. + if (this.body instanceof HttpParams) { + return 'application/x-www-form-urlencoded;charset=UTF-8'; + } + // Arrays, objects, and numbers will be encoded as JSON. + if (typeof this.body === 'object' || typeof this.body === 'number' || + Array.isArray(this.body)) { + return 'application/json'; + } + // No type could be inferred. + return null; + }; + /** + * @param {?=} update + * @return {?} + */ + HttpRequest.prototype.clone = /** + * @param {?=} update + * @return {?} + */ + function (update) { + if (update === void 0) { update = {}; } + // For method, url, and responseType, take the current value unless + // it is overridden in the update hash. + var /** @type {?} */ method = update.method || this.method; + var /** @type {?} */ url = update.url || this.url; + var /** @type {?} */ responseType = update.responseType || this.responseType; + // The body is somewhat special - a `null` value in update.body means + // whatever current body is present is being overridden with an empty + // body, whereas an `undefined` value in update.body implies no + // override. + var /** @type {?} */ body = (update.body !== undefined) ? update.body : this.body; + // Carefully handle the boolean options to differentiate between + // `false` and `undefined` in the update args. + var /** @type {?} */ withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials; + var /** @type {?} */ reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress; + // Headers and params may be appended to if `setHeaders` or + // `setParams` are used. + var /** @type {?} */ headers = update.headers || this.headers; + var /** @type {?} */ params = update.params || this.params; + // Check whether the caller has asked to add headers. + if (update.setHeaders !== undefined) { + // Set every requested header. + headers = + Object.keys(update.setHeaders) + .reduce(function (headers, name) { return headers.set(name, /** @type {?} */ ((update.setHeaders))[name]); }, headers); + } + // Check whether the caller has asked to set params. + if (update.setParams) { + // Set every requested param. + params = Object.keys(update.setParams) + .reduce(function (params, param) { return params.set(param, /** @type {?} */ ((update.setParams))[param]); }, params); + } + // Finally, construct the new HttpRequest using the pieces from above. + return new HttpRequest(method, url, body, { + params: params, headers: headers, reportProgress: reportProgress, responseType: responseType, withCredentials: withCredentials, + }); + }; + return HttpRequest; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** @enum {number} */ +var HttpEventType = { + /** + * The request was sent out over the wire. + */ + Sent: 0, + /** + * An upload progress event was received. + */ + UploadProgress: 1, + /** + * The response status code and headers were received. + */ + ResponseHeader: 2, + /** + * A download progress event was received. + */ + DownloadProgress: 3, + /** + * The full response including the body was received. + */ + Response: 4, + /** + * A custom event from an interceptor or a backend. + */ + User: 5, +}; +HttpEventType[HttpEventType.Sent] = "Sent"; +HttpEventType[HttpEventType.UploadProgress] = "UploadProgress"; +HttpEventType[HttpEventType.ResponseHeader] = "ResponseHeader"; +HttpEventType[HttpEventType.DownloadProgress] = "DownloadProgress"; +HttpEventType[HttpEventType.Response] = "Response"; +HttpEventType[HttpEventType.User] = "User"; +/** + * Base interface for progress events. + * + * \@stable + * @record + */ + +/** + * A download progress event. + * + * \@stable + * @record + */ + +/** + * An upload progress event. + * + * \@stable + * @record + */ + +/** + * An event indicating that the request was sent to the server. Useful + * when a request may be retried multiple times, to distinguish between + * retries on the final event stream. + * + * \@stable + * @record + */ + +/** + * A user-defined event. + * + * Grouping all custom events under this type ensures they will be handled + * and forwarded by all implementations of interceptors. + * + * \@stable + * @record + */ + +/** + * An error that represents a failed attempt to JSON.parse text coming back + * from the server. + * + * It bundles the Error object with the actual response body that failed to parse. + * + * \@stable + * @record + */ + +/** + * Base class for both `HttpResponse` and `HttpHeaderResponse`. + * + * \@stable + * @abstract + */ +var HttpResponseBase = (function () { + /** + * Super-constructor for all responses. + * + * The single parameter accepted is an initialization hash. Any properties + * of the response passed there will override the default values. + */ + function HttpResponseBase(init, defaultStatus, defaultStatusText) { + if (defaultStatus === void 0) { defaultStatus = 200; } + if (defaultStatusText === void 0) { defaultStatusText = 'OK'; } + // If the hash has values passed, use them to initialize the response. + // Otherwise use the default values. + this.headers = init.headers || new HttpHeaders(); + this.status = init.status !== undefined ? init.status : defaultStatus; + this.statusText = init.statusText || defaultStatusText; + this.url = init.url || null; + // Cache the ok value to avoid defining a getter. + this.ok = this.status >= 200 && this.status < 300; + } + return HttpResponseBase; +}()); +/** + * A partial HTTP response which only includes the status and header data, + * but no response body. + * + * `HttpHeaderResponse` is a `HttpEvent` available on the response + * event stream, only when progress events are requested. + * + * \@stable + */ +var HttpHeaderResponse = (function (_super) { + Object(__WEBPACK_IMPORTED_MODULE_5_tslib__["b" /* __extends */])(HttpHeaderResponse, _super); + /** + * Create a new `HttpHeaderResponse` with the given parameters. + */ + function HttpHeaderResponse(init) { + if (init === void 0) { init = {}; } + var _this = _super.call(this, init) || this; + _this.type = HttpEventType.ResponseHeader; + return _this; + } + /** + * Copy this `HttpHeaderResponse`, overriding its contents with the + * given parameter hash. + */ + /** + * Copy this `HttpHeaderResponse`, overriding its contents with the + * given parameter hash. + * @param {?=} update + * @return {?} + */ + HttpHeaderResponse.prototype.clone = /** + * Copy this `HttpHeaderResponse`, overriding its contents with the + * given parameter hash. + * @param {?=} update + * @return {?} + */ + function (update) { + if (update === void 0) { update = {}; } + // Perform a straightforward initialization of the new HttpHeaderResponse, + // overriding the current parameters with new ones if given. + return new HttpHeaderResponse({ + headers: update.headers || this.headers, + status: update.status !== undefined ? update.status : this.status, + statusText: update.statusText || this.statusText, + url: update.url || this.url || undefined, + }); + }; + return HttpHeaderResponse; +}(HttpResponseBase)); +/** + * A full HTTP response, including a typed response body (which may be `null` + * if one was not returned). + * + * `HttpResponse` is a `HttpEvent` available on the response event + * stream. + * + * \@stable + */ +var HttpResponse = (function (_super) { + Object(__WEBPACK_IMPORTED_MODULE_5_tslib__["b" /* __extends */])(HttpResponse, _super); + /** + * Construct a new `HttpResponse`. + */ + function HttpResponse(init) { + if (init === void 0) { init = {}; } + var _this = _super.call(this, init) || this; + _this.type = HttpEventType.Response; + _this.body = init.body || null; + return _this; + } + /** + * @param {?=} update + * @return {?} + */ + HttpResponse.prototype.clone = /** + * @param {?=} update + * @return {?} + */ + function (update) { + if (update === void 0) { update = {}; } + return new HttpResponse({ + body: (update.body !== undefined) ? update.body : this.body, + headers: update.headers || this.headers, + status: (update.status !== undefined) ? update.status : this.status, + statusText: update.statusText || this.statusText, + url: update.url || this.url || undefined, + }); + }; + return HttpResponse; +}(HttpResponseBase)); +/** + * A response that represents an error or failure, either from a + * non-successful HTTP status, an error while executing the request, + * or some other failure which occurred during the parsing of the response. + * + * Any error returned on the `Observable` response stream will be + * wrapped in an `HttpErrorResponse` to provide additional context about + * the state of the HTTP layer when the error occurred. The error property + * will contain either a wrapped Error object or the error response returned + * from the server. + * + * \@stable + */ +var HttpErrorResponse = (function (_super) { + Object(__WEBPACK_IMPORTED_MODULE_5_tslib__["b" /* __extends */])(HttpErrorResponse, _super); + function HttpErrorResponse(init) { + var _this = + // Initialize with a default status of 0 / Unknown Error. + _super.call(this, init, 0, 'Unknown Error') || this; + _this.name = 'HttpErrorResponse'; + /** + * Errors are never okay, even when the status code is in the 2xx success range. + */ + _this.ok = false; + // If the response was successful, then this was a parse error. Otherwise, it was + // a protocol-level failure of some sort. Either the request failed in transit + // or the server returned an unsuccessful status code. + if (_this.status >= 200 && _this.status < 300) { + _this.message = "Http failure during parsing for " + (init.url || '(unknown url)'); + } + else { + _this.message = + "Http failure response for " + (init.url || '(unknown url)') + ": " + init.status + " " + init.statusText; + } + _this.error = init.error || null; + return _this; + } + return HttpErrorResponse; +}(HttpResponseBase)); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * Construct an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and + * the given `body`. Basically, this clones the object and adds the body. + * @template T + * @param {?} options + * @param {?} body + * @return {?} + */ +function addBody(options, body) { + return { + body: body, + headers: options.headers, + observe: options.observe, + params: options.params, + reportProgress: options.reportProgress, + responseType: options.responseType, + withCredentials: options.withCredentials, + }; +} +/** + * Perform HTTP requests. + * + * `HttpClient` is available as an injectable class, with methods to perform HTTP requests. + * Each request method has multiple signatures, and the return type varies according to which + * signature is called (mainly the values of `observe` and `responseType`). + * + * \@stable + */ +var HttpClient = (function () { + function HttpClient(handler) { + this.handler = handler; + } + /** + * Constructs an `Observable` for a particular HTTP request that, when subscribed, + * fires the request through the chain of registered interceptors and on to the + * server. + * + * This method can be called in one of two ways. Either an `HttpRequest` + * instance can be passed directly as the only parameter, or a method can be + * passed as the first parameter, a string URL as the second, and an + * options hash as the third. + * + * If a `HttpRequest` object is passed directly, an `Observable` of the + * raw `HttpEvent` stream will be returned. + * + * If a request is instead built by providing a URL, the options object + * determines the return type of `request()`. In addition to configuring + * request parameters such as the outgoing headers and/or the body, the options + * hash specifies two key pieces of information about the request: the + * `responseType` and what to `observe`. + * + * The `responseType` value determines how a successful response body will be + * parsed. If `responseType` is the default `json`, a type interface for the + * resulting object may be passed as a type parameter to `request()`. + * + * The `observe` value determines the return type of `request()`, based on what + * the consumer is interested in observing. A value of `events` will return an + * `Observable` representing the raw `HttpEvent` stream, + * including progress events by default. A value of `response` will return an + * `Observable>` where the `T` parameter of `HttpResponse` + * depends on the `responseType` and any optionally provided type parameter. + * A value of `body` will return an `Observable` with the same `T` body type. + */ + /** + * Constructs an `Observable` for a particular HTTP request that, when subscribed, + * fires the request through the chain of registered interceptors and on to the + * server. + * + * This method can be called in one of two ways. Either an `HttpRequest` + * instance can be passed directly as the only parameter, or a method can be + * passed as the first parameter, a string URL as the second, and an + * options hash as the third. + * + * If a `HttpRequest` object is passed directly, an `Observable` of the + * raw `HttpEvent` stream will be returned. + * + * If a request is instead built by providing a URL, the options object + * determines the return type of `request()`. In addition to configuring + * request parameters such as the outgoing headers and/or the body, the options + * hash specifies two key pieces of information about the request: the + * `responseType` and what to `observe`. + * + * The `responseType` value determines how a successful response body will be + * parsed. If `responseType` is the default `json`, a type interface for the + * resulting object may be passed as a type parameter to `request()`. + * + * The `observe` value determines the return type of `request()`, based on what + * the consumer is interested in observing. A value of `events` will return an + * `Observable` representing the raw `HttpEvent` stream, + * including progress events by default. A value of `response` will return an + * `Observable>` where the `T` parameter of `HttpResponse` + * depends on the `responseType` and any optionally provided type parameter. + * A value of `body` will return an `Observable` with the same `T` body type. + * @param {?} first + * @param {?=} url + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.request = /** + * Constructs an `Observable` for a particular HTTP request that, when subscribed, + * fires the request through the chain of registered interceptors and on to the + * server. + * + * This method can be called in one of two ways. Either an `HttpRequest` + * instance can be passed directly as the only parameter, or a method can be + * passed as the first parameter, a string URL as the second, and an + * options hash as the third. + * + * If a `HttpRequest` object is passed directly, an `Observable` of the + * raw `HttpEvent` stream will be returned. + * + * If a request is instead built by providing a URL, the options object + * determines the return type of `request()`. In addition to configuring + * request parameters such as the outgoing headers and/or the body, the options + * hash specifies two key pieces of information about the request: the + * `responseType` and what to `observe`. + * + * The `responseType` value determines how a successful response body will be + * parsed. If `responseType` is the default `json`, a type interface for the + * resulting object may be passed as a type parameter to `request()`. + * + * The `observe` value determines the return type of `request()`, based on what + * the consumer is interested in observing. A value of `events` will return an + * `Observable` representing the raw `HttpEvent` stream, + * including progress events by default. A value of `response` will return an + * `Observable>` where the `T` parameter of `HttpResponse` + * depends on the `responseType` and any optionally provided type parameter. + * A value of `body` will return an `Observable` with the same `T` body type. + * @param {?} first + * @param {?=} url + * @param {?=} options + * @return {?} + */ + function (first, url, options) { + var _this = this; + if (options === void 0) { options = {}; } + var /** @type {?} */ req; + // Firstly, check whether the primary argument is an instance of `HttpRequest`. + if (first instanceof HttpRequest) { + // It is. The other arguments must be undefined (per the signatures) and can be + // ignored. + req = /** @type {?} */ (first); + } + else { + // It's a string, so it represents a URL. Construct a request based on it, + // and incorporate the remaining arguments (assuming GET unless a method is + // provided. + // Figure out the headers. + var /** @type {?} */ headers = undefined; + if (!!options.headers !== undefined) { + if (options.headers instanceof HttpHeaders) { + headers = options.headers; + } + else { + headers = new HttpHeaders(options.headers); + } + } + // Sort out parameters. + var /** @type {?} */ params = undefined; + if (!!options.params) { + if (options.params instanceof HttpParams) { + params = options.params; + } + else { + params = new HttpParams(/** @type {?} */ ({ fromObject: options.params })); + } + } + // Construct the request. + req = new HttpRequest(first, /** @type {?} */ ((url)), options.body || null, { + headers: headers, + params: params, + reportProgress: options.reportProgress, + // By default, JSON is assumed to be returned for all calls. + responseType: options.responseType || 'json', + withCredentials: options.withCredentials, + }); + } + // Start with an Observable.of() the initial request, and run the handler (which + // includes all interceptors) inside a concatMap(). This way, the handler runs + // inside an Observable chain, which causes interceptors to be re-run on every + // subscription (this also makes retries re-run the handler, including interceptors). + var /** @type {?} */ events$ = __WEBPACK_IMPORTED_MODULE_2_rxjs_operator_concatMap__["concatMap"].call(Object(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of__["of"])(req), function (req) { return _this.handler.handle(req); }); + // If coming via the API signature which accepts a previously constructed HttpRequest, + // the only option is to get the event stream. Otherwise, return the event stream if + // that is what was requested. + if (first instanceof HttpRequest || options.observe === 'events') { + return events$; + } + // The requested stream contains either the full response or the body. In either + // case, the first step is to filter the event stream to extract a stream of + // responses(s). + var /** @type {?} */ res$ = __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_filter__["filter"].call(events$, function (event) { return event instanceof HttpResponse; }); + // Decide which stream to return. + switch (options.observe || 'body') { + case 'body': + // The requested stream is the body. Map the response stream to the response + // body. This could be done more simply, but a misbehaving interceptor might + // transform the response body into a different format and ignore the requested + // responseType. Guard against this by validating that the response is of the + // requested type. + switch (req.responseType) { + case 'arraybuffer': + return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__["map"].call(res$, function (res) { + // Validate that the body is an ArrayBuffer. + if (res.body !== null && !(res.body instanceof ArrayBuffer)) { + throw new Error('Response is not an ArrayBuffer.'); + } + return res.body; + }); + case 'blob': + return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__["map"].call(res$, function (res) { + // Validate that the body is a Blob. + if (res.body !== null && !(res.body instanceof Blob)) { + throw new Error('Response is not a Blob.'); + } + return res.body; + }); + case 'text': + return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__["map"].call(res$, function (res) { + // Validate that the body is a string. + if (res.body !== null && typeof res.body !== 'string') { + throw new Error('Response is not a string.'); + } + return res.body; + }); + case 'json': + default: + // No validation needed for JSON responses, as they can be of any type. + return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_map__["map"].call(res$, function (res) { return res.body; }); + } + case 'response': + // The response stream was requested directly, so return it. + return res$; + default: + // Guard against new future observe types being added. + throw new Error("Unreachable: unhandled observe type " + options.observe + "}"); + } + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * DELETE request to be executed on the server. See the individual overloads for + * details of `delete()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * DELETE request to be executed on the server. See the individual overloads for + * details of `delete()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.delete = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * DELETE request to be executed on the server. See the individual overloads for + * details of `delete()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + function (url, options) { + if (options === void 0) { options = {}; } + return this.request('DELETE', url, /** @type {?} */ (options)); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * GET request to be executed on the server. See the individual overloads for + * details of `get()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * GET request to be executed on the server. See the individual overloads for + * details of `get()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.get = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * GET request to be executed on the server. See the individual overloads for + * details of `get()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + function (url, options) { + if (options === void 0) { options = {}; } + return this.request('GET', url, /** @type {?} */ (options)); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * HEAD request to be executed on the server. See the individual overloads for + * details of `head()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * HEAD request to be executed on the server. See the individual overloads for + * details of `head()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.head = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * HEAD request to be executed on the server. See the individual overloads for + * details of `head()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + function (url, options) { + if (options === void 0) { options = {}; } + return this.request('HEAD', url, /** @type {?} */ (options)); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause a request + * with the special method `JSONP` to be dispatched via the interceptor pipeline. + * + * A suitable interceptor must be installed (e.g. via the `HttpClientJsonpModule`). + * If no such interceptor is reached, then the `JSONP` request will likely be + * rejected by the configured backend. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause a request + * with the special method `JSONP` to be dispatched via the interceptor pipeline. + * + * A suitable interceptor must be installed (e.g. via the `HttpClientJsonpModule`). + * If no such interceptor is reached, then the `JSONP` request will likely be + * rejected by the configured backend. + * @template T + * @param {?} url + * @param {?} callbackParam + * @return {?} + */ + HttpClient.prototype.jsonp = /** + * Constructs an `Observable` which, when subscribed, will cause a request + * with the special method `JSONP` to be dispatched via the interceptor pipeline. + * + * A suitable interceptor must be installed (e.g. via the `HttpClientJsonpModule`). + * If no such interceptor is reached, then the `JSONP` request will likely be + * rejected by the configured backend. + * @template T + * @param {?} url + * @param {?} callbackParam + * @return {?} + */ + function (url, callbackParam) { + return this.request('JSONP', url, { + params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'), + observe: 'body', + responseType: 'json', + }); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * OPTIONS request to be executed on the server. See the individual overloads for + * details of `options()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * OPTIONS request to be executed on the server. See the individual overloads for + * details of `options()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.options = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * OPTIONS request to be executed on the server. See the individual overloads for + * details of `options()`'s return type based on the provided options. + * @param {?} url + * @param {?=} options + * @return {?} + */ + function (url, options) { + if (options === void 0) { options = {}; } + return this.request('OPTIONS', url, /** @type {?} */ (options)); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * PATCH request to be executed on the server. See the individual overloads for + * details of `patch()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * PATCH request to be executed on the server. See the individual overloads for + * details of `patch()`'s return type based on the provided options. + * @param {?} url + * @param {?} body + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.patch = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * PATCH request to be executed on the server. See the individual overloads for + * details of `patch()`'s return type based on the provided options. + * @param {?} url + * @param {?} body + * @param {?=} options + * @return {?} + */ + function (url, body, options) { + if (options === void 0) { options = {}; } + return this.request('PATCH', url, addBody(options, body)); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * POST request to be executed on the server. See the individual overloads for + * details of `post()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * POST request to be executed on the server. See the individual overloads for + * details of `post()`'s return type based on the provided options. + * @param {?} url + * @param {?} body + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.post = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * POST request to be executed on the server. See the individual overloads for + * details of `post()`'s return type based on the provided options. + * @param {?} url + * @param {?} body + * @param {?=} options + * @return {?} + */ + function (url, body, options) { + if (options === void 0) { options = {}; } + return this.request('POST', url, addBody(options, body)); + }; + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * POST request to be executed on the server. See the individual overloads for + * details of `post()`'s return type based on the provided options. + */ + /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * POST request to be executed on the server. See the individual overloads for + * details of `post()`'s return type based on the provided options. + * @param {?} url + * @param {?} body + * @param {?=} options + * @return {?} + */ + HttpClient.prototype.put = /** + * Constructs an `Observable` which, when subscribed, will cause the configured + * POST request to be executed on the server. See the individual overloads for + * details of `post()`'s return type based on the provided options. + * @param {?} url + * @param {?} body + * @param {?=} options + * @return {?} + */ + function (url, body, options) { + if (options === void 0) { options = {}; } + return this.request('PUT', url, addBody(options, body)); + }; + HttpClient.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */] }, + ]; + /** @nocollapse */ + HttpClient.ctorParameters = function () { return [ + { type: HttpHandler, }, + ]; }; + return HttpClient; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * Intercepts `HttpRequest` and handles them. + * + * Most interceptors will transform the outgoing request before passing it to the + * next interceptor in the chain, by calling `next.handle(transformedReq)`. + * + * In rare cases, interceptors may wish to completely handle a request themselves, + * and not delegate to the remainder of the chain. This behavior is allowed. + * + * \@stable + * @record + */ + +/** + * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`. + * + * \@stable + */ +var HttpInterceptorHandler = (function () { + function HttpInterceptorHandler(next, interceptor) { + this.next = next; + this.interceptor = interceptor; + } + /** + * @param {?} req + * @return {?} + */ + HttpInterceptorHandler.prototype.handle = /** + * @param {?} req + * @return {?} + */ + function (req) { + return this.interceptor.intercept(req, this.next); + }; + return HttpInterceptorHandler; +}()); +/** + * A multi-provider token which represents the array of `HttpInterceptor`s that + * are registered. + * + * \@stable + */ +var HTTP_INTERCEPTORS = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["C" /* InjectionToken */]('HTTP_INTERCEPTORS'); +var NoopInterceptor = (function () { + function NoopInterceptor() { + } + /** + * @param {?} req + * @param {?} next + * @return {?} + */ + NoopInterceptor.prototype.intercept = /** + * @param {?} req + * @param {?} next + * @return {?} + */ + function (req, next) { + return next.handle(req); + }; + NoopInterceptor.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */] }, + ]; + /** @nocollapse */ + NoopInterceptor.ctorParameters = function () { return []; }; + return NoopInterceptor; +}()); + +/** + * @fileoverview added by tsickle + * @suppress {checkTypes} checked by tsc + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +// Every request made through JSONP needs a callback name that's unique across the +// whole page. Each request is assigned an id and the callback name is constructed +// from that. The next id to be assigned is tracked in a global variable here that +// is shared among all applications on the page. +var nextRequestId = 0; +// Error text given when a JSONP script is injected, but doesn't invoke the callback +// passed in its URL. +var JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.'; +// Error text given when a request is passed to the JsonpClientBackend that doesn't +// have a request method JSONP. +var JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.'; +var JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.'; +/** + * DI token/abstract type representing a map of JSONP callbacks. + * + * In the browser, this should always be the `window` object. + * + * \@stable + * @abstract + */ +var JsonpCallbackContext = (function () { + function JsonpCallbackContext() { + } + return JsonpCallbackContext; +}()); +/** + * `HttpBackend` that only processes `HttpRequest` with the JSONP method, + * by performing JSONP style requests. + * + * \@stable + */ +var JsonpClientBackend = (function () { + function JsonpClientBackend(callbackMap, document) { + this.callbackMap = callbackMap; + this.document = document; + } + /** + * Get the name of the next callback method, by incrementing the global `nextRequestId`. + * @return {?} + */ + JsonpClientBackend.prototype.nextCallback = /** + * Get the name of the next callback method, by incrementing the global `nextRequestId`. + * @return {?} + */ + function () { return "ng_jsonp_callback_" + nextRequestId++; }; + /** + * Process a JSONP request and return an event stream of the results. + */ + /** + * Process a JSONP request and return an event stream of the results. + * @param {?} req + * @return {?} + */ + JsonpClientBackend.prototype.handle = /** + * Process a JSONP request and return an event stream of the results. + * @param {?} req + * @return {?} + */ + function (req) { + var _this = this; + // Firstly, check both the method and response type. If either doesn't match + // then the request was improperly routed here and cannot be handled. + if (req.method !== 'JSONP') { + throw new Error(JSONP_ERR_WRONG_METHOD); + } + else if (req.responseType !== 'json') { + throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE); + } + // Everything else happens inside the Observable boundary. + return new __WEBPACK_IMPORTED_MODULE_7_rxjs_Observable__["Observable"](function (observer) { + // The first step to make a request is to generate the callback name, and replace the + // callback placeholder in the URL with the name. Care has to be taken here to ensure + // a trailing &, if matched, gets inserted back into the URL in the correct place. + var /** @type {?} */ callback = _this.nextCallback(); + var /** @type {?} */ url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, "=" + callback + "$1"); + // Construct the